3回答

0收藏

【详述】linux内核裁剪的具体过程和方法

其他 其他 2716 人阅读 | 3 人回复 | 2010-04-28

?

?(原文件名:美好时光副本.jpg)?引用图片

本文转引自?飞凌嵌入式?资料中心?www.witech.com.cn

在menuconfig中配置:

详细介绍内核配置选项及删改情况
第一部分:全部删除
Code?maturity?level?options?--->?代码成熟等级选项
[]Prompt?for?development?and/or?incomplete?code/drivers?默认情况下是选择的,这将会在设置界面中显示还在开发或者还没有完成的代码与驱动.不选。
第二部分?:除以下选项,其它全部删除
General?setup—〉
System?V?IPC?(IPC:Inter?Process?Communication)是组系统调用及函数库,它能让程序彼此间同步进行交换信息。某些程序以及DOS模拟环境都需要它。为进程提供通信机制,这将使系统中各进程间有交换信息与保持同步的能力。有些程序只有在选Y的情况下才能运行,所以不用考虑,这里一定要选。
第三部分:除以下选项,其它全部删除
Loadable?module?support?--->?可引导模块支持?建议作为模块加入内核
[]?Enable?loadable?module?support?这个选项可以让你的内核支持模块,模块是什么呢?模块是一小段代码,编译后可在系统内核运行时动态的加入内核,从而为内核增加一些特性或是对某种硬件进行支持。一般一些不常用到的驱动或特性可以编译为模块以减少内核的体积。在运行时可以使用modprobe命令来加载它到内核中去(在不需要时还可以移除它)。一些特性是否编译为模块的原则是,不常使用的,特别是在系统启动时不需要的驱动可以将其编译为模块,如果是一些在系统启动时就要用到的驱动比如说文件系统,系统总线的支持就不要编为模块了,否在无法启动系统。
[]Automatic?kernel?module?loading?一般情况下,如果我们的内核在某些任务中要使用一些被编译为模块的驱动或特性时,我们要先使用modprobe命令来加载它,内核才能使用。不过,如果你选择了这个选项,在内核需要一些模块时它可以自动调用modprobe命令来加载需要的模块,这是个很棒的特性,当然要选Y喽。
第四部分:全部删除
Block?layer-----〉块设备
第五部分:除以下选项,其它全部删除
Processor?type?and?features?--->?处理器类型
Subarchitecture?Type?(PC-compatible)?--->?这选项的主要的目的,是使Linux可以支持多种PC标准,一般我们使用的PC机是遵循所谓IBM兼容结构(pc/at)。这个选项可以让你选择一些其它架构。我们一般选择PC-compatible就可以了。
Processor?family(386)?:?它会对每种CPU做最佳化,让它跑的好又快,一般来说,你是什么型号的就选什么型号的就好。我选的是386,这样内核会省下不少空间
第六部分:除以下选项,其它全部删除
Power?management?options?(ACPI,?APM)?--->?电源管理选项
[?]?Power?Management?Debug?Support?电源管理的调试信息支持,如果不是要调试内核有关电源管理部份,请不要选择这项。
ACPI?Support?---〉高级电源接口配置支持,如果BIOS支持,建议选上这项
[]Button?这个选项用于注册基于电源按钮的事件,比如power,?sleep等,当你按下按钮时事件将发生,一个守护程序将读取/proc/acpi/event,并执行用户在这些事件上定义的动作比如让系统关机。可以不选择,根据自己的需求。
第七部分:除以下选项,其它全部删除
Bus?options?(PCI,?PCMCIA,?EISA,?MCA,?ISA)?--->?总线选项
[]PCI?support
PCI?access?mode?(Any)?--->?PCI外围设备配置,强列建议选Any,系统将优先使用MMConfig,然后使用BIOS,最后使用Direct检测PCI设备。
第八部分:除以下选项,其它全部删除
Executable?file?formats?--->
Kernel?support?for?ELF?binaries?ELF是开放平台下最常用的二进制文件,它支持不同的硬件平台。一定要选。
第九部分:除以下选项,其它全部删除
Networking
Networking?options?--->
[]Unix?domain?sockets
[]TCP/IP?networking
第十部分:除以下选项,其它全部删除
Device?Drivers?--->设备驱动
Block?devices-------〉
[]Compaq?SMART2?support?
[]?Compaq?Smart?Array?5xxx?support?
[]Loopback?device?support?大部分的人这一个选项都选N,因为没有必要。但是如果你要mount?iso文件的话,你得选上Y。这个选项的意思是说,可以将一个文件挂成一个文件系统。如果要烧光盘片的,那么您很有可能在把一个文件烧进去之前,看看这个文件是否符合IS09660的文件系统的内容,是否符合您的需求。而且,可以对这个文件系统加以保护。不过,如果您想做到这点的话,您必须有最新的mount程序,版本是在2.5X版以上的。而且如果您希望对这个文件系统加上保护,则您必须有des.1.tar.gz?这个程序。注意:此处与网络无关。建议编译成模块
[]?RAM?disk?support
SCSI?device?support?--->?里面有关于USB支持的,要选择
[]SCSI?device?support?USB要用,必须选择
[]legacy?/proc/scsi/?support?USB要用,必须选择
[]SCSI?disk?support?USB要用,必须选择
SCSI?Low-level?drivers
[]Serial?ATA(SATA)?support
[]Intel?PIIX/ICH?SATA?support??这个必须选择,否则无法产生引导文件
[]Via?SATA?support
Networking?device?support?--->?这个下面是选网卡驱动,一定要选
Ethernet(1000mbit)-??我的电脑是千兆网卡所以就选这个
[]broadcom?Tigon3support
Input?device?support?--->?这个里面要设置你的鼠标键盘什么的
[]Provide?legacy?/dev/psaux?device
Graphics?support?--->
[]Support?for?frame?buffer?devices?支持Frame?buffer的,一定要选择
USB?support?--->
[]USB?device?filesystem?这个好象是用U盘必须的
[]EHCI?HCD?(USB?2.0)?support?有usb2.0就选上把,编译成模块
[]OHCI?HCD?support?必须选择,编译成模块
[]UHCI?HCD?(most?Intel?and?VIA)?support?必须选择,编译成模块
[]USB?Mass?Storage?support?用U盘必须选择
USB?Human?Interface?Device?(full?HID)?support?里面选择usb鼠标和usb键盘,如果你有一定选上这个必需选
HID?input?layer?support?应该选择
/dev/hiddev?raw?HID?device?support如果这里有USB键盘和鼠标选项,一定要选择

第十一部分:除以下选项,其它全部删除
file?systems?--->文件系统
?Second?extended?fs?support?
  • ?Ext2?extended?attributes?
  • ?Ext2?POSIX?Access?Control?Lists?
  • ?Ext2?Security?Labels?
    ?Ext3?journalling?file?system?support?
  • ?Ext3?extended?attributes?
  • ?Ext3?POSIX?Access?Control?Lists?
  • ?Ext3?Security?Labels?以上这些肯定是要选择的,linux的标准文件系统
    ?Kernel?automounter?support?内核自动挂载的,当然要选
    ?Kernel?automounter?version?4?support?(also?supports?v3)?当然要选
    DOS/FAT/NT?Filesystems?--->?
    ?DOS?FAT?fs?support?
    ?MSDOS?fs?support?
    ?VFAT?(Windows-95)?fs?support?
    ?NTFS?file?system?support
    Native?language?support??语言支持,这里就支持英语和汉语就行了,不多说了
    []NLS?ISO?8859-1?必须选择,这个是关于U盘挂载的。
    CD-ROM/DVD?Filesystems?--->?这个是关于挂载ISO文件的,用的话就选。
    ?ISO?9660?CDROM?file?system?support
    第十二部分:?全部删除
    Instrumentation?support?
    第十三部分:全部删除
    Kernel?hacking?--->破解核心?可不是当骸客啦,不选
    第十四部分:全部删除
    Security?options?--->
    第十五部分:全部删除
    Cryptographic?options?--->这是核心支持加密的选项
    第十六部分:全部删除
    Library?routines?--->
    ?
  • 分享到:
    回复

    使用道具 举报

    回答|共 3 个

    倒序浏览

    沙发

    yanhong-182997

    发表于 2010-4-30 10:22:39 | 只看该作者

    回复:【详述】linux内核裁剪的具体过程和方法

    顶!!
    回复 支持 反对

    使用道具 举报

    板凳

    yanhong-182997

    发表于 2010-5-4 14:39:39 | 只看该作者

    RE:【详述】linux内核裁剪的具体过程和方法

    顶!!!!
    回复 支持 反对

    使用道具 举报

    地板

    yanhong-182997

    发表于 2010-5-10 13:36:02 | 只看该作者

    RE:【详述】linux内核裁剪的具体过程和方法

    顶!!!!!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条