9.9.4. 编译内核和相关模块

Debian 有它自己的方式来编译内核和相关模块。

表 9.25. Debian 系统内核编译需要安装的主要软件包列表

软件包流行度大小说明
build-essentialI:45420创建 Debian 软件包所必须的软件包: make, gcc, …
bzip2V:178, I:953196bz2 文件压缩和解压缩工具
libncurses5-devV:13, I:1396ncurses 开发者库和文档
gitV:301, I:45835266git:Linux 内核使用的分布式版本控制系统
fakerootV:31, I:501215为非 root 用户创建软件包提供一个伪造的 root 环境
initramfs-toolsV:367, I:990111创建 initramfs 的工具(Debian 规范)
dkmsV:89, I:214278动态内核模块支持 dynamic kernel module support (DKMS) (通用)
devscriptsV:8, I:622485Debian Package maintainer Debian 包维护者的帮助脚本(Debian 规范)

如果你在 第 3.1.2 节 “第二阶段:引载加载程序” 使用 initrd , 请一定阅读 initramfs-tools(8), update-initramfs(8), mkinitramfs(8) 和initramfs.conf(5) 里的相关信息。

[警告]警告

在编译 Linux 内核源代码时,请不要放置从”/usr/include/linux“ 和 “/usr/include/asm“ 到源代码树(比如:”/usr/src/linux*“) 里目录的符号链接。(一些过期的文档建议这样做.)

[注意]注意

当在 Debian stable 版里编译最新的 Linux 内核时, 可能需要使用一些从Debian unstable 版里 backported 向后移植的最新版本的工具。

[注意]注意

dynamic kernel module support (DKMS)动态内核模块支持 是一个新的分布式独立框架,被设计用来允许单个的内核模块在不改变整个内核的情况下升级。这可以用于维护内核代码树外部的模块。这也使你升级内核时,重新编译模块变得非常简单。