Loadable module support :Y Networking support: Y PCI support:Y System V IPC :Y因为可以做一些基于System V的程序 Kernel support for a.out binaries:Y Kernel support for ELF binaries:Y Block devices :对此根据该机的硬件做了相应的配置,去除一些本机没有的硬件设备的支持模块。如:Loopback device support Networking options: Packet socket:Y TCP/IP networking:Y Network firewalls:Y The IPX protocol:Y Network device support: Network device support:Y Ethernet(10 or 100Mb/s):Y Character device Virtual terminal:Y Support for console on virtual terminal:Y Filesystems Second extended fs support:Y VFAT fs support :m 笔者有时会用到该机上的VFAT分区 /proc filesystem support Y ISO9660 cdrom filesystem support:m Network File Systems NFS filesystem support:Y SMB filesystem support:m Console drivers VGA text console :Y Video mode selection support:Y VESA VGA graphics console :Y Kernel hacking Magic SysRq key:Y
还有一些缺省的设置笔者没有改。这样编译出来的版本有700K.经过笔者调试过没有出现什么问题。
PDA 内核设置
PDA(Personal Digital Assist)如:手机,快译通,文曲星等等。这类系统要求系统稳定,内核小而且效率高,常常需要一些特殊的硬件支持。对进程调度、文件系统要求单一,有些就是单进程系统。对网络的支持由根据需要确定。RedHat的内核无法直接用来设计一些特殊要求的PDA,一般还要加入对硬件的特定模块。
可作如下设置:
Networking support:Y :一般PDA都支持上网更新功能 Kernel support for ELF binaries :Y Compile as ELF –if your GCC is ELF-GCC :Y这两个设置使系统的执行文件都为ELF Advanced Power Manager Bios support:Y Block devices :应该加入对硬件特殊的支持模块 Networking options Packet socket FileSystem Second extended fs support:Y
另外的一些功能为N,当然一些功能必须选择用来支持上述的模块。编译后为100KB---400KB
小型嵌入式系统
一个小型的嵌入式Linux系统只需要下面三个基本元素:
1.引导工具, 2.Linux微内核,由内存管理、进程管理和事务处理构成 3.初始化进程
如果要让它能干点什么且继续保持小型化,还得加上:
1.硬件驱动程序 2.提供所需功能的一个或更多应用程序。
再增加功能,或许需要这些: 一个文件系统(也许在ROM或RAM)中 TCP/IP网络堆栈
对该种系统,做了不同的设置:
不要 floppy;不要SMP、MTRR;不要 Networking、SCSI;把所有的 block device 移除,只留下 IDE device;把所有的 character device 移除;把所有的 filesystem 移除,只留下 minix;不要 sound 支援。这样己经把所有的选项都移除了。这样做之后,得到了一个 188K 的核心.