Debian/Debian 与内核
Debian | Debian安装 | Debian使用 | Debian系统升级 | Debian常见问题 |
可以不考虑 Debian 因素编译内核吗[ ]
可以.
需要注意的是: Debian 的 C 库文件是在最新的 stable 发行版的 kernel headers 基础上构建的, 如果你碰巧需要使用比 stable 发行版的 kernel headers 更高版本编译一个程序, 那么要么升级包含headers的软件包(libc6-dev), 要么从新版的 kernel 中解压出 headera 来使用, 如果 kernel 源文件在 /usr/src/linux 目录下, 那么编译时需要在命令行加入
-I/usr/src/linux/include/.
Debian 的编译内核工具[ ]
如果用户想(或必须)定制内核, 建议下载使用 kernel-package 软件包, 其包含构建 kernel软件包的脚本, 并提供了创建 Debian kernel-image 软件包, 在 kernel 源文件的最上层目录运行命令:
make-kpkg kernel_image
要获取帮助, 运行
make-kpkg --help
或者查询 make-kpkg(1).
如果没有现成的 kernel-source-version 软件包(这里 "version" 指 kernel 版本号), 则用户必须自己到 Linux 站点上下载新版的 kernel(或者需要的那个版本)..
在 /usr/share/doc/kernel-package/README.gz 处有 kernel-package 的详细使用说明. 主要步骤:
- 将 Kernel 源代码解包, 切换到新建目录.
- 用下面(任一)命令修改 kernel 配置:
- make config (命令行界面).
- make menuconfig (一个基于 ncurses 的菜单界面). 注意必须安装了 libncurses5-dev 软件包.
- make xconfig (X11 界面). 需要安装相关的 X 和 Tcl/TK 软件包.
置完成后, 就会在 kernel 源文件的最上层目录生成一个 .config 文件.
执行命令: make-kpkg -rev Custom.N kernel_image, N 指用户指定的版本数字. 就会生成一个修正版为 Custom.1 的新 Debian 包, 例如 Linux 2.2.14 内核,就会是kernel-image-2.2.14_Custom.1_i386.deb.
安装生成的软件包.
- 运行 dpkg --install /usr/src/kernel-image-VVV_Custom.N.deb 安装内核. 安装脚本会:
- 运行启动加载程序, LILO(如果安装了的话),
- 安装放在 boot/vmlinuz_VVV-Custom.N 下定制的 kernel, 并生成相应的符号连接.
- 提示用户制作启动软盘, 启动盘仅包含基本内核.
- 如果使用第三方启动加载程序, 如 grub 或 loadlin, 把这个影像考到相应位置(如 /boot/grub 或 MS-DOS 分区).
如何制作启动软盘[ ]
制作启动盘需要用到 Debian 的 boot-floppies 工具, 该软件包位于 Debian FTP 的 admin 目录下. 该软件包的脚本会生成一个 SYSLINUX 格式的启动盘, 对于那些使用 MS-DOS 格式化的软盘, 其主引导扇区的记录将被修改为直接引导 linxux(或在 syslinux.cfg 中定义的其它系统). 这个包中的其它脚本还可以制作应急盘, 甚至重建基本系统.
安装 boot-floppies 后可以在 /usr/doc/boot-floppies/README 中找到更详细信息.
Debian 下的模块管理[ ]
Debian 的 modconf 软件包提供了一个 shell 脚本(/usr/sbin/modconf)用于完成模块的配置.该脚本使用菜单界面, 用户通过它给出系统中可挂载设备驱动的有关细节, 它再将这些细节信息生成 /etc/modules.conf 文件(其中列出了别名 aliases 和其它参数, 用于连接各种模块), 该配置文件用来加载 /etc/modutils/ 目录下和 /etc/modules(其中列出了需要在系统启动时加载的模块)目录的相关模块.
新版的配置帮助文件可为构造自定义内核提供帮助, 同样, modconf 软件包中也有一系列帮助文件(位于/usr/lib/modules_help/), 告诉你如何对模块设定合适的参数.
可以删除旧内核吗, 如果可以, 怎么做[ ]
是的. kernel-image-NNN.prerm 脚本检查当前运行 kernel 是否与你要删掉的相同. 因此用下边的命令删除你不想要的内核影像:
dpkg --purge --force-remove-essential kernel-image-NNN
("NNN" 当然要用你的内核版本和修订号替换)
Debian使用手册导航 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
参考来源[ ]
http://www.debian.org/doc/manuals/debian-faq/ch-kernel.zh-cn.html