天天看點

linux核心裁剪的具體過程和方法

程序間通信函數和系統調用。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/?]

大多數系統都不需要這項功能。

第十一部分:除以下選項,其它全部删除

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 --->

附:

核心配置

  核心配置的方法很多,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/?]

22)Sound 聲音

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

如果系統中安裝了聲霸卡,就選y(或者m),然後檢視幫助。

23)Kernel hacking 核心監視

kernel hacking往往會生成非常大或者非常慢(甚至又大又慢)的核心,甚至會引起核心工作不穩定。如果一定要選,那麼也最好不要選其中的"development"、"experimental"、"debugging"項

繼續閱讀