class="22672">
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;。″
1.3.4.;Limit;memory;to;low;16MB;(限制记忆体在;16;MB)
如果你的记忆体不到;16;MB,几乎一定要回答″;y;″;那麽当你使用这个核心的时候
将会节省一点记忆体。但是,当然罗,如果你有;16;MB;以上的记忆体而不回答″;n;″
的话,这个新的核心将只使用其中的;16;MB;,即使你有;34;billion;megs;也一样。
也可能会有一些不良的;386;DMA;controllers(或是一些与硬件有关的东西)无法正确
地定址到;16;megs;以上的记忆体位址;你的机器刚好有这种情况时(罕见),那麽你
也就只好回答″;y;″了。
1.3.5.;Use;-m486;flag;for;486-specific;optimizations
(使用;-m486;旗标指定对;486;做最佳化)
这将会为核心做;486;最佳化处理。新的核心将会变得稍微大一些,如果你担心的话的
话,其实它还是可以在;386;上执行。只是会比较慢,不过你感觉不出来的。
1.3.6.;SCSI;support;(SCSI;的支援)
如果你有;SCSI;设备,那麽就回答”;y;。”接著会有提示要求更进一步的资讯,像是
你是否要支援光碟机,磁碟机,还有你使用的是那一种;SCSI;介面卡。这部份请参阅
SCSI-HOWTO;,有更详细的说明。
1.3.7.;Network;device;support;(网络设备支援)
如果你有以太网络卡,或者你想要使用;SLIP,PPP,或是并列埠界面卡,那就回答
″;y;″,接著会有提示问你使用的是那一种网络卡,或要使用那一种串列通讯协定。
1.3.8.;Filesystems;(文件系统)
这将会有提示要你回答所要支援的文件系统种类,计有:
Standard(;minix;)—;新的套件不再建立;minix;文件系统,而且很多人不使用它,
但是把它配置在核心里仍然是个好主意。某些″;rescue-disk;″;程序会用到它,而且
仍然有许多磁片可能用;minix;文件系统,因为;minix;文件系统对於处理磁片方面是最
好的。
Extended;fs;—;这是扩充文件系统的第一版,现在已经不再使用。使用的时机是,如
果你有需要,你就会知道的。
Second;extented;—;这是现在新发行的套件所广泛采用的文件系统,你可能会有其中
一种。
xiafs;filesystem;—;这个文件系统曾经一度很普遍,但是在写这份文件时,我已经不
知道有任何人在使用它了。
msdos;—;嗯,你猜对了;如果你想要在;linux;下使用你硬碟中的;MS-DOS;分割区,或
是想将用;MS-DOS;格式化的磁片挂进来的话,回答″;y;″。
ums-dos;—;这是一个相当;slick;的文件系统,它能使;MS-DOS;文件系统拥有更多的特
性,像是长档名等等。这对那些不使用;MS-DOS;的人(像我)并不是很有用。
/proc;—;这是最;slick;的文件系统之一(我猜这个概念是无耻地从贝尔实验室里偷过
来的)。它不是你硬碟分割区里的任何东西,而是核心与程序之间的文件系统介面。许
多程序工具(像″;ps;″)都会用到它。
如果你已经将它安装好了,有空不妨试试看″;cat;/proc/meminfo;″或者是
″;cat;/proc/devices;″。有些;shells;,像是;rc;,会用;/proc/self/fd(在其它
系统上为;/dev/fd;)来处理输出入。几乎可以确定你在这里得要回答″;y;″,有许多
重要的;Linux;标准工具是靠它来运作的。
NFS;—;如果你在网络环境下而且想要分享档案,回答″;y;。″
ISO9660;—;绝大部分的光碟都使用这个文件系统。
OS/2;HPFS;—;在编写这份文件的时候,这个文件系统还只支援到;OS/2;HPFS;的读取。
System;V;and;Coherent;—;这是为;System;V;以及;Coherent;的分割区而设的。
1.3.8.1.;但是我不知道我需要那些文件系统!
好吧,键入″;mount;。″它看起来会像这样:
blah%;mount
/dev/hda1;on;/;type;ext2;(defaults)
/dev/hda3;on;/usr;type;ext2;(defaults)
none;on;/proc;type;proc;(defaults)
/dev/fd0;on;/mnt;type;msdos;(defaults)
仔细看看每一行;在”;type;”後面的那个字就是文件系统的格式。在这个例子中,我
的;/;和;/usr;分割区是;second;extended;格式,我有使用;/proc;,而且挂有一张以
msdos;(bleah);为文件系统格式的磁片。
如果你有使用;/proc;,可以试试″;cat;/proc/filesystems;″。它会给你一份目前使
用的核心所支援的文件系统列表。
1.3.9.;Character;devices;(字元设备)
在这里,你将会发现许多设备名称,用来设定你的印表机,汇流排滑鼠,PS/2;滑鼠(
大部分笔记型电脑使用内建的;PS/2;滑鼠),以及一些磁带机驱动程序,selection;。
当有合适的选项时,回答”;y;”。
注意:”;Selection;”让你能够执行一个程序,这个程序使你可以在;X-windows;之外
使用滑鼠在各个虚拟控制台间做剪贴的动作。如果你有串列滑鼠的话,这真的很棒,因
为它与;X-windows;之间的沟通良好,然而在编写这份文件的时候,它跟;PS/2;滑鼠还
是处不来(它会锁住滑鼠所使用的埠,使得你在杀掉这个;selection;程序之前都不可
能执行;X-windows;。)。
1.3.10.;Sound;card;(声卡)
如果你对於让隔壁的人保持清醒有兴趣的话,回答″;y;,″然後等一下会有一个配置
程序编译并详细询问你所有关於你的声卡的问题。
1.3.11.;kernel;hacking
>这是从;Linus;的;README;里摘录的:
″;kernel;hacking;″配置的细节通常会产生一个更大或是更慢的核心(或者是又大又
慢),而且可能因为将一些常式配置成很活跃地去尝试中断一些不良的程序码以便找出
核心里的问题(;kmalloc();),而使得核心变得比较不稳定。所以要产生一个核心″
产品;″的话,你在这里应该回答″;n;″。
1.4.;现在呢?(;The;Makefile;)
现在应该会有一个讯息告诉你核心已经配置好了,以及要你去″;check;the
top-level;Makefile;for;additional;configuration,”等等。
所以查看一下;Makefile。你应