ubuntu编译内核并更换

1 下载内核
https://www.kernel.org/ 随便找一个内核下载,笔者以最新的linux-5.4.7 为例子

tar xvf linux-5.4.7.tar.xz
cd linux-5.4.7
cp /boot/config-3.13.0-32-generic .config
yes “” | make oldconfig
make modules
sudo make modules_install
make -j16
sudo make install
cd /boot
sudo mkinitramfs -ko initrd.img-5.4.7 5.4.7
sudo update-grub
sudo reboot

整体命令就是这么简单, 具体来解释下

cp /boot/config-3.13.0-32-generic .config
yes “” | make oldconfig

我们都知道在编译内核前要对内核做一些裁剪. 保留我们需要的内核特性,删除不必要的特性, 一般使用make menuconfig来配置, 这个过程是比较繁琐的,并且需要对内核非常了解才能完成的. linux发行版为了方便用户了解当前使用的内核配置, 会将当时他们编译内核的配置选项放在/boot目录, 比如config-3.13.0-32-generic 就是当时他们使用的编译选项(3.13.0-32版本内核). 我们只需要把它改成.config文件放在linux内核源码根目录, 并执行make oldconfig命令,就可以使用当前内核的编译选项来编译新内核了. 但是新内核一般会有一些新的编译配置, 我们执行make oldconfig来设置编译选项的时候就会针对这些新的编译配置来问我们我不要使用这个新特性, 使用yes ""命令来回答它使用默认选项.

发布了113 篇原创文章 · 获赞 22 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/woai110120130/article/details/103840340