歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux 系統裁剪筆記 4 (內核配置選項及刪改)

Linux 系統裁剪筆記 4 (內核配置選項及刪改)

日期:2017/3/1 12:05:36   编辑:關於Linux
在menuconfig中配置,可以對進行Linux內核配置選項及刪改。本文介紹詳細配置方法。

第一部分:全部刪除

Code maturity level options ---> 代碼成熟等級選項

[]Prompt for development and/or incompletecode/drivers 默認情況下是選擇的,這將會在設置界面中顯示還在開發或者還沒有完成的代碼與驅動.不選。

第二部分 :除以下選項,其它全部刪除

General setup—〉

System VIPC(IPC:Inter Process Communication)是組系統調用及函數庫,它能讓程序彼此間同步進行交換信息。某些程序以及DOS模擬環境都需要它。為進程提供通信機制,這將使系統中各進程間有交換信息與保持同步的能力。有些程序只有在選Y的情況下才能運行,所以不用考慮,這裡一定要選。

第三部分:除以下選項,其它全部刪除

Loadablemodulesupport ---> 可引導模塊支持 建議作為模塊加入內核

[] Enable loadable modulesupport這個選項可以讓你的內核支持模塊,模塊是什麼呢?模塊是一小段代碼,編譯後可在系統內核運行時動態的加入內核,從而為內核增加一些特性或是對某種硬件進行支持。一般一些不常用到的驅動或特性可以編譯為模塊以減少內核的體積。在運行時可以使用modprobe命令來加載它到內核中去(在不需要時還可以移除它)。一些特性是否編譯為模塊的原則是,不常使用的,特別是在系統啟動時不需要的驅動可以將其編譯為模塊,如果是一些在系統啟動時就要用到的驅動比如說文件系統,系統總線的支持就不要編為模塊了,否在無法啟動系統。

[]Automatickernelmodule loading 一般情況下,如果我們的內核在某些任務中要使用一些被編譯為模塊的驅動或特性時,我們要先使用modprobe命令來加載它,內核才能使用。不過,如果你選擇了這個選項,在內核需要一些模塊時它可以自動調用modprobe命令來加載需要的模塊,這是個很棒的特性,當然要選Y喽。

第四部分:全部刪除

Blocklayer-----〉塊設備

第五部分:除以下選項,其它全部刪除

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

PCIaccessmode (Any) ---> PCI外圍設備配置,強列建議選Any,系統將優先使用MMConfig,然後使用BIOS,最後使用Direct檢測PCI設備。

第八部分:除以下選項,其它全部刪除

Executablefileformats --->

Kernel support forELFbinaries ELF是開放平台下最常用的二進制文件,它支持不同的硬件平台。一定要選。

第九部分:除以下選項,其它全部刪除

Networking

Networking options --->

[]Unixdomain sockets

[]TCP/IPnetworking

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

Device Drivers --->設備驅動

Block devices-------〉

[]Compaq SMART2 support

[] Compaq SmartArray5xxx support

[]Loopback device support 大部分的人這一個選項都選N,因為沒有必要。但是如果你要mount iso文件的話,你得選上Y。這個選項的意思是說,可以將一個文件掛成一個文件系統。如果要燒光盤片的,那麼您很有可能在把一個文件燒進去之前,看看這個文件是否符合IS09660的文件系統的內容,是否符合您的需求。而且,可以對這個文件系統加以保護。不過,如果您想做到這點的話,您必須有最新的mount程序,版本是在2.5X版以上的。而且如果您希望對這個文件系統加上保護,則您必須有des.1.tar.gz 這個程序。注意:此處與網絡無關。建議編譯成模塊

[] RAM disk support

SCSIdevice support ---> 裡面有關於USB支持的,要選擇

[]SCSI device support USB要用,必須選擇

[]legacy /proc/scsi/ support USB要用,必須選擇

[]SCSI disk support USB要用,必須選擇

SCSI Low-level drivers

[]SerialATA(SATA) support

[]IntelPIIX/ICHSATAsupport這個必須選擇,否則無法產生引導文件

[]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 inputlayersupport 應該選擇

/dev/hiddev raw HID device support如果這裡有USB鍵盤和鼠標選項,一定要選擇

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

file systems --->文件系統

Second extended fs support

Ext2 extended attributes

Ext2POSIXAccess Control Lists

Ext2 Security Labels

Ext3 journalling filesystemsupport

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

NTFSfile system support

Nativelanguage support?語言支持,這裡就支持英語和漢語就行了,不多說了

[]NLSISO8859-1 必須選擇,這個是關於U盤掛載的。

CD-ROM/DVD Filesystems ---> 這個是關於掛載ISO文件的,用的話就選。

ISO 9660CDROM file system support

第十二部分: 全部刪除

Instrumentation support

第十三部分:全部刪除

Kernel hacking --->破解核心?可不是當骸客啦,不選

第十四部分:全部刪除

Security options --->

第十五部分:全部刪除

Cryptographic options --->這是核心支持加密的選項

第十六部分:全部刪除

Libraryroutines --->

附:內核配置

內核配置的方法很多,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)processortype 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 versioninformationon all symbols for modules(CONFIG_MODVERSIONS)[N/y/?]

選N

Kernel moduleloader(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/?]

查看幫助吧。

SGIVisual Workstation support(CONFIG_VISWS)[N/y/?]

您的機器是SGI的嗎?是就選y。

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

進程間通信函數和系統調用。Linux內核的五大組成部分之一,一定要選。

BSDProcess 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等代碼的自動執行。

Parallelportsupport(CONFIG_PARPORT)[N/y/m/?]

並口設備,如打印機。

5)plug and play support 即插即用設備支持

Plug and Playsupport (CONFIG_PNP)[N/y/?]

選y吧。

6)block devices 塊設備

Normal PCfloppydisk support(CONFIG_BLK_DEV_FD)[Y/m/n/?]

一般的軟驅。選y。

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

這幾種接口的硬盤、光驅、磁帶、軟驅。選y。

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

CDROM。選y。

7)networkingoptions網絡選項

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

按照目前網絡發展的狀況,選y比較好。當然也可以選其它的。

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

內核與用戶進程雙向通信。選y。

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

如果真的需要用防火牆,就選y。

UNIXdomain sockets(confgi_unix)[Y/m/n/?]

socket 的用處太多了。選y。

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

選y,理由如上一條。

TheIPXprotocol (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)ISDNsubsystem ISDN子系統

好像已經有支持ISDN的MODEM了,所以最好先看看自己的MODEM是不是這種,再做選擇。

12)OldCD-ROM dfivers (not SCSI, not IDE) 老式光驅驅動

一般選N,因為這種設備實在很少見。

13)Character devices 字符設備

Virtualterminal(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 onserialport(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 ofUNIX98 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。

ISO9660CDROM filesystem support(CONFIG_ISO9660_FS)[Y/m/n/?]

有標准光驅的系統應該選Y。

Minixfs 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 (advancednetworkfs)(CONFIG_CODA_FS)[N/y/m/?]

先看幫助再選。

NFSfilesystem 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 moutNetWarevolumes)(CONFIG_NCP_FS)[N/y/m/?]

如果真的需要訪問NetWare文件系統,就選y或者m。

20)Partion Types 分區類型

一般用不上;要用請參看幫助。

21)Console drivers 控制台驅動

VGAtextconsole(CONFIG_VGA_CONSOLE)[Y/n/?]

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

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

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

22)Sound 聲音

Soundcardsupport(CONFIG_SOUND)[N/y/m/?]

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

23)Kernel hacking內核監視

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

Copyright © Linux教程網 All Rights Reserved