Linux内核编译与安装教程(Ubuntu自定义和最小化最新的linux内核)

今天再来做一个实验,目标是:

1、配置最新的linux内核

2、编译最新的linux内核

3、使用最新的 linux 内核启动 ubuntu

 

Linux 目前最新稳定内核:5.15.11。

由于本实验是基于上一个实验:Linux内核编译与安装教程(Ubuntu下载并编译最新的Linux内核)

大家完全可以去参考它。

 

注意:

为了方便,下面的所有步骤,我还是以 root 用户去操作。

 

一、备份当前内核配置文件

root@ubuntu-VirtualBox:/home/ubuntu/桌面# cd /usr/src/linux
root@ubuntu-VirtualBox:/usr/src/linux# cp .config .config.backup1
root@ubuntu-VirtualBox:/usr/src/linux# ls -al

cp .config .config.backup1

 

二、清除之前的编译设置

 

1、清理所有:

root@ubuntu-VirtualBox:/usr/src/linux# make mrproper

make mrproper

 

2、将之前的配置文件复制到当前配置中:

root@ubuntu-VirtualBox:/usr/src/linux# cp .config.backup1 .config 

cp .config.backup1 .config

 

三、重新配置最新的linux内核

为了操作方便,这里还是用 gconfig 图形化界面的形式来配置或自定义Linux内核。

root@ubuntu-VirtualBox:/usr/src/linux# make gconfig

make gconfig

 

四、用“gconfig”自定义配置

为了演示,我们还是来简单的操作几个具体的。如下:

 

1、gconfig打开 自定义和最小化最新的linux内核 初始界面。自定义和最小化最新的 linux 内核

 

2、删除本机没有设备的驱动模块。

 

第一步:列出本地机器的所有设备

root@ubuntu-VirtualBox:/home/ubuntu/桌面# dmesg

dmesg

 

第二步:打开“gconfig”,点击“Device Drivers”。

打开“gconfig”,点击“Device Drivers”

 

第三步:你想删除哪个驱动,去掉前面打勾就可以了。

我这为了以后方便,我就不删除了,毕竟此虚拟机以后还有用,我怕有些东西我删除错了,加上又是英文,很多驱动详情我还得挨个去翻译,才知道是否删除不影响我以后的使用。

gconfig删除驱动

 

3、 删除不常用的文件系统驱动程序。

注意:不要删除 ext2 和 ext4 驱动程序。

删除任何一个文件系统一定要去看描述,多网上查一下相关的资料,以防止删除后出错。

 

第一步:点击““File systems ”,去掉“JFS filesystem support”前面的勾。

我这为了简单,我就删除一个JFS文件系统。JFS是IBM公司为linux系统开发的一个日志文件系统。

注意:

经过我的多次实验,这里正确的操作应该是“JFS filesystem support”不要去掉勾,它的下级可以全部去掉打勾。这样的话,后面就不会报错了。

点击““File systems ”,去掉“JFS filesystem support”前面的勾

 

第二步:保存配置

gconfig保存配置

 

4、如果出现错误,请返回前 2 步。

极有可能是“删除本机没有设备的驱动模块”或“删除不常用的文件系统驱动程序”出错了。删除了不应该删除的驱动。

 

五、清理以前的编译(可选)

如果要重新编译,请执行以下命令清理之前的工作:

make clean

 

既然是可选,为了节约时间,这个步骤我就先不操作了。

 

六、编译内核

编译最新的linux内核(漫长的等待)

root@ubuntu-VirtualBox:/usr/src/linux# make -j4

 

七、安装内核模块

root@ubuntu-VirtualBox:/usr/src/linux# sudo make modules_install

 

注意:

在这个步骤的时候,我这提示了一个错误:

depmod: ERROR: failed to load symbols from /lib/modules/5.15.11888/misc/vboxsf.ko: Invalid argument

中文翻译

depmod:错误:无法从/lib/modules/5.15加载符号。11888/misc/vboxsf。ko:无效参数

depmod: ERROR: failed to load symbols from /lib/modules/5.15.11888/misc/vboxsf.ko: Invalid argument

 

为了节约时间,我是直接忽略掉,直接跳过这个错误了。

我猜想,应该是我在“四、用“gconfig”自定义配置”那个步骤删除驱动那里有问题。毕竟提示的是无效参数。

 

八、安装内核

root@ubuntu-VirtualBox:/usr/src/linux# sudo  make install

 

九、重启,并比较不同linux内核的大小

 

第一步:重启

root@ubuntu-VirtualBox:/usr/src/linux# sudo reboot

 

第二步:选中“5.15.11”内核,用最新的 linux 内核启动 ubuntu

 

第三步:查看当前内核

root@ubuntu-VirtualBox:/home/ubuntu/桌面# uname -a
Linux ubuntu-VirtualBox 5.15.11888 #1 SMP Sat Dec 25 12:45:19 CST 2021 x86_64 x86_64 x86_64 GNU/Linux

uname -a

 

第四步:比较不同linux内核的大小

root@ubuntu-VirtualBox:/home/ubuntu/桌面# ls -l /boot

ls -l /boot

 

果然,前面的那个 ERROR 错误,我没有解决掉,比较结果的大小是一样的。

以上这张图片是我通过PS做出来的最终的正常效果。

正常的结果是:vmlinuxz-5.15.11888 和 vmlinuxz-5.15.11888.old 大小应该是不一样的;

 

总结:

中途还出现了进不去ubturn虚拟机系统了,差点就把系统搞崩了。还好,我通过以root身份进入命令行界面,再次执行“安装内核模块” 与“安装内核”命令,重启后才恢复正常。

    A+
发布日期:2021年12月25日 18:28:04  所属分类:Linux
最后更新时间:2021-12-26 23:11:32
付杰
  • ¥ 6.8元
  • 市场价:8.8元
  • ¥ 98.0元
  • 市场价:398.0元
  • ¥ 499.0元
  • 市场价:499.0元
  • ¥ 99.0元
  • 市场价:99.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: