//The Linux Kernel Archives
2、传输到要安装内核的服务器系统中的对应根目录下“/usr/src”,
scp –p 端口号 源文件 username@IP地址:~/
例如:scp –p 8090 linux-5.18.2.tar.xz femu@localhost:~/
3、进入到/usr/src目录下,解压缩:tar xvf linux-5.18.2.tar.xz
4、进入内核文件中,清理之前预编译文件
make clean
make mrproper //删除以前的垃圾文件
5、进入内核文件中,从当前机器的启动目录拷贝配置信息到源代码目录。这步操作的意思是我们编译内核的配置采用用当前环境一致的配置
cp -v /boot/config-$(uname -r) .config
6、进入内核文件夹中,安装需要的依赖库,
sudo apt-get install libncurses5-dev libssl-dev -y
sudo apt-get install build-essential openssl -y
sudo apt-get install zlibc minizip -y
sudo apt-get install libidn11-dev libdn11 -y
sudo apt-get install bison -y
sudo apt-get install flex -y
sudo apt-get install libelf-dev -y
sudo apt-get install libelf-devel -y
sudo apt-get install elfutils-libelf-devel –y
sudo apt-get install flex –y
sudo apt-get install bison -y
备注://Ubuntu 编译linux内核依赖:sudo apt install libncurses5-dev openssl libssl-dev build-essential pkg-config libc6-dev bison flex libelf-dev zlibc minizip libidn11-dev libidn11 qttools5-dev liblz4-tool
7、linux提供三种修改配置命令
// 不建议使用
sudo make config
// 建议使用(图形界面,键盘操作)
sudo make menuconfig
// 强烈建议使用(图形界面,鼠标操作)
sudo make gconfig
8、编译内核
make –j 4/8 //根据机器分配的具体的核心数编译
//sudo make all //编译全部,如果采用以上方法,则不用这个命令
9、安装对应的模块
sudo make modules_install
10、安装内核
sudo make install
11、重启
reboot
经常遇到问题
第一种:make[1]: *** No rule to make target 'debian/canonical-revoked-certs.pem', needed by 'certs/x509_revocation_list'. Stop.
make: *** [Makefile:1822: certs] Error 2
make[1]: *** No rule to make target 'debian/canonical-revoked-certs.pem', needed by 'certs/x509_revocation_list'. Stop.
make: *** [Makefile:1822: certs] Error 2
解决方法;
修改 .config中对应的CONFIG_SYSTEM_TRUSTED_KEYS置空(如果是在Ubuntu中,最好也将CONFIG_SYSTEM_REVOCATION_KEYS置空)
查找方法:sudo vim .config, 然后采用"/string"查找具体的条目
第二种,如果是发现缺少对应的依赖库,根据提示去查找.
第三种,编译完成,也安装完成,但是进入的时候碰到 end Kernel panic - not syncing:System is deadlocked on memory问题,
解决方法:将虚拟机分的内存划分的大一点,比如2G调为4G大小就可以了,