LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1984|回复: 2

The Debian GNU/Linux FAQ [内核]

[复制链接]
发表于 2003-5-2 11:59:20 | 显示全部楼层 |阅读模式
9 Debian与内核


--------------------------------------------------------------------------------

9.1 可以不考虑Debian因素编译内核吗

可以.

需要注意的是: Debian的C库文件是在最新的stable发行版的 kernel headers基础上构建的,如果你碰巧需要使用比stable发行版的 kernel headers更高版本编译一个程序,那么要么升级包含headers的软件包(libc6-dev), 要么从新版的kernel中解压出headera来使用,如果kernel源文件在/usr/src/linux目录下,那么编译时需要在命令行加入 -I/usr/src/linux/include/


--------------------------------------------------------------------------------

9.2 Debian的编译内核工具

如果用户想(或必须)定制内核,建议下载使用 kernel-package软件包,其包含构建 kernelpackage的脚本,并提供了创建Debian kernel-image 软件包,在kernel源文件的最上层目录运行命令:

 make-kpkg kernel_image

要获取帮助,运行 make-kpkg --help ,或者查询make-kpkg(8)手册页.

如果没有现成的kernel-source-version 软件包(这里 "version"指kernel版本号),则用户必须自己到Linx站点上下载新版的kernel(或者需要的那个版本).

在/usr/doc/kernel-package/README处有kernel-package 的详细使用说明.

主要步骤:

 ·将Kernel源代码解包,切换到新建目录.

 ·用下面(任一)命令修改kernel配置
   ○make config(命令行界面).
   ○make menuconfig 注意必须安装了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,并生成相应的符号连接。
    ·提示用户制作启动软盘,启动盘仅包含基本内核,见9.3制作启动软盘。
   ○如果使用第二方启动加载程序,如 grub或loadin,把这个影像考到相应位置(如/boot/grub 或 MS-DOS 分区)


--------------------------------------------------------------------------------

9.3 制作启动软盘

制作启动盘需要用到Debian的 boot-floppies工具,该软件包位于Debian FTP的admin目录下。该软件包的脚本会生成一个SYSLINUX格式的启动盘,对于那些使用MS-DOS格式化的软盘,其主引导扇区的记录将被修改为直接引导linxux(或在syslinux.cfg 中定义的其它系统).这个包中的其它脚本还可以制作应急盘,甚至重建基本系统。

安装boot-floppies 后可以在/usr/doc/boot-floppies/README 找到更详细信息.


--------------------------------------------------------------------------------

9.4 Debian下的模块管理

Debian的modconf包提供了一个shell命令(/usr/sbin/modconf)用于完成模块的配置.该脚本使用菜单界面,用户通过它给出系统中可挂载设备驱动的有关细节,它再将这些细节信息生成/etc/modules.conf文件(其中列出了别名aliases和其它参数,用于连接各种模块),该配置文件用来加载/etc/modutils/目录下和/etc/modules(其中列出了需要在系统启动时加载的模块)目录的相关模块。 新版的配置帮助文件可为构造自定义内核提供帮助,同样,modconf软件包中也有一系列帮助文件(位于/usr/lib/modules_help/目录下),告诉你如何对模块设定合适的参数。


--------------------------------------------------------------------------------


9.5 如何删掉旧内核

是的,kernel-image-NNN.prerm 脚本检查当前运行kernel是否与你要删掉的相同.因此用下边的命令删除你不想要的内核影像:

 dpkg --purge --force-remove-essential kernel-image-NNN

(NNN当然要用你的内核版本和修订号替换)

-------------------------

The Debian GNU/Linux FAQ

 version CVS, 14 February 2003
 Authors, Section 15.1   
 中文翻译: eTony e-an@sohu.com
2003.05.1
2003.05.10校对
发表于 2003-5-2 13:15:25 | 显示全部楼层
http://subwiki.honeypot.net/cgi- ... ebianKernelBuilding

这篇我觉得也写的不错

几个疑惑,eTony这里提到的build内核的方法是否会自动进行patch,或者需要像我提到的网页里需要设置export PATCH_THE_KERNEL="YES"
另外,关于module packages需要分开编译吗?
3x
 楼主| 发表于 2003-5-2 14:40:26 | 显示全部楼层
这只是 Debian的一篇介绍性的FAQ,并不能替代详细的说明文档,
涉及到具体问题是还是需要参阅专门的文档!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表