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

推荐订阅源

L
LangChain Blog
N
Netflix TechBlog - Medium
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Blog — PlanetScale
Blog — PlanetScale
Microsoft Security Blog
Microsoft Security Blog
D
Docker
WordPress大学
WordPress大学
罗磊的独立博客
J
Java Code Geeks
博客园 - 【当耐特】
博客园 - 司徒正美
雷峰网
雷峰网
H
Help Net Security
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
T
Tailwind CSS Blog
Google DeepMind News
Google DeepMind News
M
MIT News - Artificial intelligence
Recent Announcements
Recent Announcements
B
Blog

陈陈菌博客

如何在 podman 容器内使用 systemd 在 podman 运行 GUI 应用的经验总结 管理 podman 容器与镜像的导入或导出 用 xdg-dbus-proxy 解决容器的文件选择器的问题 解决 VSCodium 或 Code-Server 无法安装 GitHub Copilot 问题 不可变发行版 Fedora Silverblue 的体验记录 解决 apt 或 dnf 无法 tab 补全的问题 对 (MPA) 多页面切换实现丝滑动画的探索 让服务在非 Root 权限下使用 80 或 443 端口 AppImage 应用打包快速上手 Flatpak 使用和应用打包快速上手 如何用 webSocket 实现一个实时聊天应用 使用 debootstrap 构建 Debian 系根文件系统 高度可定制的 KDE 窗口装饰器 klassy 有关 docker、podman、nspawn、bwrap 的 Linux 容器图形性能测试 创建任意 Linux 容器并支持 GUI 程序 (Docker) 创建任意 Linux 容器并支持 GUI 程序 (nspawn) 文件同步工具 rsync 的使用 玲珑 (Linyaps) 应用打包 RPM 打包指南 | 精简版 PBR 材质的各种贴图类型入门 APU | Stable-Diffusion 使用记录 如何在 Electron 上启用 WebGPU Grub 主题安装与配置 Fcitx5 主题安装与自定义 不使用 Nginx 的网站开发指南 如何自制一个简易的资源监控程序 SQL 常用 CRUD 语法记录 Debian 打包入门,与需要注意的问题 在 fedora 建立一个 Arch 容器 (bwrap)
Linux 内核编译 | 快速上手 | deb
GlumiStudio@ · 2025-11-10 · via 陈陈菌博客

2025-11-10 17:42:29

分类: Linux


编译内核这件事可能让没接触过的人听起来很复杂,但实际上非常简单。首先前往 https://www.kernel.org/ 网站获取 Linux 内核源码,直接下载解压。

拿到源码后,先 cd 进源码目录,第一步是内核编译配置,一般可以使用 make defconfig 来生成当前架构的默认内核配置,再接着编辑源码目录下的 .config 文件(具体条目可查资料了解)

make olddefconfig 基于已有的 config (保留旧内核配置中仍有效的选项,去除已废弃的配置项)

也可以使用 make menuconfig 基于现有内核配置使用 TUI 来选择需要的模块,如果不存在则会类似 make defconfig 一样生成默认配置。

再或者使用更为精简的 make localmodconfig,基于当前系统所使用的内核模块来生成配置。

不过在做操作前我们最好装一些重要的依赖包和基础工具及头文件,如:

sudo apt install git make build-essential bison flex libncurses5-dev ncurses-dev libelf-dev libssl-dev bc zstd linux-headers-$(uname -r)

PS: (如果遇到仍缺少依赖的报错,可自行斟酌安装相关包并继续操作)

编译 / 安装


在完成配置后,在源码目录下执行以下命令即开始编译。

make -j cpu线程数

等待编译完成后,安装内核也很简单,只需要两行,如果需要加快速度也可以加入 -j 参数

sudo make install
sudo make modules_install

其中,modules_install 是安装内核模块,这是必须的,固件和驱动都在里面,缺少将无法正常工作。它们一般会装在 /lib/modules/ 下,而内核 (initrd,vmlinuz) 则一般安装在 /boot 下。

将内核构建为 deb / rpm 包


如果你想通过包管理去安装和管理内核,也可以无视以上三步,直接使用以下命令来编译并构建包出来, deb 的话它们会默认放在当前路径的上一层目录。rpm 则在 源码目录的 rpmbuild/RPMS/ 下面

# deb
make bindeb-pkg
# rpm
make binrpm-pkg