Linux内核编译

Linux内核编译

最近编译原理课上的一个小作业~

1 下载内核源码

可以去官网下载需要的内核版本,这里下载的是 4.14.200 版本

2 在ubuntu上编译

需要预先安装好make,gcc

将下载好的 linux-4.14.200.tar.xz 解压

1
tar -xvf linux-4.14.200.tar.xz

然后进入解压文件夹

1
cd linux-4.14.200/

启动内核配置程序menuconfig(menuconfig运行缺少文件试试apt-get install libncurses5-dev libncursesw5-dev)

1
make menuconfig

0DrRK0.png

然后就可以对内核做一些配置了~

每一个配置选项都有三种选择:

  • [] 表示不将功能编译进内核
  • [M] 表示将该功能编译成动态插入内核的代码
  • [*] 直接将功能编译进内核

选好功能模块后就可以开始编译了

1
2
3
4
sudo make -j4
sudo make modules_install
sudo make install
reboot

慢慢编译,如果缺啥包那就按啥包 sudo apt-get 包名

中间遇到的一些需要安装的包

1
sudo apt-get install libssl-dev

3 切换内核

为了保证能正常启动grub界面,需要修改grub配置文件

1
vi /etc/default/grub

修改如下几项

0sM0N8.png

然后重新更新grub配置

1
sudo update-grub

然后就开机就能看到grub界面了,选择高级选项,就能看到选择内核的界面

0sKrO1.png

选择刚刚装好的内核,成功进行系统,查看当前内核版本。

0sMJcd.png