linux内核的编译

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;(网络支援)
如果你有连接网络,譬如说,你与;internet;有连线,或是你将使用;SLIP,PPP,term
或其它方式拨接到;internet;上的话,回答″;y; 。″

推荐阅读