Power Management support:电源管理支持。
Advanced Power Management BIOS support:高级电源管理BIOD支持。
8.5. Memory Technology Device(MTD)
MTD设备支持。可不选。
8.6. Parallel port support
串口支持。如果不打算使用串口,就别选了。
8.7. Plug and Play configuration
即插即用支持。虽然Linux对即插即用目前支持的不如Windows好,但是还是选上吧,这样你可以拔
下鼠标之类的体验一下Linux下即插即用的感觉。
8.8. Block devices
块设备支持。这个就得针对自己的情况来选了,简单说明一下吧:
Normal PC floppy disk support:普通PC软盘支持。这个应该必选。
XT hard disk support:
Compaq SMART2 support:
Mulex DAC960/DAC1100 PCI RAID Controller support:RAID镜像用的。
Loopback device support:
Network block device support:网络块设备支持。如果想访问网上邻居的东西,就选上。
Logical volume manager(LVM)support:逻辑卷管理支持。
Multiple devices driver support:多设备驱动支持。
RAM disk support:RAM盘支持。
8.9. Networking options
网络选项。这里配置的是网络协议。内容太多了,不一一介绍了,自己看吧,如果你对网络协议有
所了解的话,应该可以看懂的。如果懒得看,使用缺省选项(肯定要选中TCP/IP networking哦)就可以
了。让我们看看,TCP/IP、ATM、IPX、DECnet、Appletalk……支持的协议好多哦,IPv6也支持了,Qos
and/or fair queueing(服务质量公平调度)也支持了,还有kHTTPd,不过这些都还在实验阶段。
8.10. Telephony Support
电话支持。这个是什么东东?让我查查帮助,原来是Linux下可以支持电话卡,这样你就可以在IP上
使用普通的电话提供语音服务了。记住,电话卡可和modem没有任何关系哦。
8.11. ATA/IDE/MFM/RLL support
这个是有关各种接口的硬盘/光驱/磁带/软盘支持的,内容太多了,使用缺省的选项吧,如果你使用
了比较特殊的设备,比如PCMCIA等,就到里面自己找相应的选项吧。
,比如PCMCIA等,就到里面自己找相应的选项吧。
8.12. SCSI support
SCSI设备的支持。我没有SCSI的设备,所以根本就不用选,如果你用了SCSI的硬盘/光驱/磁带等设
备,自己找好了。
8.13. IEEE 1394(FireWire)support
这个是什么?低版本的没有见过,看看帮助再说。原来是要Fireware硬件来提高串行总线的性能,
我没有,不选了。
8.14. I2O device support
这个也不清楚,帮助里说是这个需要I2O接口适配器才能支持的,在智能Input/Output(I2O)体系
接口中使用,又是要硬件,不选了。
8.15. Network device support
网络设备支持。上面选好协议了,现在该选设备了,可想而知,内容肯定多得很。还好还好,里面
大概分类了,有ARCnet设备、Ethernet(10 or 100 Mbit)、Ethernet(1000Mbit)、Wireless LAN
(non-hamradio)、Token Ring device、Wan interfaces、PCMCIA network device support几大类。
我用的是10/100M的以太网,看来只需要选则这个了。还是10/100M的以太网设备熟悉,内容虽然多,一
眼就可以看到我所用的RealTeck RTL-8139 PCI Fast Ethernet Adapter support,为了免得麻烦,编译
到内核里面好了,不选M了,选Y。耐心点,一般说来你都能找到自己用的网卡。如果没有,你只好自己
到厂商那里去要驱动了。
8.16. Amateur Radio support
又一个不懂的,应该是配置业余无线广播的吧,没有,不要了。
8.17. IrDA(infrared)support
这个要红外支持,免了。
8.18. ISDN subsystem
如果你使用ISDN上网,这个就必不可少了。自己看着办好了。
8.19. Old CD-ROM drivers(not SCSI、not IDE)
做的可真周到,原来那些非SCSI/IDE口的光驱谁还在用啊,自己选吧,反正我是用的IDE的CD-ROM,
不选这个。
8.20. Character devices
字符设备。这个内容又太多了,先使用缺省设置,需要的话自己就修改。把大类介绍一下吧:
I2C support:I2C是Philips极力推动的微控制应用中使用的低速串行总线协议。如果你要选择下面
的Video For Linux,该项必选。
Mice:鼠标。现在可以支持总线、串口、PS/2、C&T 82C710 mouse port、PC110 digitizer pad,
自己根据需要选择。
Joysticks:手柄。即使在Linux下把手柄驱动起来意义也不是太大,游戏太少了。
Watchdog Cards:虽然称为Cards,这个可以用纯软件来实现,当然也有硬件的。如果你把这个选中
,那么就会在你的/dev下创建一个名为watchdog的文件,它可以记录你的系统的运行情况,一直到系统
重新启动的1分钟左右。有了这个文件,你就可以恢复系统到重启前的状态了。
Video For Linux:支持有关的音频/视频卡。
Ftape, the floppy tape device driver:
PCMCIA character device support:
8.21. File systems
文件系统。内容又太多了,老法子,在缺省选项的基础上进行修改。介绍以下几项:
Quota support:Quota可以限制每个用户可以使用的硬盘空间的上限,在多用户共同使用一台主机
的情况中十分有效。
DOS FAT fs support:DOS FAT文件格式的支持,可以支持FAT16、FAT32。
ISO 9660 CD-ROM file system support:光盘使用的就是ISO 9660的文件格式。
NTFS file system support:ntfs是NT使用的文件格式。
/proc file system support:/proc文件系统是Linux提供给用户和系统进行交互的通道,建议选上
,否则有些功能没法正确执行。
还有另外三个大类都规到这儿了:Network File Systems(网络文件系统)、Partition Types(分
区类型)、Native Language Support(本地语言支持)。值得一提的是Network File Systems里面的两
种:NFS和SMB分别是Linux和Windows相互以网络邻居的形式访问对方所使用的文件系统,根据需要加以
选择。
8.22. Console drivers
控制台驱动。一般使用VGA text console就可以了,标准的80*25的文本控制台。
8.23. Sound
声卡驱动。如果你能在列表中找到声卡驱动那自然最好,否则就试试OSS了。
8.24. USB supprot
USB支持。很多USB设备,比如鼠标、调制解调器、打印机、扫描仪等,在Linux都可以得到支持,根
据需要自行选择。
8.25. Kernel hacking
配置了这个,即使在系统崩溃时,你也可以进行一定的工作了。普通用户是用不着这个功能的。
总算配置完了,现在存盘退出,当然你也可以把现在的配置文件保存起来,这样下次再配置的时候就省力气了。
三 编译过程
在繁杂的配置工作完成以后,下面你就可以自己到杯茶耐心等候了。与编译有关的命令有如下几个:
#make clean --删除不必要的模块和文件
#make bzImage --开始编译系统内核
#make modules --开始编译外挂模块
#make modules_install --安装编译完成的模块
下面是生成配置
#make install
这里如果出现 "NO MODULE BUSLOGIC FOUND",解决方法
第1种方法:
编辑文件 /etc/modules.conf
将"alias scsi hostadapter BusLogic"这行注释掉,
即#alias scsi hostadapter BusLogic
保存 /etc/modules.conf,退出
# make install
第2种方法:
手动添加启动项
#depmod -a
#cp /usr/src/linux/System.map /boot/System.map-2.6.13
#cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz-2.6.13
四 运行内核的常见问题
1. 编译完后不启动,报以下错误:
VFS: Cannot open root device "LABEL=/" or 0.0
>; Please append a correct "root=" boot option
>; kernel panic: VFS: Unable to mount root fs
如果是上面的错误,请确认你把如下选项配置进kernel
(1) 如果/使用了EXT3 文件系统,在内核中要加入EXT3的支持
(2)如果是IDE的硬盘必须要IDE的驱动加载
(3)在block devices--RAM disk support 中选取 Initial disk(initrd) support,有时在mount / 之前
需要加载一些模块,这些modules 被做到一个镜像文件中--kernel-ver.img 中,这个文件位于/boot.举个例子,如果EXT3 的是以模块加载的话,在mount / 时就需要用到它,所以系统就在initrd.kernel-ver.img 中寻找它.
使用命令 mkinitrd initrd.kernel-ver.img kernel-ver 可以生成initrd.kernel-ver.img
2. 系统启动过程中加载iptables时报错的处理方法
修改/etc/rc.sysinit文件:
将其中所有的/proc/ksyms替换为/proc/kallsyms。
将其中所有的/proc/sys/kernel/modprobe 替换为/sbin/modprobe
在文件中mount -f /proc这一句下添加mount -f /sys
在文件中的action $"Mounting proc filesystem: " mount -n -t proc /proc /proc 这一句的下面添加 action $"Mounting sysfs filesystem: " mount -n -t sysfs /sys /sys
修改/etc/fstab文件:
加入none /sys sysfs defaults 0 0
修改/etc/init.d/halt文件:
将halt_get_remaining函数内的awk '$2 ~ /^\/$|^\/proc|^\/dev/{next}改为
awk '$2 ~ /^\/$|^\/proc|^\/sys|^\/dev/{next}
创建目录:
mkdir /sys
然后重启机器,模块的问题应该解决的差不多了。
到这里编译工作顺利结束了.以上是本人在编译内核过程中遇到的问题以及解决方法,有些问题没有遇到,就没有写进去,希望大家给予补充指正,充分弘扬Linux精神!!!
注本文引用文章:
(1)
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=80658
(2)
http://www.icwin.net/ShowArtitle.asp?art_id=10&cat_id=16
(3)
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&p=4409655