操作系统:Ubuntu和CentOS7中Linux内核编译(5.5.9版本)

操作系统:Ubuntu和CentOS7中Linux内核编译(5.5.9版本)

操作系统:Ubuntu和CentOS7中Linux内核编译(5.5.9版本)

——————
——————

写在前面:make时报错磁盘容量不足,需要扩展容量

这是centos7扩展磁盘容量的方法
https://blog.csdn.net/qq_41653487/article/details/106168506

文末有一些可能出现的错误,可以参考

1、重启时报错:System is deadlocked on memory
2、menuconfig时报错:Your display is too small to run Menuconfig!
——————
——————

一、下载内核

1、下载最新版本的内核:https://www.kernel.org/
2、下载历史版本的内核:https://cdn.kernel.org/pub/linux/kernel/v5.x/
注意下载“linux-版本号.tar.xz
操作系统:Ubuntu和CentOS7中Linux内核编译(5.5.9版本)_第1张图片

二、解压文件

1、进入终端
2、进入root模式
Ubuntu下:

sudo su

CentOS7下:

su root

3、进入下载内核所在的文件夹(如:“下载”这个文件夹)
4、将内核文件解压到指定文件夹

输入命令:

tar -xvf linux-5.5.9.tar.xz -C /usr/src/redhat

在这里插入图片描述

三、安装编译需要的各种文件和工具

**注意:**一定要先安装这些,才不会报错,要不然过程会很繁琐!!(亲身经历)
1、Ubuntu版本下的命令

apt install libncurses5-dev libssl-dev
apt install build-essential openssl
apt install zlibc minizip
apt install libidn11-dev libidn11
apt install flex
apt install bison

2、CentOS7下的命令

yum install ncurses ncurses-devel
yum install openssl-devel
yum install elfutils-libelf-devel
yum install flex
yum install bison

四、配置文件

1、修改内核版本号
输入命令

vim Makefile

这三位数字分别对应版本号的5.5.9
可在最后一位数字(红点处)进行修改
操作系统:Ubuntu和CentOS7中Linux内核编译(5.5.9版本)_第2张图片

2、生产图形化界面
输入命令:
注意:一定要页面最大化,终端的这个窗口也要尽量大,否则会报错

make mrproper	#清除之前编译产生的中间文件
make menuconfig	#生成图形化界面

然后出现以下界面
操作系统:Ubuntu和CentOS7中Linux内核编译(5.5.9版本)_第3张图片
选择“Exit”,然后按回车键
再然后选择“yes”就可以了

五、编译内核

1、开始编译内核
输入命令
可以用j2、j4加快内核编译的速度

make
或者
make -j4	//速度更快

注意:等待的时间很长,可能要两三个小时,期间要注意电脑不会自动关机之类的

2、安装内核模块

make modules
make modeules_install

3、安装内核

make install

五、启动内核

1、重启虚拟机
重启过程中,可能需要自己手动选择一下 刚刚编译的新内核系统
选择“高级选项‘
然后选择第一个(自己编译的内核的名字)的选项
操作系统:Ubuntu和CentOS7中Linux内核编译(5.5.9版本)_第4张图片

2、验证是否成功
执行指令

uname -r

如果显示是自己的新内核,则成功

六、可能出现的问题

1、在重启的时候,Ubuntu会出现
System is deadlocked on memory
解决办法
关闭虚拟机的电源
打开Ubuntu设置
选择”内存“
增大到4GB(4096MB)
操作系统:Ubuntu和CentOS7中Linux内核编译(5.5.9版本)_第5张图片

2、make menuconfig时报错
操作系统:Ubuntu和CentOS7中Linux内核编译(5.5.9版本)_第6张图片
将页面最大化
将终端这个窗口拉得尽量大

你可能感兴趣的:(操作系统:Ubuntu和CentOS7中Linux内核编译(5.5.9版本))