为什么需要切换Linux内核为自定义参数版本?

Linux内核是操作系统的核心,也是操作系统最基本的部分。Linux内核的体积结构是单内核的、但是他充分采用了微内核的设计思想、使得虽然是单内核、但工作在模块化的方式下、并且这个模块可以动态装载或卸 载;Linux负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。如是我们在了解Linux内核的基础上根据自己的需要量身定制一个更高效,更稳定的内核,就需要我们手动去编译和配置内核里的各项相关的参数和信息了。

Linux内核下载

下载地址
在这里插入图片描述
本次实验我选择5.0.5版本的Linux内核
根据前辈的经验,和我自己解决实验时报错问题的经验首先要提醒大家的是在编译前,首先要安装以下几种依赖

sudo apt-get install gcc make libncurses5-dev openssl libssl-dev
sudo apt-get install build-essential
sudo apt-get install pkg-config
sudo apt-get install libc6-dev
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install libelf-dev
sudo apt-get install dwarves
在安装完成之后,正式开始实验。由于实验在系统路径下进行,一定不要忘记sudo

1.将下载的Linux内核文件解压缩到指定文件夹/usr/src/

如果不sudo无法访问/usr/src

sudo tar -zxvf xxx.tar.gz -C /usr/src

在这里插入图片描述

2.make menuconfig

cd到Linux内核文件夹内后,在终端输入sudo make menuconfig

sudo make menuconfig

在这里插入图片描述

在这里menuconfig可以自定义,我们可以通过编写Kconfig去自定义。
在这里插入图片描述
在这里我们先不用修改其中的内容,之间选择Exit退出即可
这一步选择Yes即可。
在这里插入图片描述

3.make 编译

通过make编译。这一步也是整个实验最耗费时间的,如果没有-j加速需要2个小时。
通过make -j$(nproc)命令可以自动获取当前机器能够使用的进程数用于加速。
为了加速编译速度可以使用-j参数,make -j4,其中的number根据自己电脑cpu核心数来决定,一般可以设置为核心数的2倍。
在这里插入图片描述

4.安装内核模块
sudo make modules_install

在这里插入图片描述

5. 安装内核

在这里插入图片描述

sudo make install
6.验证是否安装成功
cd /boot
ls

在这里插入图片描述

切换Linux内核

通过命令查看当前Linux内核版本

uname -r

在这里插入图片描述
首先使用命令查找新内核,更新grub文件
在这里插入图片描述
cd到/boot/grub修改grub.cfg
在这里插入图片描述
修改原文件:
注释 set timeout_style = hidden
修改timeout的值为10
在这里插入图片描述
重启机器,就会自动弹出选择Linux内核的界面了。
在这里选择Advanced Options
在这里插入图片描述
接下来选择想要的Linux内核版本即可。
在这里插入图片描述
现在可以查看Linux内核版本了
在这里插入图片描述
成功切换Linux内核。

Logo

更多推荐