操作系统内核编译
(1)准备的内核版本
Linux-5.6.2.tar.xz
(2)重编译内核过程及遇到的问题、原因以及如何解决
1.实验环境配置
本身配置的初始内存是不够用的,要扩充内存并做好分区在****上找到了一篇关于如何扩展虚拟机内存的教程,跟着教程扩展为60G
链接:https://blog.****.net/Nonpc123/article/details/90098267扩充后的
2.下载内核源码
应该选择比自己的内核版本稍高的内核可以用uname -a 来查看自己的内核版本 在官网上下载的话速度很慢,我是将别人给的压缩包发送邮件,在邮箱里下载,这样快了很多,最后下载到了桌面上,查看属性,路径为home/tangrui/桌面
3. 解压缩内核源码
首先切换到root用户:sudo su 输入密码 将文件存到/usr/src文件中: cd 文件的位置 cp linux-5.6.2.tar.xz /usr/src(更改存储位置) -----在root用户先才可进行该操作,否则会出现权限不够的问题 接着对文件进行解压缩:xz -d linux-5.6.2.tar.xz Tar -xvf linux-5.6.2.tar
问题与解决:
关于切换root用户将内核压缩文件复制到/usr/src中还有就是注意版本要改输入指令没有反应 首先应该是在root用户下,需要先输入:sudo su 再输入密码,要不会出现权限不够的问题应该要先进入/usr/src文件中,指令是 cd /usr/src
4.清楚残留的.config和.o文件
输入:make mrproper 没有出现提醒安装ncurses包的问题,已经有了最新版该ncurses包
5.执行:make mrproper
输入:make mrproper
6.配置内核
输入:make menuconfig 按照给的pdf检查设备驱动情况,改为下面的并保存:
问题与解决:
flex未安装 解决方法 :输入sudo apt-get install flex
bison未安装 解决方法:输入sudo apt-get install bison
7.编译内核,生成启动文件
输入:make bzImage
问题与解决:
解决:大小写问题,应该是make bzImage
8.编译模块
输入:make modules 等待时间会比较长
9.安装内核
输入:make modules_install
因为系统是跑在虚拟机里面的,则输入:mkinitramfs -o/boot/initrd-5.6.2.img
输入:make install
10.配置grub引导程序
输入:update-grub2(自动修改grub)
11.重启系统
输入:reboot
重启后打开终端输入:uname -a查看内核的版本
参考文本链接如下:
链接:https://blog.****.net/Nonpc123/article/details/90098267 https://www.cnblogs.com/ay-a/p/9158897.html https://blog.****.net/weixin_45596770/article/details/105370317 https://zhidao.baidu.com/question/259173867.html