当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > linux内核的编译

Unix/Linux
linux php扩展安装方法
Linux上架设支持JSP+PHP的Web服务器
FreeBSD WEB服务器架设笔记
Linux下Web服务器架设攻略
Apache配置技巧
在 Linux 上安装 PostgreSQL
文件属性控制命令chmod
解决安装Domino for Linux时配置的Web服务器无法启动的问题
在Linux下配置和安装Domino 服务器的问题
Linux下配置和安装Domino 服务器 2
Linux下配置和安装Domino 服务器 3
Linux编译内核
I810 Graphics LINUX Driver的安装
在Linux下如何使用软盘、光盘等分区
建立并安装一个定制的内核
中小型企业的Sendmail邮件服务器应用实例
Linux下 Sendmail服务器 转发功能的讲解
linux下文件解压
配置Sendmail服务器以防治垃圾邮件
配置Sendmail服务器以防治垃圾邮件 2

Unix/Linux 中的 linux内核的编译


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 93 ::
收藏到网摘: n/a

  1. 要怎麽进行核心的配置?
1.1. 取得原始程序码
你可以经由 ftp 从 ftp.funet.fi 或是 mirror in /pub/OS/Linux/PEOPLE/Linus 取
得原始程序码。也可以到这个节点的 mirror 或其他节点去拿。档案名称一般是以标记
成 linux-x.x.x.tar.gz 为代表,其中的 x.x.x 是版本编号。较新的(更好的?)版
本以及修补档一般是放在类似”v1.1 ”以及”v1.2”这样的子目录下。
强烈建议你去找 mirror 的 ftp 节点,而不要直接到 ftp.funet.fi 去!底下是一些
mirrors 以及其他节点的简要列表
( ftp.funet.fi 的 mirror 节点:)
Germany:        ftp.Germany.EU.net
UK:             doc.ic.ac.uk
Australia:      kirk.bu.oz.au
( 其它有摆放核心档案的节点:)
USA:            tsx-11.mit.edu
USA:            sunsite.unc.edu
Germany:        ftp.dfv.rwth-aachen.de
如果你没有办法上 ftp ,有个存放 linux 的 BBS 系统列表会定期刊登在
comp.os.linux.announce 上,试著到那边去找点帮助。
1.2. 解开原始程序码的包装
确定你是以″ root ″的身份签入,然後 cd 到 /usr/src 。如果你的 linux 是从其
它任何可能的地方取得的,在这个目录底下应该已经存在一个叫做” linux ”的子目
录。这是旧版的 linux 原始程序码。如果你还有磁碟空间而且想要玩得安全一点,那
麽你会想要保留这个子目录的。有个好主意是根据你目前使用的核心版本来修改这个子
目录的名称。″ uname -r ″这个指令将会告诉你新的版本。
所以,如果″ uname -r ″显示″ 1.1.47,″你就可以把″ linux ″改名为
″ Linux-1.1.47 。″如果你是个鲁莽型的人,那就直接把这个子目录清除掉。无论是
哪一种情况,反正只要确定在解开全部的原始程序码之前, /usr/src 目录下没有
”linux ”这个子目录就对了。
在 /usr/src 目录下,用″zcat linux.x.x.tar.gz | tar xvf- ″来解开原始程序码
的包装(你也可以用更简单的″ tar zxvf linux.x.x.x.tar.gz″;如果你拿到的是
..tar 的档案(後面没有加上  gz ),那就用” tar xvf linux.x.x.x.tar ”)。你
将会看到原始程序的内容飞逝而过。当它完成以後,将会出现一个新的″ linux ”子
目录。
″ cd ″到 linux 目录下然後查看 README 档,里面应该会有一段标题为
″INSTALLING the kernel″ 或类似的文字。如果适当的话,先执行说明里的指示 —
建立该有的符号链结,移除过时的 .o 档案等等等诸如此类的工作。
1.3. 配置核心
注意:这部份内容有些是重覆 Linus 的 README 档案中的相应章节或加以修订。
在 /usr/src/linux 下执行″ make config ″ 这个命令将会启始一个指令稿,而这个
指令稿会问你各种问题。它需要 bash ,所以要确定 bash 是 /bin/bash,/bin/sh 或
$BASH 。
你现在该准备好回答这些问题,通常用″ y ″或″ n ″就可以了。有一些很明显或是
不重要的选项将不会在此加以说明。
1.3.1. Kernel math emulation (核心的浮点运算模拟)
如果你没有数学辅助运算处理机(ie,你只有一台单纯的 386 或 486SX ),那麽你在
这里要回答″ y ″。如果你已经有数学辅助运算处理机却还回答″ y ″,那也不必太
担心 — linux 还是会去使用它而忽略掉核心的模拟程序。唯一的影响是编译出来的核
心变大了。
1.3.2. Normal harddisk support (标准硬碟支援)
你在这里差不多都得回答″ y ″。它代表的意思是核心将会支援标准的 PC 磁碟,例
如大多数人使用的 IDE 界面硬碟。这不包括 SCSI 设备的支援。
1.3.3. Networking support (网络支援)