Ubuntu下编译Linux内核常见错误总结

Ubuntu下编译Linux内核常见错误总结

最近在做linux内核分析课程的大作业,涉及到了内核的编译,遇见了不少问题,这里做一个整理总结。

● 编译内核执行make menuconfig命令时提示错误fatal error: curses.h: 没有那个文件或目录

原因:缺少因为ubuntu系统中缺少一个套件 ncurses devel ,把此套件安装下即可
解决方案:执行命令sudo apt-get install libncurses5-dev libssl-dev

● 编译内核执行make menuconfig命令时提示错误fatal error:openssl/opensslv.h: 没有那个文件或目录

原因:也是因为ubuntu系统中缺少对应的ssl套件
解决方案:执行命令sudo apt-get install build-essential openssl

● 编译内核执行make menuconfig命令时提示错误/bin/sh : 1 : flex: not found

原因:没有安装flex和bison编译工具
解决方案:执行命令sudo apt-get install flex bison

这类错误都是因为缺乏各种组件,因此建议在编译内核前先执行下列命令,做好环境配置准备。

sudo apt-get update

sudo apt-get install libncurses5-dev libssl-dev

sudo apt-get install build-essential openssl

sudo apt-get install flex bison

● 无法拷贝或者剪切文件夹到其他目录,提示没有权限

原因:计算机里很多文件夹,只有root用户有权限对其进行操作。
解决方案:使用nautilus文件管理工具,便可以以root权限进行操作。

sudo nautilus

● 对内核的文件都没有修改权限,使用强制保存命令:wq!也无效

原因:缺乏权限对文件进行读写操作。
解决方案:使用chmod命令修改文件权限(666代表所有用户都有文件读、写权限)。

sudo chmod 666 文件名

● 使用apt-get install命令安装软件时提示“更换介质,请把标有xxx的盘片插入驱动器再按回车键”

原因:看提示应该是缺乏光驱,我也是突然出现的这个错误
解决方案:在计算机中找到目录/etc/apt/sources.list,右键选择使用其他程序,用文本编辑器打开sources.list,注释掉第一行(deb cdrom:开头的),就是在它前面加一个#,变成

#deb cdrom:…

● 编译内核时提示错误cc1: error: code model kernel does not support PIC mode

原因:看提示应该是不支持PIC模型,具体我也不太清楚
解决方案:在内核文件下找到Makefile文件,在其中的KBUILD_CFLAGS部分的末尾添加 -fno-pie。
在这里插入图片描述

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值