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管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d