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。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/GGG_Yu/article/details/113640839