Ubuntu系统编译内核——deb安装 / install安装

2024-05-30 22:28

本文主要是介绍Ubuntu系统编译内核——deb安装 / install安装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘要

本文简要记录两种编译内核的方法:

  • 打包成deb模块安装(推荐);
  • 直接make install安装;

更推荐使用——打包成deb模块安装,因为可以方便的拷贝下次其他机器使用。


1. 编译环境准备

系统:linux衍生系统都行,我用的是银河麒麟系统。

# 更新apt软件源
sudo apt update # 安装编译软件环境
sudo apt install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison liblz4-tool debhelper -y

2. 内核源码下载

内核下载:

  • 官方链接:https://www.kernel.org/
  • 其它链接:http://ftp.sjtu.edu.cn/sites/ftp.kernel.org/pub/linux/kernel/

如下图所示,下载tarball,源码格式通常都是 linux-x.x.x.tar.gz 形式。


3. 按需修改内核编译配置

  下载后,解压,并进入源码目录

tar -xvf linux-6.9.2.tar.gzcd linux-6.9.2

  使用当前系统的.config文件作为模板

cp -v /boot/config-5.8.2-genertic .config

  配置内核,如果没什么需求就直接save,然后exit

make menuconfig

  。。。中间你可以加入自己需要的源码补丁。

重要:

sudo vim .config

将CONFIG_SYSTEM_TRUSTED_KEYS和CONFIG_SYSTEM_REVOCATION_KEYS的内容删除(保留双引号),如果本身就是空的双引号就不用管。

不然的话会编译报错。

保存。


4. 编译 && 安装

4.1 方法1——deb包安装(推荐)

# 使用make bindeb-pkg进行编译
sudo make bindeb-pkg -j16

  执行完成之后,在源码目录的上层会生成3个文件

  • linux-headers-6.9.2_6.9.2-4-arm64.deb
  • linux-image-6.9.2_6.9.2-4-arm64.deb
  • linux-libc-6.9.2_6.9.2-4-arm64.deb
# 安装新内核
sudo dpkg -i *.deb# 更新grub
sudo update-grub

4.2 方法2——make installl安装

# 编译和安装
sudo make -j16
sudo make modules -j16
sudo make modules_install -j16
sudo make install -16# 更新grub
sudo update-grub

5. 重启

sudo reboot now

  执行清理命令,就能够释放我们刚才编译内核时候生成占用的空间。

make clean

6. 卸载内核

  查看自己安装过的内核版本,在里面我们可以找到对应的headers与image。

dpkg --get-selections | grep image

  先卸载headers:

sudo apt-get purge linux-headers-6.9.2

  接着卸载image:

apt-get purge linux-image-6.9.2

  更新grub

sudo update-grub

参考文章

编译deepin主线内核icon-default.png?t=N7T8https://bbs.deepin.org/post/262451

内核打包- Community - Deepin Technology内核打包icon-default.png?t=N7T8https://bbs.deepin.org/zh/post/270582

这篇关于Ubuntu系统编译内核——deb安装 / install安装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1016983

相关文章

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

2025版mysql8.0.41 winx64 手动安装详细教程

《2025版mysql8.0.41winx64手动安装详细教程》本文指导Windows系统下MySQL安装配置,包含解压、设置环境变量、my.ini配置、初始化密码获取、服务安装与手动启动等步骤,... 目录一、下载安装包二、配置环境变量三、安装配置四、启动 mysql 服务,修改密码一、下载安装包安装地

Redis MCP 安装与配置指南

《RedisMCP安装与配置指南》本文将详细介绍如何安装和配置RedisMCP,包括快速启动、源码安装、Docker安装、以及相关的配置参数和环境变量设置,感兴趣的朋友一起看看吧... 目录一、Redis MCP 简介二、安www.chinasem.cn装 Redis MCP 服务2.1 快速启动(推荐)2.

在macOS上安装jenv管理JDK版本的详细步骤

《在macOS上安装jenv管理JDK版本的详细步骤》jEnv是一个命令行工具,正如它的官网所宣称的那样,它是来让你忘记怎么配置JAVA_HOME环境变量的神队友,:本文主要介绍在macOS上安装... 目录前言安装 jenv添加 JDK 版本到 jenv切换 JDK 版本总结前言China编程在开发 Java

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

Linux下在线安装启动VNC教程

《Linux下在线安装启动VNC教程》本文指导在CentOS7上在线安装VNC,包含安装、配置密码、启动/停止、清理重启步骤及注意事项,强调需安装VNC桌面以避免黑屏,并解决端口冲突和目录权限问题... 目录描述安装VNC安装 VNC 桌面可能遇到的问题总结描js述linux中的VNC就类似于Window

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成