linux内核升级和内核源码编译

一、ubuntu通过命令安装内核版本

1、检查原系统内核版本

uname -r

2、搜索可用linux内核版本

apt-cache search linux| grep linux-headers

3、 通过apt命令安装内核

apt-get install linux-headers-5.4.0-80-generic linux-image-5.4.0-80-generic

4、安装成功后查看/boot目录是否有新安装的内核

cd /boot
ls -lh

5、更新grub

update-grub

6、根据需求修改grub.cfg文件,更改内核的启动顺序

cd /boot/grub
chmod 777 grub.cfg
vim grub.cfg

7、重启后验证内核版本

reboot
uname -r

8、可能出现的错误

按照上述过程重启后进行加载驱动,执行命令sudo modprobe mtd 时出现错误提示如下所示:

modprobe: FATAL: Module mtd not found in directory /lib/modules/5.4.0-80-generic

安装内核对应modules

sudo apt-get install modules-extra-5.4.0-80-generic

二、内核源码编译

1、下载需要安装的内核源码

https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.33.tar.xz

2、安装依赖

apt install build-essential dwarves python3 libncurses-dev flex bison libssl-dev bc libelf-dev zstd gnupg2 wget -y

 3、解压源码

tar xvf linux-5.15.33.tar.xz
cd linux-5.15.33

4、内核配置

cp /boot/config-$(uname -r) .config
make menuconfig

5、选择内核模块

看下图中选择自己配置内核所支持的模块,进行内核定制

选择好后,保存配置重写.config,然后退出

6、使用脚本或命令修改配置

scripts/config --disable SYSTEM_REVOCATION_KEYS

可以关闭一些编译选项

vim .config

可以修改内核编译的一些配置项

7、编译内核

make -j8 (-j为指定用于编译的核心数)
make modules_install
make install

8、更新grub验证内核

update-grub
reboot
uname -r

 9、故障

Linux内核编译错误:make[1]: *** 没有规则可制作目标“debian(https://so.csdn.net/so/search?q=debian&spm=1001.2101.3001.7020)/canonical-certs.pem”,由“certs/x509_certificate_list” 需求。 停止。**
解决办法:
CONFIG_MODULE_SIG_KEY="cert/signing_key.pem" #这个可能不需要删除,删除了反而可能出其他问题make modules_install时报错
CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem" #这个要删除
make menuconfig错误——make[2]: *** [scripts/kconfig/lexer.lex.c] 错误 127
解决办法 apt install bison flex
 fatal error: openssl/bio.h: 没有那个文件或目录
 解决办法:
 apt-get install libssl-dev
报BTH错误,安装dwarves解决

 

posted @   清风6661  阅读(713)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示