您现在的位置是: IT外包 ->技术支持 ->基础知识 ->
 
本文关键字: Debian Linux系统下的内核编译详细讲解
Google
 
Debian Linux系统下的内核编译详细讲解
作者: 不详 | 发布时间: 2008-06-12 14:30 | 信息类别: 基础知识 | 访问人次:
评论 推荐 打印 编辑 】 【 关闭
  

  
来源:赛迪网 作者:kit

1. 传统方式直接在console中编译官方内核,需要以下软件
bin86 - 16-bit assembler and loader
diff - File comparison utilities
libc6-dev - GNU C Library: Development Libraries and Header Files
libncurses5-dev - Developer's libraries and docs for ncurses
patch - Apply a diff file to an original
2.使用2.4.x内核的图形界面配置程序(make xconfig),还需要
tk8.4 - Tk toolkit for Tcl and X11, v8.4 - run-time files
使用2.6.x内核的Qt图形界面配置程序(make xconfig),还需要
libqt3-mt-dev - Qt development files (Threaded)
使用2.6.x内核的GTK图形界面配置程序(make gconfig),还需要
libgtk2.0-dev - Development files for the GTK+ library
3. 如果您想制作内核的deb包,还需要
debianutils - Miscellaneous utilities specific to Debian
kernel-package - A utility for building Linux kernel related Debian package
ksymoops - Linux kernel oops and error message decoder
内核编译
http://www.debian.org/doc/manuals/reference/ch-kernel.zh-cn.html
Debian unstable发行版中的gcc、binutils和modutils可用来编译最新的Linux内核。这方面的官方信息,
参阅/usr/share/doc/kernel-package/README.gz文件的后半部分。
内核编译是个很困难的议题,由于目标在不断的变化,即使是最受人尊敬的开发者也会有不同的见解:
Manoj Srivastava写到: --initrd需要Debian专用cramfs补丁。 Herbert Xu写到:不,它不需要,想使用
除CRAMFS以外的文件系统只需在/etc/mkinitrd/mkinitrd.conf中设置MKIMAGE。
按照Manoj和Kent撰写的/usr/share/doc/kernel-package/README.gz的指导小心行事,如果要编译最新版本
的内核请确认安装了最新unstable版kernel-package软件包。
对于单机内核编译,initrd不是必须的。我用它是希望我新编译的内核与相应的内核镜像一模一样。如果使
用initrd,请先阅读一下mkinitrd(8)和mkinitrd.conf(5)。亦可参阅http://bugs.debian.org/149236。
Debian标准方式
关心一下有关kernel-package、gcc、binutils和modutils的错误报告。请按有关要求使用较新的版本。
在Debian系统中用源码编译自定义内核要特别小心。用make-kpkg的--append_to_version选项来创建多重内核镜
像比较安全。
# apt-get install debhelper modutils kernel-package libncurses5-dev
# apt-get install kernel-source-2.4.18 # 使用最新版本
# apt-get install fakeroot
# vi /etc/kernel-pkg.conf # 输入我的名字和email
$ cd /usr/src
# 创建目录
$ tar --bzip2 -xvf kernel-source-2.4.18.tar.bz2
$ cd kernel-source-2.4.18 # 如果这是你的内核源码
$ cp /boot/config-2.4.18-386 .config # 将当前配置设定为默认配置
$ make menuconfig # 按自己的喜好来定制
$ make-kpkg clean # 必须执行这步(per: man make-kpkg)
$ fakeroot make-kpkg --append_to_version -486 --initrd \
--revision=rev.01 kernel_image \
modules_image # modules_image可以
是pcmcia-cs*等。
$ cd .. # dpkg -i kernel-image*.deb pcmcia-cs*.deb # 安装
make-kpkg kernel_image实际上执行了make oldconfig和make dep。如果没使用initrd就不要使用
--initrd选项。
如果想加载pcmcia-cs模块或没有pcmcia,应该在make menuconfig后选"General setup —>"进入
"PCMCIA/CardBus support —>",配置" PCMCIA/CardBus support"选项(例如,取消复选项)。
对于SMP机器,参照kernel-pkg.conf(5)的说明设置CONCURRENCY_LEVEL。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/31/showart_585244.html
评论 推荐 打印 编辑 】 【 关闭
『相关链接』
序号
标题 发布日期
1
2008-06-12 14:42:17
2
2008-06-12 14:31:03
3
2008-06-12 14:20:52
4
2008-06-11 21:59:00
5
2008-06-11 21:41:52
6
2008-06-11 19:37:27
7
2008-06-11 17:39:55
8
2008-06-11 14:44:08
9
2008-06-11 11:26:45
10
2008-05-20 16:45:35
    查看所有相关的信息...
【郑重声明】【上海IT外包服务网】 刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何投资或其他建议。转载需经作者本人同意并注明出处。本网站有部分文章是由网友自由上传。对于此类文章本站仅提供交流平台,不为其版权负责。如果您发现本网站上有侵犯您的知识产权的文章,请发信至 或直接电话联系: 021-58879030
请您留言
『发表评论』
匿名发表 会员ID: 密码:

上海蝶应信息科技有限公司
上海市商城路341号紫光大厦1305室 +0086-21-58878998 11394019
dieying@541help.com +0086-21-58879030HappyFreeAngel@hotmail.com
Copyright@2007 IT-WAIBAO.COM Inc.沪ICP备05039378号 版权所有2007-2010 管理员登陆