有关Linux内核剪裁与订制方式的文章还真不多,关键是比较复杂,普通的Linux用户也不会去关心这方面内容。假如你要在Linux系统进行软件开发或则订制满足需求的Linux嵌入式系统内核,这篇文章肯定就能让你从中获得启发!
以下部份在menuconfig中配置,详尽介绍内核配置选项及删改情况:
第一部份:全部删掉
Codematurityleveloptions—>代码成熟等级选项
[]Promptfordevelopmentand/orincompletecode/drivers默认情况下是选择的,这将会在设置界面中显示还在开发或则还没有完成的代码与驱动.不选。
第二部份:乘以下选项,其它全部删掉
Generalsetup—〉
SystemVIPC(IPC:InterProcessCommunication)是组系统调用及函数库,它能让程序彼此间同步进行交换信息。个别程序以及DOS模拟环境都须要它。为进程提供通讯机制,这将使系统中各进程间有交换信息与保持同步的能力。有些程序只有在选Y的情况下能够运行,所以不用考虑,这儿一定要选。
第三部份:乘以下选项,其它全部删掉
Loadablemodulesupport—>可引导模块支持建议作为模块加入内核
[]Enableloadablemodulesupport这个选项可以让你的内核支持模块,模块是哪些呢?模块是一小段代码linux系统内核,编译后可在系统内核运行时动态的加入内核国内linux主机,因而为内核降低一些特点或是对某种硬件进行支持。通常一些不常用到的驱动或特点可以编译为模块以降低内核的容积。在运行时可以使用modprobe命令来加载它到内核中去(在不须要时还可以移除它)。一些特点是否编译为模块的原则是,不常使用的,非常是在系统启动时不须要的驱动可以将其编译为模块,倘若是一些在系统启动时就要用到的驱动例如说文件系统,系统总线的支持就不要编为模块了,否在未能启动系统。
[]Automatickernelmoduleloading通常情况下,假如我们的内核在个别任务中要使用一些被编译为模块的驱动或特点时,我们要先使用modprobe命令来加载它,内核能够使用。不过,假如你选择了这个选项,在内核须要一些模块时它可以手动调用modprobe命令来加载须要的模块,这是个很棒的特点,其实要选Y喽。
第四部份:全部删掉
Blocklayer—–〉块设备
第五部份:乘以下选项,其它全部删掉
Processortypeandfeatures—>处理器类型
SubarchitectureType(PC-compatible)—>这选项的主要的目的,是使Linux可以支持多种PC标准,通常我们使用的PC机是遵照所谓IBM兼容结构(pc/at)。这个选项可以让你选择一些其它构架。我们通常选择PC-compatible就可以了。
Processorfamily(386):它会对每种CPU做最佳化,让它跑的好又快,通常来说,你是哪些机型的就选哪些机型的就好。我选的是386,这样内核会省下不少空间
第六部份:乘以下选项红帽子linux下载,其它全部删掉
Powermanagementoptions(ACPI,APM)—>电源管理选项
[]PowerManagementDebugSupport电源管理的调试信息支持,倘若不是要调试内核有关电源管理部分,请不要选择这项。
ACPISupport—〉高级电源插口配置支持,假如BIOS支持,建议选上这项
[]Button这个选项用于注册基于电源按键的风波,例如power,sleep等,当你按下按键时风波将发生,一个守护程序将读取/proc/acpi/event,并执行用户在这种风波上定义的动作例如让系统死机。可以不选择,依照自己的需求。
第七部份:乘以下选项,其它全部删掉
Busoptions(PCI,PCMCIA,EISA,MCA,ISA)—>总线选项
[]PCIsupport
PCIaccessmode(Any)—>PCI外围设备配置,强列建议选Any,系统将优先使用MMConfig,之后使用BIOS,最后使用Direct检查PCI设备。
第八部分:乘以下选项,其它全部删掉
Executablefileformats—>
KernelsupportforELFbinariesELF是开放平台下最常用的二补码文件,它支持不同的硬件平台。一定要选。
第九部份:乘以下选项linux系统内核,其它全部删掉
Networking
Networkingoptions—>
[]Unixdomainsockets
[]TCP/IPnetworking
第十部份:乘以下选项,其它全部删掉
DeviceDrivers—>设备驱动
Blockdevices——-〉
[]CompaqSMART2support
[]CompaqSmartArray5xxxsupport
[]Loopbackdevicesupport大部份的人这一个选项都选N,由于没有必要。而且假如你要mountiso文件的话,你得选上Y。这个选项的意思是说,可以将一个文件挂成一个文件系统。假如要烧光碟片的,这么您很有可能在把一个文件烧进去之前,瞧瞧这个文件是否符合IS09660的文件系统的内容,是否符合您的需求。并且,可以对这个文件系统加以保护。不过,假如您想做到这点的话,您必须有最新的mount程序,版本是在2.5X版以上的。并且假如您希望对这个文件系统加上保护,则您必须有des.1.tar.gz这个程序。注意:此处与网路无关。建议编译成模块
[]RAMdisksupport
SCSIdevicesupport—>上面有关于USB支持的,要选择
[]SCSIdevicesupportUSB要用,必须选择
[]legacy/proc/scsi/supportUSB要用,必须选择
[]SCSIdisksupportUSB要用,必须选择
SCSILow-leveldrivers
[]SerialATA(SATA)support
[]IntelPIIX/ICHSATAsupport这个必须选择,否则难以形成引导文件
[]ViaSATAsupport
Networkingdevicesupport—>这个下边是选网卡驱动,一定要选
Ethernet(1000mbit)-我的笔记本是百兆网卡所以就选这个
[]broadcomTigon3support
Inputdevicesupport—>这个上面要设置你的键盘按键哪些的
[]Providelegacy/dev/psauxdevice
Graphicssupport—>
[]Supportforframebufferdevices支持Framebuffer的,一定要选择
USBsupport—>
[]USBdevicefilesystem这个似乎是用U盘必须的
[]EHCIHCD(USB2.0)support有usb2.0就选上把,编译成模块
[]OHCIHCDsupport必须选择,编译成模块
[]UHCIHCD(mostIntelandVIA)support必须选择,编译成模块
[]USBMassStoragesupport用U盘必须选择
USBHumanInterfaceDevice(fullHID)support上面选择usb键盘和usb按键,假如你有一定选上这个必需选
HIDinputlayersupport应当选择
/dev/hiddevrawHIDdevicesupport假如这儿有USB鼠标和键盘选项,一定要选择