频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

Debian Linux系统下的内核编译详细讲解

来源: 作者: 出处:巧巧读书 2007-07-30 进入讨论组

  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。

观看地址: http://www.qqread.com/linux/2007/07/q323731.html 更多文章 更多内容请看系统优化大全系统安全设置系统安装手册专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章