编译运行Linux内核(切换Linux内核版本)
Linux内核是操作系统的核心,也是操作系统最基本的部分。Linux内核的体积结构是单内核的、但是他充分采用了微内核的设计思想、使得虽然是单内核、但工作在模块化的方式下、并且这个模块可以动态装载或卸 载;Linux负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。如是我们在了解Linux内核的基础上根据自己的需要量身定制一个更高效,更稳定的内核,就需要我们手动去编译
为什么需要切换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内核。
更多推荐
所有评论(0)