Chinaunix首页 | 论坛 | 博客
  • 博客访问: 93731
  • 博文数量: 32
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 275
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-09 20:42
文章分类

全部博文(32)

文章存档

2011年(1)

2010年(15)

2009年(16)

我的朋友

分类: LINUX

2009-02-17 17:31:19

实验环境:

Vmware5.5 red hat 9.0(linux -2.4.20-8)

1、从下载对应的kernel(linux-2.4.37.tar.bz2)

2、编译安装内核:

# tar jxvf linux-2.4.37.tar.bz2 -C /usr/src  //解压文件到kernel目录

# cd /usr/src/linux-2.4.37

# make menuconfig     //选择编译选项,执行此选项前需收集本机的硬件信息(个人认为需要重点关注的选项有,scsi、file system、usb、RAID and LVM、networking、ATA,另外的选项可根据需要调整,一般默认即可,不常用到的选项可编译为模组方式。)

#make dep           //建立相依关系

# make clean          //清除旧有的设置,对一些老版本是必须的

#make bzImage        //建立核心档(arch/i386/boot/bzImage

# make modules       //建立模组(drivers, net, fs, kernel, ... etc.

# make modules_install  //安装模组((/lib/modules/2.4.37

# make install         //安装核心,此步骤可自动修改grub,添加相应的引导项(执行该命令时报“No module BusLogic found for kernel 2.4.37”错误,解决该问题需要make menuconfig时选中scsi中的BusLogic SCSI support ,然后在make install之前cp drivers/scsi/Buslogic.o /lib/modules/2.4.37/kernel/drivers/scsi/,则可顺利安装核心。

3、重新引导系统测试新核心

# reboot  

重启系统测试新核心,在grub引导界面上选择引导新编译的核心(linux2.4.37),结果报如下错误:

ds:no socket drivers loaded!

VFS:Cannot open root device “LABEL=/” or 00:00
Please append a correct “root=” boot option
Kernel panic:VFS:Unable to mount root fs on 00:00

原因为有效文件系统没有选定,将grub.conf中“kernel /vmlinu-2.4.37 ro root=LABEL=/”改为“kernel /vmlinu-2.4.37 ro root=/dev/hda2”(hda2为根目录所在),重新引导报如下错误:

ds:no socket drivers loaded!
Kernel panic:VFS:Unable to mount root fs on 03:01

其后google了多方资料,原因为登录器设置错误,将“kernel /vmlinu-2.4.37 ro root=LABEL=/”改为“kernel /vmlinu-2.4.37”后,则可顺利引导核心。

附1:关于编译选项的参考

(摘自http://www.linuxfocus.org/ChineseGB/July2002/article252.shtml)

图2:

“code maturity level options”选项

在这部分,你可以允许内核的一些试验选项(experimental options)。 有时,这些选项是必需的,比如,需要支持新的显卡。 但是,多数情况下,如果这些试验选项(experimental options)导致内核不稳定的话,最好撤销这些选项。 在图1中,你可以看见“IEEE 1394 (FireWire) support”和“Bluetooth support”选项处于灰色状态。 它们对应的代码正处于试验阶段,因此你暂时不能选择它们。 

图三: 可加载模块支持.
(从现在起,截图都在超链接里,你可以自己在新的窗口里浏览它们)
可加载模块是指内核代码(kernel code)的一些片断,比如驱动程序,当编译内核的时候它们也被单独编译。 因此,这些代码不是内核的一部分,但是当你需要它的时候,它可以被加载并使用。 通常的建议是如果可能,将内核代码编译成可加载模块,因为这样可以使内核更小,而且更稳定。 警告!千万不要将文件系统(File System)部分的代码编译为可加载模块,见图32。 如果你犯了这个错误,将文件系统(File System)部分的代码编译为可加载模块,结果将是内核无法读取它自己的文件系统。 然后内核无法加载它自己的配置文件——一些很明显是在正常启动Linux时所必需的东西。 你将会发现我很少使用可加载模块:我喜欢我的内核能够直接和硬件对话,但这只是我自己的偏好。

图4:选择处理器类型(processor type)和特征(features).
在这里,你可以选择你的处理器(Processor)的类型,决定是否选择不同的选项。 通常“/dev/cpu”选项更高级,多数用户并不需要选择它。 “High Memory Support”只有当你的计算机有超过1GB内存(不是磁盘空间)时才是必须的。 多数计算机的内存从64到512MB(并且拥有8到60GB硬盘空间),因此“High Memory Support”通常并不使用。 如果你的计算机是386或486SX的话,你必须打开“Math Emulation”选项。 这些老系统没有Linux需要的浮点运算单元(Math Emulation,也称数学协处理器),所以必须选择“Math Emulation”选项。 实际上现在所有的处理器都集成了浮点运算单元(译者注:从586级开始所有CPU集成了浮点运算单元),所以通常你可以不选择这个选项。 “MTRR”选项允许在PCI或者AGP总线众进行更快速的通讯。 由于现在所有系统都将它们的显卡接在PCI或AGP总线上,你通常需要选择“MTRR”:无论如何,打开这个选项通常都是安全的——即使你的机器没有使用PCI或AGP总线的显卡。 对称多处理器(SMP)需要能够支持超过一个处理器的主板,比如一块支持双Pentium II处理器的主板。 “Symmetric multi-processing”选项保证内核能够以最佳方式加载双处理器。 最后一个选项(“APIC”选项)通常也需要多处理器,但它通常是关闭的。

图5: 常规内核选项.
在这里,你可以制定特定的内核常规选项。 通常每个人都会选择“Networking support”,因为你通常需要它,比如Internel。 Linux有很重的Internet偏向,而且它在没有联网的情况下无法充分发挥优势。 另外,许多其他的操作也网络支持——即使它们看上去跟网络没多大关系。 内核在没有网络支持选项的情况下甚至无法编译。简而言之:一定要打开“Networking support”选项。 现在的所有系统都使用PCI总线,所以你应该选择相关选项。 “PCMCIA/CardBus support”选项处于灰色不可用状态,因为你刚才已经选择你不虚妄使用试验代码(见图2)。 如果你使用笔记本电脑,你当然需要内核支持PCMCIA/CardBus以便使用网卡或者调制解调器(modem,即通常所说的“猫”)。(请参考“PCMCIA支持(笔记本电脑)”) “System V IPC”允许程序通信和同步,“BSD process accounting”保持诸如进程结束时产生的错误代码的东西,“Sysctl support”允许程序修改某些内核选项而不需要重新编译内核或者重新启动计算机。 这些选项通常是打开的。 现在的Linux发行版(distributions)以ELF格式作为它们的“内核核心格式”(kernel core (/proc/kcore/) format): 这是不同系统库(system libraries)的标准格式,比如那种格式的提供给程序使用的系统代码片断。 “ELF”是已淘汰的“a.out”格式的继承者,和Microsoft Windows的.dll文件。 现在,所有Linux程序都使用ELF库(ELF library),不幸的是有些老的程序仍然需要a.out格式支持。 一个典型的例子是“Word Perfect 8 for XWindow”:这个应用程序只有在a.out格式下可用,所以“xwp”无法在没有a.out格式支持的情况下运行。 如果你想用“xwp”,将“a.out”作为一个可加载模块。 我还把“MISC”作为一个可加载模块。 原则上,我并不使用它,但是如果你经常使用java,python或者DOS模拟器“DOSEMU”,这样可能更方便。 我还打开了“Power Management support”和“Advanced Power Management BIOS support”选项(在图5中没有显示)。 ATX主板需要这两个选项来自动关闭计算机(turn off the computer,包括关闭电源)。 另外的电源管理功能被关闭是因为它们在XWindow下无法正常工作,而我通常在XWindow下使用Linux。 KDE和Gnome有它们自己的标准电源管理功能。

图6:配置存储设备(Memory Technology Devices).
你需要这个选项来使Linux可以读取闪存卡(Flash Card)之类的存储器。 闪存卡通常用于数码相机。 通过这个选项,Linux可以读取闪存卡(从特殊的设备中,比如读卡机),并且将图片保存为.jpg格式。 除非你确定你需要它,否则不必打开它:如果你发现自己需要,你可以在以后加上。

图7:配置并口(parallel port).
在USB技术出现以前,并口是最常用的连接计算机和打印机、扫描仪的方式。 我的打印机使用了一个并口,所以我希望这个端口在Linux下可用。 注意 ,配置并口和配置打印机不同:这将在后面的图28讨论。

图8:配置即插即用(PnP)设备.
几乎所有人都有即插即用设备,因此需要这个选项的支持。 打开这个选项使内核能够自动配置即插即用设备并且使它们在系统中能够使用。 有时需要在BIOS中打开“Plug & Play OS”,否则Linux(当然Windows也一样)无法配置即插即用设备。 “ISA Plug & Play support”选项需要以即插即用模式运行的ISA卡(ISA Card)。 例如AWE64声卡。ISA总线(ISA bus)从来都没有即插即用标准,这增加了配置这些板卡的难度。 在2.4.x内核之前的早些时候,Linux用户在启动时必须呼叫(call)“isapnp”程序(isapnptools包,使用rpm qil isapnptools查看包含的所有文件)。 “isapnp”读取“/etc/isapnp.conf”文件。 这个文件包含不同板卡使用的所有端口,地址和中断。 如果/etc/isapnp.conf中的信息不正确,或者“isapnp”没有被激活,即插即用设备就无法使用,甚至网卡、modem、声卡也无法工作。 打开“ISA Plug & Play support”选项来代替以前的工序:不再需要/etc/isapnp.conf文件。 检测和配置工作都自动进行。 在SuSE 7.1中,在编译2.4.x内核后我必须重命名/etc/isapnp.conf为“/etc/isapnp.conf.old”之类的名称。因为内核和“isapnp”使用相同的资源,造成很惨的后果。 问题在于SuSE 7.1(以及更老的版本)在启动时自动激活“isapnp”,即使内核已经包括了对即插即用的必要支持。 这只是对于老Linux系统而言,新的系统默认不使用“isapnp”

图9: 配置块设备(block devices).
事实上,每个人都要使用软盘(floppy),所以这个选项要打开(或者,象我这样,作为一个可加载模块)。 倘若/etc/modules.conf或者/etc/conf.modules文件在你的Linux发行版中已经被适当配置了,当需要访问软盘的时候,内核会自动加载必须的模块。 如果你选择了图3中适当的选项,你的使用应该没有问题。 访问软盘当然内核必须能够读取软盘的文件系统。 因此你必须正确完成图32的工作(配置文件系统)。 其他的选项在你使用并口链接IDE存储设备的时候是必需的,但是它们通常是关闭的。 “loopback device support”选项可能例外。 在Linux下,刻录(burn)光盘之前你通常需要制作一个光盘镜像,在查看镜像文件的内容时需要“loopback device”。 我选择了这个选项(第五行)作为可加载模块(在图9中没有显示出来)。

图10: 配置多驱动器(multiple devices).
普通Linux用户通常不需要RAID(廉价冗余磁盘阵列)或者LVM支持。 “RAID”的意思是系统使用两块或两块以上硬盘存储并行信息。 当一块磁盘出现问题的时候另一块可以继续工作,系统不停顿。 LVM让使用增加一块硬盘来扩展一个分区成为可能。。 在实际应用中,这意味着你不必重新分区或将一个小的分区复制到一个大分区中。 路径名也不会改变。 这可能会十分方便,但是普通用户并不需要它。

图11: 网络配置选项.
你需要“Packet Socket”选项来与网卡进行通信而不需要在内核中实现网络协议。 在这里我可以简捷一些:一般情况下,打开这个选项。 大多数选项是关闭的,除非你需要特殊的支持。 比如,我选择了“Network packet filtering (replaces ipchains)”,因为我使用了SuSE的标准防火墙(Standard Firewall)。 防火墙可以保护你的机器不受来自外部Internet的攻击——至少当你正确配置了防火墙的时候是如此。 内核级的防火墙保护显然是十分优越的。 图12展示了在“network packet filtering”选项中的高级选项(Further choices)。 你需要“Unix domain sockets”来进行网络链接,但也可以使用其他的东西: XWindow要自动使用Unix sockets,所以如果没有打开这个选项,XWindow将无法启动。 通常这个选项是打开的。 “TCP/IP networking”选项包括了Internet和内部网络所需要的协议。 通常你会希望激活TCP/IP支持。 如果你不确定是否应该打开一个选项,参考一下帮助文档。 如果你还是不知道是否应该打开它,一般来说,就把它打开,然后通过试用来决定是否保留。 将某些特定的选项编译为模块也是一个很好的办法。

图12:配置IP过滤(防火墙).
为了使防火墙能够正常工作,SuSE Linux需要对ipchains的兼容支持(Backwards Support)。 因此,我为我的SuSE Linux打开了这个选项。 如果你也在其他发行版中使用了防火墙,请参考它们的手册。

图13: 配置电话技术支持(Telephony Support).
这个选项只有当你在计算机中使用电话卡的时候才有用,比如在Internet上打电话。 大多数普通用户没有电话卡,因此不需要这个选项。

图14:配置对ATA,IDE,MFM和RLL的支持(硬盘的通讯协议).
几乎每个人都需要这些协议,除非你的机器只有SCSI硬盘而没有其他任何类型的硬盘。 因此,大多数用户都应该把它打开。 点击它下面的那一栏将会出现一个有更详细配置选项的菜单。 这些将在下面讨论。 因为它们很重要,因此这里有三幅截图。仔细填写它们:它们极为重要!

图15:配置对ATA,IDE,MFM和RLL的支持:截图1.
最上面的选项是每个使用IDE/ATAPI界面的人都需要的。 包括硬盘,磁带机,ZIP盘,光驱(CDROM)和刻录机(CD-R(W))。 基本上现在的所有计算机(译者注:这里指的是PC)都使用IDE/ATAPI界面,因此这个选项必须打开。 “include IDE/ATA-2 DISK support”选项在支持硬盘的时候需要。 因此这个选项也必须打开,除非你的机器是一个纯粹的SCSI系统。

图16:配置对ATA,IDE,MFM和RLL的支持:截图2.
如果你有ATAPI CDROM的话,应该打开“include IDE/ATAPI CDROM support”选项。 ATAPI的CD-R(W)需要仿真为SCSI的才能被访问。SCSI仿真可以用来访问CDROM和CD-R(W)。 如果你使用仿真SCSI的方式来访问CDROM,你将会遇到问题,比如当你挂载(mount)CD的时候出现错误信息(Error Message),或者使用CDROM播放CD唱片(Audio CD) 最好的办法是象图16这样,将“include IDE/ATAPI CDROM support”和“SCSI emulation support”选项都打开。 需要SCSI仿真的设备通常是CD-R(W),可以在/etc/lilo.conf中加入“append="hdd=ide-scsi":”行进行定义,这将在“配置lilo”中进行讨论。 因为我有一个使用ATAPI界面的内置ZIP驱动器,所以我把“include IDE/ATAPI FLOPPY support”选项打开。 如果你有软盘类的驱动器(译者注:包括ZIP盘、LS-120等大容软驱,但不包括MO磁光盘)。 大部分主板使用“PCI IDE”(译者注:就是指通过占用PCI总线带宽进行通信的IDE接口)对硬盘、CDROM和软驱进行访问,因此这个选项必须打开。 同样的有两种开启DMA的可能性。 DMA使你的硬件直接访问内存,而不需要处理器的干预。 因此,正如你所希望的,IDE磁盘的访问速度会加快。 “sharing PCI IDE interrupts support”是关闭的,因为你通常不需要它。 的确,某些IDE控制器允许和其他设备共享中断,比如网卡。 不幸的是,共享IDE中断会使磁盘性能下降,因此通常你不需要共享中断,除非这是解决硬件问题的唯一办法。

图17:配置对ATA,IDE,MFM和RLL的支持:截图3.
我的主板有一颗Pentium II CPU,而且使用的是Intel的芯片组,因此我希望能够对该芯片组提供特殊支持。 当你选择你自己的内核选项时,你应该看看图17没有显示的其他芯片组。

图18: 配置SCSI支持.
如果你有一块SCSI卡,你当然需要打开相关选项。这张截图只显示了当你为你的CD-R(W)选择“SCSI emulation support”(图16)时需要的选项。

图19: 配置I2O设备支持(I2O Device Support).
如果你有I2O界面,你必须选择这个选项。大多数人没有,如果你也没有的话,可以直接将它关闭。

图20: 配置网卡支持(Network Device Support).
我从来都没有在没有网卡支持的情况下将Linux内核编译成功过。 因此,你应该打开这个选项。 你还应该打开虚拟驱动(Dummy Driver),作为内核的一部分或者一个可加载模块。 当没有物理网卡的时候,Linux需要一块虚拟网卡(Dummy Network)。即使已经有了物理网卡,Linux仍然经常使用虚拟网卡。 在图21所示的菜单中,你可以选择网络类型和网卡。 注意,如果你想要通过modem来访问Internet的话,你需要进行更多的设置: 你必须打开“PPP support for async serial ports”(用于COM端口)或者“PPP support for sync tty ports”(用于通过诸如SyncLink adapter进行的高速连接)选项以提供PPP支持。 如果你没有打开它们,内核将会告诉你PPP模块(PPP Module)不存在——即使你已经编译了,错误信息(Error Message)对于查找真正问题的所在几乎没有作用。 你可以将它们都选上,这样可以避免一些问题:如果内核需要它们,就会使用它们,如果不需要,就不用。

图21:配置以太网卡(Ethernet Device).
我的以太网卡是一块使用3c509/3c529芯片的3COM百兆网卡。 因为我并不需要与网络进行物理连接(我有网卡,但是我并不通过modem来访问网络),因此我将这个趋同编译成一个可加载模块,以便万一要需要网卡的时候可以使用。 你当然需要选择与你机器的情况相符的网络类型和网卡。另外,你必须使用诸如SuSE Linux下的“yast2”之类的配置程序配置网络链接。

图22: 配置业余广播支持(Amateur Radio Support).
如果你希望使用业余广播支持(Amateur Radio Support),应该打开这个选项,并且打开相应的驱动。 多数人不需要这个选项。

图23: 配置红外线(无线)通讯支持.
如果你有无线设备,比如无线鼠标或无线键盘,你应该打开这个选项。 多数桌面机器不需要这个选项。

图24: 配置ISDN.
在这里你可以打开对ISDN卡的支持。 你必须知道自己使用的是什么板卡和芯片:你需要通过这些信息来选择正确的设备。

图25: 配置老CDROM.
在486和386机器中,CDROM并不是通过硬盘IDE(ATAPI)控制器连接的,而是通过声卡或一块特殊的板卡。 使用这些老CDROM需要选择对应的驱动。 这个选项在现在的系统中显得多余。

图26: 配置Input Core Support.
这个选项提供了2.4.x内核中最重要的特性之一的USB支持。 Input core support是处于内核与一些USB设备之间的层(Layer)。 图38显示了可供选择的USB设备,帮助文档也指明了那些设备需要“input core support”:见图38。 如果你拥有其中一种USB设备,你必须打开“input core support”选项。 现在所有的主板都有USB接口,所以,原则上你应该打开它。但是,我清楚自己并不需要USB支持,所以我关闭了它。

图27: 配置字符型设备(Character Devices):截图1.
最上面的选项(“virtual terminal”)允许在XWindow中打开xterm和使用字符界面登录。 通常这个选项是打开的。 第二个选项(“support for console on virtual terminal”)告诉内核将诸如模块错误、内核错误启动信息之类的警告信息发送到什么地方, 在XWindow下,通常设置一个专门的窗口来接收内核信息,但是在字符界面下,这些信息通常被发送到第一个虚拟终端(Virtual Terminal)(CTRL+ALT+F1)。 将这个选项打开。 你还可以选择将信息发送到串口(Serial Port)设备,比如打印机或其他的终端(第四个选项)。 如果将信息发送到打印机,你还必须使用选项三激活串口。 同样,如果你使用串口鼠标(Serial Mouse),你也必须激活串口。 再说一遍,选项三(“standard/generic (8250/16550 and compatible UARTs) serial support”)通常是打开的。 在我的系统中,我将它编译为一个可加载模块。原因是在启动的时候SuSE老抱怨“serial support”丢失,而如果确定模块的确存在,将其编译为可加载模块是避免上述抱怨的的好办法。 配置字符型设备是极为重要的工作。 如果你的配置不正确,你有可能得到一个根本不能工作的系统。 因此图28到图30讨论了更多的相关选项。

图28: 配置字符型设备(Character Devices):截图2.
如果你想使用远程使用自己机器上的xterm,比如通过telnet或者ssh,你必须打开“unix98 PTY support”选项。 桌面系统看上去似乎不需要这个选项,但是许多后台进程需要使用这个选项。 因此,无论如何,将它打开是个好主意,至少可以避免启动时显示错误信息(至少SuSE是这样)。 所有拥有并口打印机的人当然需要“Parallel printer support”。 不过,并不是所有人都需要并口:USB打印机就不需要。 内核信息可以通过打开“Support for console on line printer”选项传送到并口:通常,你并不需要它。 如果你有某些设备需要占用并口,你需要“support for user-space parallel port device drivers”选项,但是通常不必。 同样,你通常不需要“I2C support”选项:这是视频处理卡所需要的,但是如果你发现你需要它,你通常可以在以后加入到内核中——只要你觉得内核运行得好。 如果你使用鼠标和游戏杆,你需要打开相应的支持,但是并不是所有鼠标都使用这个驱动(见图29)。 现在的CD-R(W)使需要“QIC-02 Tape support”的磁带机(Tape Drives)大量闲置,因此这个选项通常是关闭的。

图29: 配置字符型设备:鼠标.
如果你使用串口鼠标,你根本不需要这个选项的任何项目,但是所有其他类型的鼠标则需要在这里进行参数配置。 如果你使用最初的总线鼠标(ORIGINAL Bus Mouse)你需要打开最上面的选项。 现在的许多计算机使用另外一种鼠标,通常(而且是错误的)称作“busmouse”或者“PS/2鼠标”。 这些鼠标通常连接到/dev/aux,并且插在一个与键盘相同的小接口中。 通常,这种鼠标通过键盘来连接到计算机。 要让这些鼠标正常工作,你必须打开如图29所示的选项,“mouse support (not serial and bus mice)”和“PS/2 mouse (aka "auxiliary device" support)”。

图30: 配置字符型设备:截图3.
这些是图28和图30中没有讨论的内核选项。 它们通常是关闭的。 “Ftape, the floppy tape device driver”选项需要对连接到软驱控制器的磁带机的支持。 甚至即使你有一个那样的磁带机,这个选项都不是必须的,至少不是首要的。 其他选项需要3D显卡。 如果你有一块连接到AGP总线(AGP Bus)的显卡,你需要打开AGP支持,还需要相应的驱动(在/dev/agpgart(AGP支持))。 注意,你可以编译一个不包含这些选项,但是能够正常工作的内核,但那没必要! 如果没有这些选项,XWindow 4.0或者更高版本(被现在的多数发行版使用)将无法工作。 我的机器有一块AGP显卡,nVidia TNT2,但是内核的相应模块并不支持这块显卡(nVidia拒绝透露开发驱动所必须的技术细节)。 很不幸,打开AGP支持对于我来说没有多大意义。 虽然有这个问题,我仍然可以在不需要内核驱动的情况下使用XWindow 4.0。 “Direct rendering support”是为XWindow 4.0提供的图形加速选项。 要想使用这个选项,你的显卡必须能够被支持,而且你必须使用XFree86 4.0及以上版本。 另外,你还需要打开“AGP support”选项。 你可以编译一个不包含这些选项的内核,它照样可以正常工作。

图31: 配置多媒体设备“Multimedia Devices”.
如果你有一块视频处理卡或者广播卡,需要打开这个选项。 跟前面一样,这个选项不是必需的。

图32: 配置文件系统(File System):截图1.
在这里,你可以指定Linux能够访问的文件系统。 或许你希望制作一个能够访问Windows分区和Windows软盘的内核,但是你必须保证内核可以访问Linux自己的ext2文件系统,或者是更新的ReiserFS文件系统。 如果你没有这样做,Linux会无法启动,因为内核无法读取它自己的启动盘(正如图3中所讨论的那样)。 要想访问DOS/Windows软盘和分区,你需要打开“DOS FAT support”选项:但是要想访问Windows NT/2000的分区,你需要另外一个只读(Read-only)驱动,这将在后面进行选择。 要想读写DOS/Windows分区和软盘,你需要打开“MSDOS fs support”选项(译者注:注意,“DOS FAT support”并不提供读写功能)。 事实上,每个人都希望这样,因此通常这个选项是开着的。 “VFAT”需要Windows95/98的长文件名支持。我的机器是一个可以通过lilo(见“配置lilo”)启动Windows 98和Linux的双重启动系统(dual boot system)。 因此,我需要激活“VFAT”。 你需要加入对ISO 9660的支持来读取标准格式的光盘(CD)。 “Joliet extensions”选项允许在ISO 9660标准中使用长文件名。 多数人都希望能够读取现在的光盘,因此这些选项通常也是打开的。 图33详细讲述了一些附加选项,其中包括包括Linux的ext2文件系统。

图33: 配置文件系统:截图2.
/proc目录中的文件包含了关于系统状态的许多重要信息,比如那些中断正在使用。 一般来说,你应该把这个选项(“/proc file system support”)打开。。 “Second extended fs support”选项针对Linux的标准文件系统(Ext2 FS) 你必须打开这个选项,并且编译进内核(不是作为可加载模块)! 图32和33没有显示“ReiserFS”选项,它也可以在这里打开:Ext2文件系统的继承者,ReiserFS能够更好的对付由于断电或者类似情况而带来的对文件系统的破坏。 目前ReiserFS仍然处于开发阶段,因此被标志为试验代码。 即使是这样,多数发行版现在都已经支持ReiserFS,但是,虽然ReiserFS被认为会在将来取代Ext2,我现在并不推荐将它作为所有分区的文件系统。 如果你(在Windows下)使用一个叫“packetCD”的将光盘虚拟成低速磁盘的软件,你需要打开“UDF file system support”选项 这对在与其他PC交换数据时十分方便。 在Linux下通过将这些被封包的光盘挂载(mount)为UDF文件系统也可以进行读取,比如使用命令“mount -t udf /dev/scd0 /cdrom”。 这一部分还包括“Network file systems”、“partition types”和“Native language support”选项。 你不必选择“Network file systems”,除非你的计算机处于一个需要使用“Network file systems”选项的大型网络之中,“SMB file support”选项也是一样,对于普通的单机(Standalone Computer)来说,并不需要这些选项。 “Partition Types”选项是一个很高级但对于有效的使用Linux内核来说并不必要的选项。 最好是关闭它。 图34和35更详细的解释了“Native Language Support”选项。

图34:配置“native language support”选项:截图1.
在这个菜单中,你可以选择那些编码将被Linux用来处理DOS和Windows下的文件名。 图34的编码表通常是用于DOS文件名的。图35NLS表中的是用于长文件名的。 图34中最上面的选项“Default NLS option”决定那种语言是系统的标准语言。 图35描绘和详细解释了“iso8859-15”选项。

图35:配置“native language support”:截图2.
你需要使用“NLS ISO 8859-15”选项来正确复制(reproduce)Windows的FAT(文件分配表)和光盘文件系统(CD File System)的长文件名扩展(Joliet extensions),这通常是一个好主意。 “NLS ISO 8859-15”选项对于西方语言来说是最适当的,而且它包含了欧洲字符。 因此,这个编码表通常都会被编译进去。 “NLS ISO 8859-1”表是以前的西方语言编码表,但是没有包括欧洲字符。

图36: 配置控制台驱动.
“VGA text console”选项在VGA模式下启动字符模式。 多数人都需要它,因此这个玄学爱你跟通常是开着的。 只有一些386计算机没有VGA兼容显卡,选择这个选项对于现在的多数计算机来说都没有问题。 第二个选项“video mode selection support”使启动的时候能够使用字符模式的分辨率。 如果你希望一行能够有更多的字的话,这通常会给你提供方便,不过通常你不必打开它们。 下面两个选项是试验性质的,我建议你关闭它们。

图37: 声卡配置.
在这部分,你可以配置声卡。 如果你的Linux发行版使用ALSA的声卡驱动(比如SuSE 6.3及以上版本),将“sound card support”作为可加载模块就足够了。 ALSA驱动将会在待会儿被编译并连接进来(见“SuSE和ALSA声卡驱动”)。 如果你的发行版使用的是内核的标准声卡驱动,你必须正确选择你使用的声卡。 事实上,这里列出了所有牌子的声卡,因此,理论上选择声卡不成问题。 如果你的声卡在你的发行版的标准内核下工作的很正常,你也可以使用配置程序(比如SuSE的“yast2”)来找出你的声卡使用什么驱动。 请放心,声卡并不是十分关键的:如果某些地方出错,你将会失去音效,但是内核仍然可以正常工作。

图38:配置USB支持.
我的主板有USB接口,但是我并不使用它。但是如果我关闭USB支持,SuSE在启动时就给我一个错误信息(Error Message)。 SuSE支持USB,因此它尝试读取需要的模块,因此我将“Support for USB”作为可加载模块。 虽然那些错误信息(Error Message)对我来说并没有什么,但是我通过更巧妙的编译USB驱动的方法消除了它们。 最简单的办法是将“Preliminary USB device filesystem”选项打开,然后加载一个特殊的USB驱动。 因为我的Pentium II主板已经很老了,我选择了“UHCI (Intel PIIX4, VIA, ...)”驱动作为可加载模块。 但是,如果你有一块Intel芯片组的新主板,你必须选择“UHCI Alternate Driver (JE) support”模块,而如果是Compaq的计算机,你应该选择“OHCI support”。 理论上,你只需要这三个模块中的一个,但是如果你不清楚的话,可以选择所有模块。 你的Linux发行版会自动检测出哪个模块是它需要的,然后自动加载它。

仅仅开启主板的USB端口还不够,你需要指明使用哪个USB驱动。 “USB Device Class drivers”下出现的列表有不同的选项。 所有这些都是很直观的,几乎不会出错:如果还有疑问,阅读帮助文档。

图39: 配置“kernel hacking”选项.
这很简单:不要打开! 这是一个对于希望知道系统崩溃原因和读取硬盘缓存的程序员来说很有用的选项:这个选项对于普通用户来说完全没有作用。

附2:grub.conf

default=0

timeout=10

splashimage=(hd0,0)/grub/splash.xpm.gz

title Red Hat Linux (2.4.37)

        root (hd0,0)

        kernel /vmlinuz-2.4.37

        initrd /initrd-2.4.37.img

title Red Hat Linux (2.4.20-8)

        root (hd0,0)

        kernel /vmlinuz-2.4.20-8 ro root=LABEL=/

        initrd /initrd-2.4.20-8.img

阅读(967) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~