当前位置: 首页 > article >正文

Ubuntu18更新Linux内核5.15及Linux内核编译

0.下载源代码

  1. https://mirrors.aliyun.com/linux-kernel/v5.x/在镜像网站中找到需要的版本,这里用linux-5.15.10.tar.gz,解压缩到/linux_kernel中,进入/linux_kernel/linux-5.15.10.tar.gz
    解压缩命令:
tar -xzvf linux-5.15.10.tar.gz

1.安装编译环境

apt-get install libncurses5-dev build-essential kernel-package

2.配置内核运行

进入解压后的内核源代码目录,并使用现有的内核配置文件作为基础配置。可以复制系统中 /boot/config-$(uname -r) 文件到内核源代码目录,并命名为 .config

cp /boot/config-$(uname -r) ~/linux_kernel/linux-5.15.10/.config
make menuconfig

在make menuconfig中选在load选项.config并save : (点击一下load ,再exit)

3.编译内核

make -j 8

4.安装模块

make modules_install

这里结束后不用make install否则报错没有bzimage

5.生成可执行的内核引导文件

make bzImage
cp arch/x86/boot/bzImage /boot/vmlinuz-5.15.10

6.复制System.map文件

cp System.map /boot/System.map-4.20.12

7. 生成initrd.img文件

cd /lib/modules/5.15.10
update-initramfs –c –k 5.15.10

8.修改引导文件

vi /etc/default/grub

将GRUB_DEFAULT=0注释掉

9.自动更新配置

update-grub
reboot#重启验证
uname -r#查看版本

问题

报错1:

arch/x86/Makefile:142: CONFIG_X86_X32 enabled but no binutils support
sed: can’t read modules.order: No such file or directory
make: *** [Makefile:1479: __modinst_pre] Error 2

解决方案:

这个报错原因是 CONFIG_X86_X32 enabled but no binutils support,选择重新编译binutils或者禁用CONFIG_X86_X32,我选择禁用,编辑.config文件,将CONFIG_X86_X32=y改为CONFIG_X86_X32=n。重新运行make -j4,不再报此处错误。

报错2:

make[1]: *** No rule to make target ‘debian/canonical-certs.pem’, needed by ‘certs/x509_certificate_list’. Stop.

解决方案:

编辑.config文件,修改CONFIG_SYSTEM_TRUSTED_KEYS
修改CONFIG_SYSTEM_TRUSTED_KEYS,将其赋空值。

修改前:原变量有值
CONFIG_SYSTEM_TRUSTED_KEYS=“debian/canonical-certs.pem”
修改后:将该变量赋空值,将该项原有内容删掉即可,如下:
CONFIG_SYSTEM_TRUSTED_KEYS=“”

修改CONFIG_SYSTEM_REVOCATION_KEYS(可选),如果CONFIG_SYSTEM_REVOCATION_KEYS的值不为空的话,也将其赋空值。
修改前:原变量有值
CONFIG_SYSTEM_REVOCATION_KEYS=“debian/canonical-revoked-certs.pem”
修改后:将该变量赋空值
CONFIG_SYSTEM_REVOCATION_KEYS="

报错3:

sh ./arch/x86/boot/install.sh 5.15.10
arch/x86/boot/bzImage System.map “/boot”

*** Missing file: arch/x86/boot/bzImage
*** You need to run “make” before “make install”.

解决:步骤5有些教程用的make install ,不用这个,用make bzImage生成


http://www.kler.cn/a/387064.html

相关文章:

  • Scala学习记录,case class,迭代器
  • 基于Java Web的传智播客crm企业管理系统的设计与实现
  • 前端框架大比拼:React.js, Vue.js 及 Angular 的优势与适用场景探讨
  • 【面试题】发起一次网络请求,当请求>=1s,立马中断
  • 提取神经网络数学表达式
  • 知识图谱6:neo4j查询语句
  • 如何1小时掌握Vue3
  • 前端代码分析题(选择题、分析题)——JS事件循环分析
  • 如何在 Android 上增加 SELinux 权限
  • 为什么分布式光伏规模是6MW为界点
  • 使用HTML、CSS和JavaScript创建动态圣诞树
  • vue2 和 vue3的区别
  • Markdown设置字体大小、颜色,CSDN编写字体大小、颜色等样式
  • springboot集成opencv开源计算机视觉库
  • 如何判断 Hive 表是内部表还是外部表
  • aws(学习笔记第十一课) 使用AWS的EFS,以及AWS Storage Gateway
  • 【mySql 语句使用】
  • 矩阵分解及计算
  • 黑马点评1 session实现短信验证码登录
  • docker-ce-stable‘ 下载元数据失败 : Cannot download repomd.xml: Cannot download
  • 【jmeter】jmeter的线程组功能的详细介绍
  • AStar寻路算法
  • java 容器的快速失败(fast-fail)机制
  • HarmonyOS入门 : 获取网络数据,并渲染到界面上
  • SpringMVC处理请求流程
  • Nginx实现负载服务之间的负载均衡