一、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解决
标签:grub,make,apt,源码,内核,install,linux From: https://www.cnblogs.com/dinmin/p/17748404.html