本方法仅适用于CentOS,其他版本酌情参考!!!
建议先看完文章在逐步进行操作!
具体问题具体分析!!!
建议虚拟机至少有60G磁盘容量,避免空间不足!
linux大小写敏感,请注意命令和字段的大小问题!!!
安装简中的路径可能出现问题,可手动解压或打开。
重要部分以做突出处理!!!
需要输入的命令
需要注意的信息
需要选中的字段
需要下载的包名
以更改内核版本号最后一位为例
下载Linux内核(www.kernel.org)我下载的是5.14.5版本
下载后使用 tar -zxvf 文件名 解压。例如:
tar -zxvf linux-5.14.5.tar.xz
(这里我并没有成功,可能是因为路径错误。所以直接双击压缩包解压,得到文件)
使用 cd + 路径 跳转到所解压的文件中。如找不到路径,可右键,在此文件中打开终端
cd linux-5.14.5
使用 sudo yum install 包名 命令 安装一些必要的包:(若没有权限,则使用sudo,或者使用su命令)
su
su命令的好处则是之后命令均不用使用sudo
sudo yum install make -y
- make
- gcc
- openssl-devel
- flex
- bison
- ncurses-devel
- elfutils-libelf-devel
安装好后使用 make menuconfig 命令,得到如下界面:
若报错,则根据报错内容下载安装对应的包
make menuconfig
我们选择 Device Drivers 这个选项(如图)
接着选择 Trust the bootloader to initialize Linux‘x GRNG (NEW)
然后使用小键盘左键选中 <Save> ,敲击回车键,并一直确定,完成后选择 <Exit> 退出。
使用 vi 命令打开编辑config文件
vi .config
打开后,会进入这个界面
我们可以使用 :set nu 命令得到旁边的行数。(直接输入 :set nu)
(此部分若未找到字段,可以跳过,寻找下一个字段)
如图直接输入 /CONFIG_DEBUG_INFO_BTF,敲击键盘的 i 键,进入输入模式,此时白色闪烁的光标则是选中的位置
将 CONFIG_DEBUG_INFO_BTF=y ,并改成 CONFIG_DEBUG_INFO_BTF=m
继续输入 /CONFIG_SYSTEM_TRUSTED_KEYS,
并将其改为 CONFIG_SYSTEM_TRUSTED_KEYS=""
继续找到 # CONFIG_TEST_BLACKHOLD is not set
将其改为 CONFIG_TEST_BLACKHOLD=m
之后使用 :wq! 保存退出
配置完成后,我们使用 vim Makefile 编辑,使用 i 进入输入模式将SUBLEVEL改为我自己的学号尾号(这里当时忘记截图了)记得使用 :wq! 保存退出。
vim Makefile
编辑完成后,我们使用make命令(这里所用时间比较漫长,建议多核处理,可以通过虚拟机设置,处理器,来配置自己的处理器核数,并用 -j核数 来跑make指令,我这里设置的是8核,所以命令为
make -j8
make -j8
跑完中途没出错的话,我们继续使用
make modules_install 命令
make modules_install
如果还是没出错,我们再接着使用 make install 命令
make install
三个命令跑完之后,系统应该会自动配置,我们在终端重启系统
命令为reboot
reboot
如果成功的话就能看到我们所编译的内核版本,选择它,进入系统后,打开终端
输入 uname -r 查看版本号!
uname -r
注:具体问题具体分析,文中处理方法不唯一,且只能解决部分问题,如有更好的方法欢迎讨论!