最近做毕业设计,在学习Linux相关的知识,需要修改Linux内核源码,当然也就少不了Linux内核编译,下面就简单介绍一下Linux内核编译过程。(附注:本博客所讲的内容是在Ubuntu上进行操作的,Cent OS并未验证)
1、下载内核源码,可以到kernel.org上进行下载
2、解压内核源文件(注意:要先使用cd命令进入压缩包所在目录),可以使用如下命令:
tar -xvf 压缩包名称
3、进入解压后的文件夹:
如下图:
3、配置内核:
使用 make menuconfig 命令
menuconfig是基于ncurse库编制的图形工具界面,截图如下:
进入到该图形界面后,进行内核配置。配置时,大部分都是使用其默认选项,小部分才根据需要进行选择。
其中,每一个配置选项有三种选择,它们的含义如下:
<*>或[*]:表示将该功能编译进内核
[ ]:表示不将该功能编译进内核
[M]:表示将该功能编译成在需要时动态插入到内核的代码
用户根据需要进行配置。
注意:
(1)如果在这一步中,输入make menuconfig命令时出现了下面的错误:
说明你没有进入内核解压后的文件夹中。
(2)如果在这一步中,输入make menuconfig命令时缺少相应的文件,可以使用如下命令进行解决:
apt-get install libncurses5-dev libncursesw5-dev
4、使用如下命令,进行编译:
sudo make -j4
sudo make modules_install
sudo make install
reboot
其中,j4表示分成4个任务运行,以加快速度。
5、如果重启系统后,出现了选择内核的界面,说明内核编译成功。
如果重启后直接开机,没有出现选择内核的页面,则在进入系统后,执行下面的命令:
vi /etc/default/grub
然后将GRUB_HIDDEN_TIMEOUT=0使用#注释掉,如下图: