Linux内核裁剪的具体步骤

发表于:2008-12-12 15:20

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:CSDN

分享:
  附:内核配置

  内核配置的方法很多,make   config、make   xconfig、make   menuconfig、make   oldconfig等等,它们的功能都是一样的,区别应该从名字上就能看出来,只有make   oldconfig是指用系统当前的设置(./.config)作为缺省值。这里用的是make   menuconfig。

  需要牢记:不必要的驱动越多,内核就越大,不仅运行速度慢、占用内存多,在少数情况下、还会引发其他问题。具体步骤如下:

  ● 首先确定shell是bash

  ● 然后

  $make   menuconfig

  ● 有一些默认的符号其含义如下:

  y:加载

  n:不加载

  m:作为模块加载

  可以配置的选项有以下一些:

  1)code   maturity   level   option   代码成熟度

  prompt   for   development   and/or   incomplete   code/drivers   [N/y/?]

  如果有兴趣测试一下内核中尚未最终完成的某些模块,就选y,否则选N,想知道更详细的信息选?会看到联机帮助(以下?的含义相同),N大写表示缺省值。

  2)processor   type   and   features   处理器类型及特性

  Processor   family(386,486/Cx486,586/K5/5x86/6x86,Pentium/K6/TSC,   PPro/6x86MX)[PPro/6x86MX]

  []内的是缺省值,我们可以根据前面介绍的uname   命令执行的结果选择。此项如果高于386,那么生成的内核在386机器上将不能启动。

  Math   emulation(CONFIG_MATH_EMULATION)[N/y/?]

  需要进行协处理器模拟吗?一般的机器都回n。如果机器已经有硬件的协处理器,那么内核仍将使用硬件,而忽略软件的math-emulation,这将使内核变大变慢。

  MTRR(Memory   Type   Range   Register)support(CONFIG_MTRR)[N/y/?]

  在Pentium、Pro/Pentium   II类的系统中可以提高图像写入速度。

  Symmetric   multi-processing   support(CONFIG_SMP)[Y/n/?]

  如果您的机器有多个处理器,就选y。此时要选中下面的Enhanced   Real   Time   Clock   Support

  3)loadable   model   support   可加载模块支持

  Enable   loadable   module   support(CONFIG_MODULES)[Y/n/?]

  最好选y,不然许多仅供动态加载的模块就不能用了。

  Set   version   information   on   all   symbols   for   modules(CONFIG_MODVERSIONS)[N/y/?]

  选N

  Kernel   module   loader(CONFIG_KMOD)[N/y/?]

  4)general   setup   一般设置

  Networking   support(CONFIG_NET)[Y/n/?]

  选y吧,现在还有几台计算机不用上网呢?

  PCI   support   (CONFIG_PCI)[Y/n/?]

  PCI   总线和设备总该有吧。

  PCI   access   mode(BIOS,Direct,Any)[Any]

  缺省值比较保险,但如果您对您的主板很有信心,就选BIOS。

  PCI   quirks   (CONFIG_PCI_QUIRKS)[Y/n/?]

  用于修补BIOS中对PCI有影响的BUG,同样,如果您对主板很有信心,就选n。

  Backward-compatible   /proc/pci〉(CONFIG_PCI_OLD_PROC)[Y/n/?]

  以前的内核使用/proc/pci,新版内核使用/proc/bus/pci,要保持兼容性就选y。

  MCA   support(CONFIG_MCA)[N/y/?]

  查看帮助吧。

  SGI   Visual   Workstation   support(CONFIG_VISWS)[N/y/?]

  您的机器是SGI的吗?是就选y。

  System   V   IPC(CONFIG_SYSVIPC)[Y/n/?]

  进程间通信函数和系统调用。Linux内核的五大组成部分之一,一定要选。

  BSD   Process   Accounting(CONFIG_BSD_PROCESS_ACCT)[N/y/?]

  用于启动由内核将进程信息写入文件的用户级系统调用。就看您想不想用它了。

  Sysctl   support(CONFIG_SYSCTL)[Y/n/?]

  在内核正在运行的时候修改内核。用8KB空间换取某种方便。别选吧,除非你真的想试试。

  Kernel   support   for   a.out   binaries(CONFIG_BINFMT_AOUT)[Y/m/n/?]

  为了能使用以前编译的程序,选y。

  Kernel   support   for   ELF   binaries(CONFIG_BINFMT_ELF)[Y/m/n/?]

  为了能使用现在编译的程序,选y。

  Kernel   support   for   MISC   binaries(CONFIG_BINFMT_MISC)[Y/m/n/?]

  一般选y,用于支持java等代码的自动执行。

  Parallel   port   support(CONFIG_PARPORT)[N/y/m/?]

  并口设备,如打印机。

  5)plug   and   play   support   即插即用设备支持

  Plug   and   Play   support   (CONFIG_PNP)[N/y/?]

  选y吧。

  6)block   devices   块设备

  Normal   PC   floppy   disk   support(CONFIG_BLK_DEV_FD)[Y/m/n/?]

  一般的软驱。选y。

  Enhanced   IDE/MFM/RLL   disk/cdrom/tape/floppy   support(CONFIG_BLK_DEV_IDE)[Y/m/n/?]

  这几种接口的硬盘、光驱、磁带、软驱。选y。

  Include   IDE/ATAPI   CDROM   support(CONFIG_BLK_DEV_IDECD)[Y/m/n/?]

  CDROM。选y。

  7)networking   options   网络选项

  Packet   socket   (CONFIG_PACHET)[Y/m/n/?]

  按照目前网络发展的状况,选y比较好。当然也可以选其它的。

  Kernel/User   netlink   socke(CONFIG_NETLINK)[N/y/?]

  内核与用户进程双向通信。选y。

  Network   firewalls(CONFIG_FIREWALL)[N/Y/?]

  如果真的需要用防火墙,就选y。

  UNIX   domain   sockets(confgi_unix)[Y/m/n/?]

  socket   的用处太多了。选y。

  TCP/IP   networking(CONFIG_INET)[Y/n/?]

  选y,理由如上一条。

  The   IPX   protocol   (CONFIG_IPX)[N/y/m/?]

  其实并没有那么多人真的需要使用或者学习IPX,所以一般选N。

  Appletalk   DDP(CONFIG_ATALK)[N/y/m/?]

  选N,理由同上。

  8)SCSI   support   SCSI支持,SCSI   low-level   drives   SCSI低级驱动

  根据系统中SCSI设备的实际情况选择。

  9)Networking   device   support   网络设备支持

  如果用LAN上网,就选择网卡;

  如果用MODEM拨号上网,就要看ISP提供那种服务了,一般都是PPP。

  10)Amateur   Radio   support   业余收音机支持

  这是什么我不太清楚,所以选N。

  11)ISDN   subsystem   ISDN子系统

  好像已经有支持ISDN的MODEM了,所以最好先看看自己的MODEM是不是这种,再做选择。

  12)Old   CD-ROM   dfivers   (not   SCSI,   not   IDE)   老式光驱驱动

  一般选N,因为这种设备实在很少见。

  13)Character   devices   字符设备

  Virtual   terminal(CONFIG_VT)[Y/n/?]

  Linux上一般可以用Alt+F1/F2/F3/F4来切换不同的任务终端,即使在一台计算机上也可以充分使用Linux的多任务能力,一些需要以命令行方式安装合适用的软件如果有虚拟终端的支持就会更方便,因此选y。

  Support   for   console   on   virtual   terminal(CONFIG_VT_CONSOLE)[Y/n/?]

  选y将支持一个虚拟终端作为控制台。一般为Alt+F1。

  Support   for   console   on   serial   port(CONFIG_SERIAL)[Y/m/n/?]

  除非真的需要一个串口控制台,否则选n。

  Extended   dumb   serial   driver   options(CONFIG_SERIAL_EXTENDED)[N/y/?]

  如果希望使用"dumb"的非标准特性(如HUB6支持),选y,一般选N。

  Non-standard   serial   port   support(CONFIG_SERIAL_NONSTANDARD)[N/y/?]

  非标准串口。一般选N。

  UNIX98   PTY   support(CONFIG_UNIX98_PTYS)[Y/n/?]

  PTY指伪终端,一般用户就选n。但如果想用telnet或者xterms作为终端访问主机,并且已经安装了glibc2.1,就可以选y。

  Maximum   number   of   UNIX98   PTYs   in   use(0-2048)(CONFIG_UNIX98_PTY_COUNT)[256]

  缺省值就可以了。

  Mouse   Support(not   serial   mice)(CONFIG_MOUSE)[Y/n/?]

  PS/2等非串口鼠标选y,否则选N。

  14)Mice   鼠标

  根据自己的鼠标类型选择。

  15)Video   for   Linux   Linux视频

  根据系统中的音/视频捕捉设备选择。

  16)Joystick   support   操纵杆

  根据系统中的游戏杆设备选择

  17)Ftape,the   floopy   tape   device   driver   Ftape设备驱动

  Ftape   (QIC-80/Travan)support(CONFIG_FTAPE)[N/y/m/?]

  如果系统中有磁带机,选y。

  18)Filesystems   文件系统

  文件系统的选择要比较仔细,因为其中的一些给某些系统功能提供支持。而且除了proc、ext2等文件系统之外,其它的文件系统(包括下面的网络文件系统)都可以选择为m方式,从而减小内核启动时的体积。

  Quota   support(CONFIG_QUOTA)[N/y/?]

  用于给用户划分定量的磁盘空间。如不用此功能就选N。

  DOS   FAT   fs   support(CONFIG_FAT_FS)[N/y/m/?]

  为内核提供FAT支持,多数用户有可能从Linux访问同一系统中的WINDOWS硬盘空间,因此最好选y。

  ISO   9660   CDROM   filesystem   support(CONFIG_ISO9660_FS)[Y/m/n/?]

  有标准光驱的系统应该选Y。

  Minix   fs   support(CONFIG_MINIX_FS)[N/y/m/?]

  用于创建启动盘的文件系统,多数应该选y或者m。

  /proc   filesystem   support(CONFIG_PROC_FS)[Y/n/?]

  虚拟文件系统,必须选Y。

  Second   extended   fs   support(CONFIG_EXT2_FS)[Y/m/n/?]

  Linux标准文件系统,都应该选Y。

  19)Network   file   systems   网络文件系统

  Coda   filesystem   support   (advanced   network   fs)(CONFIG_CODA_FS)[N/y/m/?]

  先看帮助再选。

  NFS   filesystem   support(CONFIG_NFS_FS)[Y/m/n/?]

  选Y或n,能够访问远程NFS文件系统。

  SMB   filesystem   support(to   mount   WfW   shares   etc.)(CONFIG_SMB_FS)[N/y/m/?]

  要访问WINDOWS系统中的共享资源选y。

  NCP   filesystem   support(to   mout   NetWare   volumes)(CONFIG_NCP_FS)[N/y/m/?]

  如果真的需要访问NetWare文件系统,就选y或者m。

  20)Partion   Types   分区类型

  一般用不上;要用请参看帮助。

  21)Console   drivers   控制台驱动

  VGA   text   console(CONFIG_VGA_CONSOLE)[Y/n/?]

  用VGA模式下用文本方式操作Linux,一般选y。

  Video   mode   selection   support(CONFIG_VIDEO_SELECT)[N/y/?]

  大多数系统都不需要这项功能。

  22)Sound   声音

  Sound   card   support(CONFIG_SOUND)[N/y/m/?]

  如果系统中安装了声卡,就选y(或者m),然后查看帮助。

  23)Kernel hacking   内核监视

  kernel   hacking往往会生成非常大或者非常慢(甚至又大又慢)的内核,甚至会引起内核工作不稳定。如果一定要选,那么也最好不要选其中的"development"、"experimental"、"debugging"项。

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号