惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
N
Netflix TechBlog - Medium
Google Online Security Blog
Google Online Security Blog
月光博客
月光博客
量子位
酷 壳 – CoolShell
酷 壳 – CoolShell
V
V2EX
腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
M
MIT News - Artificial intelligence
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
MongoDB | Blog
MongoDB | Blog
H
Help Net Security
The Cloudflare Blog
Blog — PlanetScale
Blog — PlanetScale
F
Full Disclosure
G
Google Developers Blog
罗磊的独立博客
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Y
Y Combinator Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
A
About on SuperTechFans
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队
GbyAI
GbyAI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
The Register - Security
The Register - Security
U
Unit 42
D
Docker
Martin Fowler
Martin Fowler
L
LINUX DO - 热门话题
NISL@THU
NISL@THU
阮一峰的网络日志
阮一峰的网络日志
C
Cybersecurity and Infrastructure Security Agency CISA
博客园_首页
Google DeepMind News
Google DeepMind News

栖童の小站

中兴微ZX296716机顶盒TTL救砖全攻略 | 栖童の小站 闲鱼副业之行:在机顶盒救砖中,窥见人性的温差 | 栖童の小站 CMCC RAX3000QY路由器TTL刷机与OpenWrt解锁全记录 | 栖童の小站 晨星9385芯片设备免拆包自修改教程 | 栖童の小站 小众云服务商深度测评:小兔互联、初七云、星辰云对比 | 栖童の小站 我的2025:在破除幻象、划定边界与坚守内心的一年 | 栖童の小站 闲鱼求职骗局实录:我是如何识破假冒京东HR | 栖童の小站 “大仙”是如何操控你的:亲历东北出马仙骗局与背后的恐惧营销心理学 | 栖童の小站 一次网站性能翻车实录:滥用SWPP插件导致的用户体验灾难与修复 | 栖童の小站 未成年网络暴力观察:从劝诫到被“人肉”的反思 | 栖童の小站 卸任版主后的身份枷锁:虚拟社交中的友谊与边界 | 栖童の小站 Clarity主题深度定制指南 | 栖童の小站 从Hexo到Nuxt:我的小站重构与品牌升级之路 | 栖童の小站 在爱恨之间:我的人际关系修复与挣扎 | 栖童の小站 信仰的见证:当基督徒的行为违背圣经 | 栖童の小站 版主生涯的回忆:在deepin论坛的日子 | 栖童の小站 从耕种到秋收 | 栖童の小站 当田园牧歌遭遇田埂上的贪婪 | 栖童の小站 芜湖散记:江畔的温柔与遗憾 | 栖童の小站 零成本自建网站统计:在Vercel上部署Umami完全指南 | 栖童の小站 童年的两面:简单的快乐与沉重的烙印 | 栖童の小站 家庭阴影与校园霸凌的自愈 | 栖童の小站 公共澡堂体验:记录一次北方乡下的专业搓澡 | 栖童の小站 如何打造高效的团队 | 栖童の小站 Linux系统Git使用指南:从本地仓库创建到远程仓库推送 | 栖童の小站 Hexo Butterfly主题进阶美化:添加FPS显示、节日弹窗与评论提示 | 栖童の小站 告别手动编译:利用GitHub Actions自动化部署你的Hexo博客 | 栖童の小站 Linux音频修复:解决前置耳机及麦克风插孔无声方案 | 栖童の小站 从零搭建Hexo静态博客:环境配置、主题安装到部署上线完全指南 | 栖童の小站 解决Debian包格式兼容:从zst到xz的手动转换与重打包教程 | 栖童の小站 老爷机复活指南:Linux Mint Xfce 轻量系统安装与优化全流程 | 栖童の小站
Debian系统编译Linux内核deb包:从编译到打包安装全流程 | 栖童の小站
栖童, sweetcandymini@foxmail.com · 2023-06-25 · via 栖童の小站

本文详细讲解在Debian系统下编译生成deb格式Linux内核的全过程。内容包括配置源码仓库、安装编译依赖、下载内核源码、复制配置文件,以及使用"make deb-pkg"命令打包。

一、开启源码仓库

为了可以使用 apt build-dep linux 自动安装编译所需的依赖,需要先为 apt 配置源码仓库

编辑 /etc/apt/sources.list,有些发行版默认将 deb-src 开头的源码仓库注释掉了,只需要取消注释就可以了;而UOS默认没有源码仓库,所以UOS要编译内核得添加源码仓库:

bash
echo "deb-src https://home-packages.chinauos.com/home plum main contrib non-free" >> /etc/apt/sources.list

二、安装编译所需依赖

bash
sudo apt update
bash
sudo apt build-dep -y linux 

三、开始编译

浏览器下载内核源码,也可以安装 wget 下载内核源码包

bash
sudo apt install -y wget

3.1 下载需要的源码

bash
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.3.1.tar.xz 

3.2 解压文件,这里用命令解压(也可以用压缩软件解压)

bash
tar -xf linux-6.3.1.tar.xz

3.3 进入解压目录,也可以用文件管理打开目录后,打开终端

bash
cd linux-6.3.1

3.4 复制内核配置文件

bash
cp /boot/config-"$(uname -r)" .config

3.5 开始编译内核

bash
make deb-pkg -j4 # 根据自己CPU线程数修改j8,j11等。

3.6 注意:

Y: 模块驱动编译到内核中,启动时自动加载

N: 空格:表示该功能不编译到内核中,即新的内核将不支持该功能

M:模块会被编译,但是不会被编译到内核中,只是生成.o文件,我们可以收集这些.o文件做到linux的文件系统中,然后用insmod实现动态加载

我们只需要 linux-headerslinux-image 开头的两个 deb 文件,名字中带有 dbg,是调试内核用的

bash
sudo dpkg -i *.deb 安装

四、补充

4.1 如果遇到缺少git仓库,在编译内核目录

bash
sudo apt install git

# 注已有git,则不用安装

git init

git add .

git commit -m "1"

4.2 如果编译快完成提示zstd报错,输入:

bash
sudo apt install zstd

之后重新输入命令编译就可以了,不用担心之前的编译数据丢失。

五、推荐文章:

利用 GitHub Actions 自动构建 Linux 内核为 deb 包

利用 GitHub Actions 帮助我们自动化编译。