linux內核的裁剪與移植

1.       進到linux內核源代碼目錄下cd /home/linux-2.6.16

2.       make clean

 

刪除大多數的由編譯生成的文件、但會保留內核的配置文件.config。

 

make mrproper

 

刪除所有的編譯生成的文件,還有內核配置文件,再加上各種備份文件。

 

make distclean

 

mrproper刪除的文件,加上編輯備份文件和一些補丁文件。

 

3.       配置內核make menuconfig

2.5  Linux內核配置選項

下面以最新的Linux 2.6.20內核爲例,介紹比較常用的一些Linux內核配置選項,其他選項讀者可以參考系統提供的幫助信息。

需要說明的是,在內核配置中,某項選擇Y表示把該項選擇進內核,選擇M則表示把該項編譯成模塊,選擇N則表示不選擇進內核。在make menuconfig 下,*表示Y,M表示M,空白表示N。在make xconfig下,√表示Y,·表示M,空白表示N。如果某選項在配置菜單中是可選擇的,這並不意味着目標系統就支持該功能,當然大部分供選擇的選項是目標系統文持的;同樣,配置菜單中沒有的選項並不一定就表示目標系統不支持該功能,原因可能是該功能還未在目標系統上測試過,或者是維護人員未將該功能選項加入到各級系統配置文件的config.in中,具體可以查看內核的英文說明。

2.5.1  General setup

General setup選項爲常規安裝選項,包括版本信息、虛擬內存、進程間通信、系統調用、審計支持等基本內核配置選項。下面介紹常規安裝選項下主要子選項的配置方法。

1)Local version - append to kernel release

在內核後面加上自定義的版本字符串。這些字符在使用uname-a命令時會顯示出來。要求字符最多不能超過64位。如果不清楚,則選擇N。

2)Automatically append version information to the version string(LOCALVERSION_ AUTO)

自動生成版本信息。這個選項會自動探測內核並且生成相應的版本。在編譯時需要有perl及git倉庫的支持。在一般情況下,建議選擇Y。

3)Support for paging of anonymous memory(swap)

使用交換分區或者交換文件來作爲虛擬內存,也就是讓計算機好像擁有比實際內存更多的內存空間用來執行很大的程序。Linux中的虛擬內存即SWAP分區,除非不需要SWAP分區,否則這裏選擇Y。

4)System V IPC(Inter Process Communication,IPC)

System V進程間通信(IPC)支持,許多程序需要這個功能,因此選擇Y。中間過程連接是一組功能和系統調用,使得進程能夠同步和交換信息。可以用info ipc命令來了解IPC的具體用法。

其中,IPC Namespaces (IPC_NS)子選項表示IPC命名空間,命名空間的作用是區別同名的設備。這個選項也是爲不同的服務器提供IPC的多命名,達到一個IPC提供多對象支持的目的。如果不清楚,則選擇N。

5)POSIX Message Queues

POSIX(可移植操作系統接口)消息隊列是POSIX IPC中的一部分,在通信隊列中有較高的優先權來保持通信暢通。如果需要編譯和運行在Solaris操作系統上寫的 POSIX信息隊列程序,則選擇Y。同時還需要 mqueue 庫來支持這些特性。它是作爲一個文件系統存在(mqueue),可以設置它。爲保證以後的不同程序的協同穩定。如果不清楚,則選擇N。

6)BSD Process Accounting

將進程的統計信息寫入文件的用戶級系統調用,信息通常包括建立時間、所有者、命令名稱、內存使用、控制終端等。如果選擇Y,則用戶級別的程序就可以通過特殊的系統調用方式來通知內核把進程統計信息記錄到一個文件中,當這個進程存在的時候,信息就會被內核記錄進文件,這對用戶級程序非常有用,所以通常選擇Y。

其中,BSD Process Accounting version 3 file forma子選項表示使用新的第三版文件格式,通常選擇Y。統計信息將會以新的格式(V3)寫入,這格式包含進程ID和父進程。注意這個格式不兼容老版本(V0/V1/V2)的文件格式,所以需要升級相關工具來使用它。

7)Export task/process statistics through netlink(EXPERIMENTAL)

這是一個處於實驗階段的功能,表示通過netlink接口向用戶空間導出任務、進程等統計信息,與BSD Process Accounting的不同之處在於這些數據在進程運行的時候就可以通過相關命令訪問。如果不清楚,則選擇N。

8)UTS Namespaces

UTS(通用終端系統)命名空間支持。它允許容器,比如Vservers利用UTS命名空間來爲不同的服務器提供不同的UTS。如果不清楚,則選擇N。

9)Auditing support

審計支持,某些內核模塊(例如SELinux)需要它,只有同時選擇其子項才能對系統調用進行審計。允許審計的下層能夠被其他內核子系統使用,比如SELinux,它需要這個來進行登錄時的聲音和視頻輸出。沒有CONFIG_AUDITSYSCALL時(即下一個選項)無法進行系統調用。

其中,Enable system-call auditing support (AUDITSYSCALL)子選項表示支持對系統調用的審計,允許系統獨立地或者通過其他內核的子系統,調用審計支持,比如SELinux。要使用這種審計的文件系統來查看特性,請確保 INOTIFY 已經被設置。這兩個選項,要選擇Y就都選擇,以便調用其他內核。

10)Kernel.config support

把內核的配置信息編譯進內核中,以後可以通過scripts/extract-ikconfig腳本來提取這些信息。

這個選項允許.config文件(即編譯Linux時的配置文件)編譯進內核中。可以通過內核鏡像文件kernel image file,用命令script scripts/extract-ikconfig來提取這些配置信息,作爲當前內核重編譯或者另一個內核編譯的參考。如果內核在運行中,可以通過/proc/config.gz文件來讀取。

其中Enable access to .config through/proc/config.gz子選項表示可以通過/proc/config.gz 訪問當前內核的.config。這兩個選項,要選擇Y就都選擇,以便調用其他內核。

11)Cpuset support

多CPU支持。這個選項可以建立和管理CPU集羣,它可以動態地將系統分割在各個CPU和內存節點中,在各個節點是獨立運行的,這對大型的系統尤其有效。一般只有在含有大量CPU(大於16個)的SMP系統或NUMA(非一致內存訪問)系統才需要它。如果不清楚,則選擇N。

12)Kernel->user space relay support(formerly relayfs)

內核系統區和用戶區進行傳遞通信的支持。在某些文件系統上(比如debugfs)提供從內核空間向用戶空間傳遞大量數據的接口。

這個選項在特定的文件系統中提供數據傳遞接口支持,它可以提供從內核空間到用戶空間的大批量的數據傳遞工具和設施。如果不清楚,則選擇N。

13)Initramfs source file(s)

initrd已經被initramfs取代,選N即可。

14)Optimize for size(Look out for broken compilers!)

這個選項將在GCC命令後用“-Os”代替“-O2”參數,編譯時優化內核尺寸,以在編譯時優化內核尺寸。

警告:某些GCC版本會產生錯誤的二進制代碼。如果有錯,請升級GCC。

這是優化內核大小的功能,一般沒必要選。因爲一個編譯好的內核只有7~10MB,如果空間足夠就不要冒出問題的風險來優化內核大小。

15)Configure standard kernel features(for small systems)

配置標準的內核特性(爲小型系統)。這個選項可以讓內核的基本選項和設置無效或者扭曲。這是用於特定環境中的,它允許“非標準”內核。它是爲了編譯某些特殊用途的內核使用的,例如引導盤系統。通常選這一選項,也不必關心其子選項。

2.5.2  Loadable module support

Loadable module support即引導模塊支持,該選項包括加載模塊、卸載模塊、模塊校驗、自動加載模塊等引導模塊配置相關子選項。本節主要介紹引導模塊支持子選項的配置方法。

1)Enable loadable module support

打開可加載模塊支持,如果打開它則必須通過make modules_install把內核模塊安裝在/lib/modules/中。模塊是一小段代碼,編譯後可在系統內核運行時動態地加入內核,從而爲內核增加一些特性或是對某種硬件進行支持。一般一些不常用到的驅動或特性可以編譯爲模塊以減少內核的體積。在運行時可以使用modprobe命令來加載它到內核中去(在不需要時還可以移除它)。一些特性是否編譯爲模塊的原則有不常使用的,或是在系統啓動時不需要的驅動可以將其編譯爲模塊,如果是一些在系統啓動時就要用到的驅動,比如說文件系統,系統總線的支持就不要編爲模塊,否則無法啓動系統。在啓動時不用到的功能編成模塊是最有效的方式。可以查看MAN手冊來了解modprobe、lsmod、modinfo、insmod和rmmod。

如果選擇了這項,則需要運行make modules_install命令來把模塊添加到/lib/modules/目錄下,以便 modprobe 可以找到它們。如果不清楚,則選擇Y。

2)Module unloading

允許卸載已經加載的模塊。如果選擇N,將不能卸載任何模塊(有些模塊一旦加載就不能卸載,不管是否選擇了這個選項)。如果不清楚,則選擇Y。

其中,Forced module unloading子選項允許強制卸載正在使用中的模塊,即使內核認爲這不安全,內核也將會立即移除模塊,而不管是否有人在使用它(用rmmod -f命令)。如果不清楚,則選擇N。

3)Module versioning support(MODVERSIONS)

允許使用其他內核版本的模塊。選這項會添加一些版本信息,來給編譯的模塊提供獨立的特性,以使不同的內核在使用同一模塊時區別於它原有的模塊。如果不清楚,則選擇N。

4)Source checksum for all modules

爲所有的模塊校驗源碼,如果不是自己編寫內核模塊就不需要它。這個功能是爲了防止在編譯模塊時不小心更改了內核模塊的源代碼但忘記更改版本號而造成版本衝突。如果不清楚,則選擇N。

5)Automatic kernel module loading

允許內核通過運行modprobe自動加載模塊,比如可以自動解決模塊的依賴關係。在一般情況下,如果我們的內核在某些任務中要使用一些被編譯爲模塊的驅動或特性時,我們要先使用modprobe命令來加載它,內核才能使用。如果選擇了這個選項,在內核需要一些模塊時它可以自動調用modprobe命令來加載需要的模塊。如果不清楚,則選擇Y。

2.5.3  Processor type and features

Processor type and features即處理器類型及特性,該模塊包括處理器系列、內核搶佔模式、搶佔式大內核鎖、內存模式、使用寄存器參數等處理器配置相關信息。本節介紹其中與嵌入式開發有關的主要子選項的配置方法。

1)Symmetric multi-processing support(SMP)

對稱多處理器支持。將支持多個CPU的系統,此時Enhanced Real Time Clock Support選項必須開啓,Advanced Power Management選項必須選擇N。如果系統只有一個CPU,則選擇N。反之,選擇Y。如果選擇N,內核將會在單個或者多個CPU的機器上運行,但是隻會使用一個CPU。如果選擇Y,內核可以在很多(但不是所有)單CPU的機器上運行,在這樣的機器上選擇N,會使內核運行得更快。如果不清楚,則選擇N。

2)Processor family

處理器系列。針對嵌入式系統所使用的處理器類型,選取相應的選項。

3)Preemptible kernel

內核搶佔模式。一些優先級很高的程序可以先讓一些低優先級的程序執行,即使這些程序是在內核態下執行。從而減少內核潛伏期,提高系統的響應。當然在一些特殊的點的內核是不可搶佔的,比如內核中的調度程序自身在執行時就是不可被搶佔的。這個特性可以提高桌面系統、實時系統的性能。有下面3個選項。

       No Forced Preemption(Server):非強迫式搶佔。這是傳統的Linux搶佔式模型,針對於高吞吐量設計。它同樣在很多時候會提供很好的響應,但是也可能會有較長的延遲。如果是要建立服務器或者用於科學運算,或者要最大化內核的運算能力而不理會調度上的延遲,則選這項。

       Voluntary Kernel Preemption(Desktop):自動式內核搶佔。這個選項通過向內核添加更多的“清晰搶佔點”來減少內核延遲。這些新的搶佔點以降低吞吐量爲代價,來降低內核的最大延遲,提供更快的應用程序響應。這通過允許低優先級的進程自動搶佔來響應事件,即使進程在內核中進行系統調用。這使得應用程序運行得更“流暢”,即使系統已經是高負荷運轉。嵌入式系統裏面通常選擇N。

       Preemptible Kernel(Low-Latency Desktop):可搶佔式內核(低延遲桌面)。這個選項通過使所有內核代碼(非致命部分)編譯爲“可搶佔”來降低內核延遲。通過允許低優先級進程進行強制搶佔來響應事件,即使這些進程正在進行系統調用或者未達到正常的“搶佔點”。這使得應用程序運行得更加“流暢”,即使系統已經是高負荷運轉。代價是吞吐量降低,內核運行開銷增大。嵌入式系統編譯內核通常選擇Y,這樣只有很少的延遲。

其中,Preemptible Kernel子選項提供了最快的響應,適合對實時性要求較高的嵌入式系統。

4)Preempt The Big Kernel Lock

搶佔式大內核鎖。應用於實時要求高的場合,適合嵌入式系統。這個選項通過讓大內核鎖變成“可搶佔”來降低延遲。構建實時性要求較高的嵌入式系統,通常選擇N。

5)Machine Check Exception

機器例外檢查。讓CPU檢測到系統故障時通知內核,以便內核採取相應的措施(如過熱關機等)。內核根據問題的嚴重程度來決定下一步的行爲,比如在命令行上打印警告信息或者關機。處理器必須是 Pentium或者更新版本才能支持這個功能。用cat /proc/cpuinfo來檢測 CPU是否有mce 標誌。

所以使用ARM處理器的嵌入式系統在這裏選擇N。

6)Memory model

內存模式。一般選Flat Memory(平坦內存模式),Sparse Memory(稀疏內存模式)選項涉及內存熱插拔。

7)Use register arguments(REGPARM)

使用寄存器參數。使用-mregparm=3參數編譯內核,將前3個參數以寄存器方式進行參數調用,這使 GCC使用更高效的應用程序二進制接口(ABI)來跳過編譯時的前3個調用寄存器參數,可以生成更緊湊和高效的代碼。如果選擇N,這個選項默認的ABI將會使用。如果不清楚,則選擇Y。

8)kexec system call(KEXEC)

kexec系統調用。使用此選項可以不必重啓而切換到另一個內核。

kexec是一個用來選擇N當前內核,然後開啓另一個內核的系統調用。它和重啓很像,但是它不訪問系統固件。由於和重啓很像,可以啓動任何內核,不僅僅是Linux。kexec這個名字是從exec系統調用來的,它只是一個進程,可以確定硬件是否正確,所以這段代碼可能不會正確地進行初始化工作。爲慎重起見,在一般情況下,建議選擇N。

2.5.4  Networking support

Networking support即網絡支持,該選項配置的是網絡協議,內容龐雜,這裏就不一一介紹了。只要對網絡協議有所瞭解,應該可以看懂相關幫助文件。如果要開發嵌入式系統能像PC一樣使用各類網絡協議,則可以使用默認選項,其中,最常用的TCP/IP networking選項當然要選擇。

2.5.5  Device Drivers

Device Drivers即設備驅動,該選項包括內核所支持的各類硬件設備的配置信息。對於嵌入式系統來說,設備驅動配置選項是最重要的步驟之一,下面詳細介紹它們。

1)Generic Driver Options

驅動程序通用選項。包括以下幾個子選項。

       Select only drivers that don't need compile-time external firmware:只顯示不需要內核對外部設備的固件做map支持的驅動程序,除非有某些怪異硬件,否則要選擇Y。

       Prevent firmware from being built:不編譯固件。固件一般是隨硬件的驅動程序提供的,僅在更新固件的時候才需要重新編譯。建議選擇Y。

       Userspace firmware loading support:提供某些內核之外的模塊需要的用戶空間固件加載支持,在內核樹之外編譯的模塊可能需要它。如果不清楚,則選擇N。

       Driver Core verbose debug messages:讓驅動程序內核在系統日誌中產生冗長的調試信息,僅供調試使用。如果不清楚,則選擇N。

2)Connector - unified userspace <-> kernelspace linker

統一的用戶空間和內核空間連接器,工作在netlink socket協議的頂層。如果不確定,則選擇N。

其中,Report process events to userspace子選項表示向用戶空間報告進程事件。

3)Memory Technology Devices(MTD)

特殊的存儲技術裝置,如常用於數碼相機或嵌入式系統的閃存卡。如果不清楚,則選擇N。

4)Parallel port support

並口支持(傳統的打印機接口)。如果不清楚,則選擇N。

5)Plug and Play support

支持即插即用,若未選,則應當在BIOS中的“PnP OS”選擇N。這裏的選項與PCI設備無關。包括以下幾個子選項。

       PnP Debug Messages:該選項僅供調試使用。

       ISA Plug and Play support:ISA設備支持即插即用。如果不清楚,則選擇N。

       Plug and Play BIOS support:Linux使用Plug and Play BIOS規範v1.0A(1994年)中定義的PnPBIOS自動檢測主板上的資源和設備,但是其中的某些特性目前尚未實現,比如,事件通知/擴展塢(Docking Station)信息/ISAPnP服務。如果希望由內核檢測主板上的設備併爲其分配資源(此時BIOS中的“PnP OS”必須開啓)可以選擇Y。此外,PnPBIOS還有助於防止主板上的設備與其他總線設備衝突。不過需要注意的是ACPI將會逐漸取代 PnPBIOS(雖然目前兩者可以共存),所以如果系統不使用ISA設備並且支持ACPI,建議不要選擇Y。將BIOS中的“PnP OS”選擇N。

       Plug and Play BIOS/proc interface:該選項僅供調試使用。如果不清楚,則選擇N。

       Plug and Play ACPI support:讓Linux使用PnPACPI自動檢測主板上內建的設備併爲其分配資源(即使這些設備已被BIOS禁用),它有助於避免設備之間的資源(如中斷)衝突。如果不清楚,則選擇N。

6)Block devices

塊設備。包括以下幾個子選項。

       normal floppy disk support:通用軟驅支持。如果嵌入式系統採用這種設備,則選擇Y。

       XT hard disk support:一種老式產品。如果嵌入式系統採用這種設備,則選擇Y。

       Parallel port IDE device support:通過並口與計算機連接的IDE設備。如果嵌入式系統採用這種設備,則選擇Y。

       Compaq SMART2 support:基於Compaq SMART2控制器的磁盤陣列卡。如果嵌入式系統採用這種設備,則選擇Y。

       Compaq Smart Array 5xxx support:基於Compaq SMART控制器的磁盤陣列卡。如果嵌入式系統採用這種設備,則選擇Y。

       Mylex DAC960/DAC1100 PCI RAID Controller support:一種老式產品。如果嵌入式系統採用這種設備,則選擇Y。

       Micro Memory MM5415 Battery Backed RAM support:一種使用電池做後備電源的內存。如果嵌入式系統採用這種設備,則選擇Y。

       Loopback device support:Loopback是指拿文件來模擬塊設備,比如可以將一個iso9660鏡像文件掛成一個文件系統。如果嵌入式系統採用這種設備,則選擇Y。

       Cryptoloop Support:使用系統提供的加密API對Loopback設備加密,但不能用於日誌型文件系統。如果嵌入式系統採用這種設備,則選擇Y。

       Network block device support:讓系統成爲網絡塊設備的客戶端。如果不清楚,則選擇N。

       Promise SATA SX8 support:基於Promise公司的SATA SX8控制器的RAID卡。如果嵌入式系統採用這種設備,則選擇Y。

       Low Performance USB Block driver:該選項並非表示支持U盤。一般情況下,建議選擇N。

       RAM disk support:內存中的虛擬磁盤,大小固定(由下面的選項決定,也可給內核傳遞ramdisk_size=參數來決定),它的功能和代碼都比shmem簡單許多。如果嵌入式系統採用RAM disk,則選擇Y。

       Default number of RAM disks:默認RAM disk的數量。一般不必修改。

       Default RAM disk size(kbytes):默認RAM disk容量。一般不必修改。

       Default RAM disk block size(bytes):每一個RAM disk的默認塊大小,設爲PAGE_SIZE的值時效率最高。

       Initial RAM filesystem and RAM disk(initramfs/initrd)support:如果啓動系統所必須的模塊都在內核裏,則選擇Y。

       Packet writing on CD/DVD media:CD/DVD刻錄支持。如果嵌入式系統採用這種設備,則選擇Y。

       Free buffers for data gathering:用於收集寫入數據的緩衝區個數(每個佔用64KB內存),在內存運行的情況下,緩衝區越多性能越好。

       Enable write caching:爲CD-R/W設備啓用寫入緩衝。由於安全性問題,在一般情況下,建議選擇Y。

       ATA over Ethernet support:以太網ATA設備支持。如果嵌入式系統採用這種設備,則選擇Y。

7)Misc devices

雜項設備。如果不清楚,則選擇N。

8)ATA/ATAPI/MFM/RLL support

SCSI設備通常是IDE硬盤和ATAPI光驅。純SCSI系統且不使用這些接口可以選擇N。

9)SCSI device support

SCSI設備。如果不清楚,則選擇N。

10)Serial ATA and Parallel ATA drivers

SATA與PATA設備。如果不清楚,則選擇N。

11)Old CD-ROM drivers(not SCSI,not IDE)

老舊的CD-ROM驅動,這種CD-ROM既不使用SCSI接口,也不使用IDE接口。如果不清楚,則選擇N。

12)Multi-device support(RAID and LVM)

多設備支持(RAID和LVM)。RAID和LVM的功能是使多個物理設備組建成一個單獨的邏輯磁盤。如果不清楚,則選擇N。

13)Fusion MPT device support

Fusion MPT設備支持。如果不清楚,則選擇N。

14)IEEE 1394(FireWire)support

IEEE 1394(火線)。如果不清楚,則選擇N。

15)I2O device support

I2O(智能I/O)設備使用專門的I/O處理器負責中斷處理、緩衝存取、數據傳輸等煩瑣任務以減少CPU佔用,一般PC的主板上沒有。如果不清楚,則選擇N。

16)Network device support

網絡設備。包含以下子選項。

       Network device support:網絡設備支持,如果要開發的嵌入式系統需要上網,則選擇Y。

       Intermediate Functional Block support:這是一箇中間層驅動,可以用來靈活的配置資源共享。如果不清楚,則選擇N。

       Dummy net driver support:啞接口網絡,使用SLIP或PPP傳輸協議(如ADSL用戶)的需要它。如果不清楚,則選擇N。

       Bonding driver support:將多個以太網通道綁定爲一個,也就是兩塊網卡具有相同的IP地址並且聚合成一個邏輯鏈路工作,可以用來實現負載均衡或硬件冗餘。如果不清楚,則選擇N。

       EQL(serial line load balancing)support:串行線路的負載均衡。如果有兩個MODEM和兩條電話線而且用SLIP或PPP協議,該選項可以讓你同時使用這兩個 MODEM以達到雙倍速度(在網絡的另一端也要有同樣的設備)。如果不清楚,則選擇N。

       Universal TUN/TAP device driver support:TUN/TAP可以爲用戶空間提供包的接收和發送服務,比如可以用來虛擬一張網卡或點對點通道。如果不清楚,則選擇N。

       General Instruments Surfboard 1000:Surfboard 1000插卡式Cable Medem(ISA接口),一種老式產品。如果不清楚,則選擇N。

       ARCnet devices:一般人沒有ARCnet類型的網卡。如果不清楚,則選擇N。

       PHY device support:數據鏈路層芯片簡稱爲MAC控制器,物理層芯片簡稱爲PHY,通常的網卡把MAC和PHY的功能做到了一顆芯片中,但也有一些僅含PHY的“軟網卡”。如果不清楚,則選擇N。

       Ethernet(10/100Mbit):目前最廣泛的10/100MB網卡。如果不清楚,則選擇N。

       Ethernet(1000 Mbit):目前已成裝機主流的1000MB網卡。如果不清楚,則選擇N。

       Ethernet(10000 Mbit):高速(萬兆)網卡。如果不清楚,則選擇N。

       Token Ring devices:令牌環網設備。如果不清楚,則選擇N。

       Wireless LAN(non-hamradio):無線LAN。如果不清楚,則選擇N。

       PCMCIA network device support:PCMCIA或CardBus網卡。如果不清楚,則選擇N。

       WAN interfaces:WAN接口。如果不清楚,則選擇N。

       ATM drivers:異步傳輸模式。如果不清楚,則選擇N。

       FDDI driver support:光纖分佈式數據接口。如果不清楚,則選擇N。

       HIPPI driver support:HIPPI(高性能並行接口)是一個在短距離內高速傳送大量數據的點對點協議。如果不清楚,則選擇N。

       PLIP(parallel port)support:將並口映射成網絡設備,這樣兩臺機器即使沒有網卡也可以使用並口通過並行線傳輸IP數據包。如果不清楚,則選擇N。

       PPP(point-to-point protocol)support:點對點協議,PPP已經基本取代SLIP了,若使用ADSL則要選擇Y。如果不清楚,則選擇N。

       PPP multilink support:多重鏈路協議(RFC1990)允許將多個線路(物理的或邏輯的)組合爲一個PPP連接以充分利用帶寬,這不但需要pppd的支持,還需要ISP的支持。如果不清楚,則選擇N。

       PPP filtering:允許對通過PPP接口的包進行過濾。如果不清楚,則選擇N。

       PPP support for async serial ports:通過標準異步串口(COM1,COM2)使用PPP,比如使用老式的外置MODEM(非同步MODEM或ISDN MODEM)上網。如果不清楚,則選擇N。

       PPP support for sync tty ports:通過同步tty設備(比如SyncLink適配器)使用PPP,常用於高速租用線路(比如T1/E1)。如果不清楚,則選擇N。

       PPP Deflate compression:爲PPP提供Deflate(等價於gzip壓縮算法)壓縮算法支持,需要通信雙方的支持纔有效。如果不清楚,則選擇N。

       PPP BSD-Compress compression:爲PPP提供BSD(等價於LZW壓縮算法,沒有gzip高效)壓縮算法支持,需要通信雙方的支持纔有效。如果不清楚,則選擇N。

       PPP MPPE compression(encryption):爲PPP提供MPPE加密協議支持,它被用於微軟的P2P隧道協議中。如果不清楚,則選擇N。

       PPP over Ethernet:這就是ADSL用戶最常見的PPPoE,也就是在以太網上運行的PPP協議。如果不清楚,則選擇N。

       PPP over ATM:在ATM上運行的PPP。如果不清楚,則選擇N。

       SLIP(serial line)support:一個在串行線上(例如電話線)傳輸IP數據報的TCP/IP協議。小貓一族的通信協議,與寬帶用戶無關。如果不清楚,則選擇N。

       CSLIP compressed headers:CSLIP協議比SLIP快,它將TCP/IP頭(而非數據)進行壓縮傳送,需要通信雙方的支持纔有效。如果不清楚,則選擇N。

       Keepalive and linefill:讓SLIP驅動支持RELCOM linefill和keepalive監視,這在信號質量比較差的模擬線路上是個好主意。如果不清楚,則選擇N。

       Six bit SLIP encapsulation:這種線路非常罕見,在一般情況下,建議選擇N。

       Fibre Channel driver support:光纖通道。如果不清楚,則選擇N。

       Traffic Shaper:流量整形,已廢棄。在一般情況下,建議選擇N。

       Network console logging support:通過網絡記錄內核信息。如果不清楚,則選擇N。

       Netpoll support for trapping incoming packets:在一般情況下,建議選擇N。

       Netpoll traffic trapping:在一般情況下,建議選擇N。

17)ISDN subsystem

綜合業務數字網(Integrated Service Digital Network)。如果不清楚,則選擇N。

18)Telephony Support

VoIP支持。如果不清楚,則選擇N。

19)Input device support

輸入設備。包括以下子選項。

       Generic input layer(needed for keyboard,mouse):通用輸入層,如果是使用鍵盤鼠標的,則選擇Y。如果不清楚,則選擇N。

       Support for memoryless force-feedback devices:遊戲玩家使用的力反饋設備。如果不清楚,則選擇N。

       Mouse interface:鼠標接口。如果不清楚,則選擇N。

       Provide legacy/dev/psaux device:仍然支持作爲傳統的/dev/psaux設備。如果不清楚,則選擇N。

       Horizontal screen resolution:數字化轉換器或圖形輸入板的水平分辨率。如果不清楚,則選擇N。

       Vertical screen resolution:數字化轉換器或圖形輸入板的垂直分辨率。如果不清楚,則選擇N。

       Joystick interface:遊戲杆。如果不使用,則選擇N。

       Touchscreen interface:觸摸屏。如果不使用,則選擇N。

       Event interface:能夠利用/dev/input/eventX來存取輸入設備的事件。如果不清楚,則選擇N。

       Event debugging:該選項僅供調試使用。如果不清楚,則選擇N。

       Keyboards:鍵盤驅動,一般選個AT鍵盤即可。如果不清楚,則選擇N。

       Mouse:鼠標驅動,一般選個PS/2鼠標即可。如果不清楚,則選擇N。

       Joysticks:遊戲杆驅動。如果不使用,則選擇N。

       Touchscreens:觸摸屏驅動。如果不使用,則選擇N。

       Miscellaneous devices:其他雜項驅動,一般選個PC喇叭即可。如果不清楚,則選擇N。

       Hardware I/O ports:硬件I/O端口。如果不清楚,則選擇N。

       Serial I/O support:使用PS/2鍵盤或鼠標,則選擇Y。如果不使用,則選擇N。

       i8042 PC Keyboard controller:PS/2接口的鍵盤和鼠標。如果不使用,則選擇N。

       Serial port line discipline:串口鍵盤或鼠標。如果不使用,則選擇N。

       ct82c710 Aux port controller:一種德州儀器TravelMate筆記本上使用QuickPort接口的鼠標。如果不使用,則選擇N。

       Parallel port keyboard adapter:並口鍵盤或鼠標。如果不使用,則選擇N。

       PCI PS/2 keyboard and PS/2 mouse controller:接在移動式擴展塢(Docking station)上的鍵盤或鼠標。如果不使用,則選擇N。

       PS/2 driver library:爲PS/2接口上的設備提供驅動(比如PS/2鼠標或標準AT鍵盤)。如果不使用,則選擇N。

       Raw access to serio ports:在一般情況下,建議選擇N。

       Gameport support:類似早年“小霸王”遊戲機上的那種手柄。如果不使用,則選擇N。

20)Character devices

字符設備。包含以下子選項。

       Virtual terminal:虛擬終端。嵌入式系統在一般情況下,建議選擇N。

       Support for console on virtual terminal:內核將一個虛擬終端用做系統控制檯(將諸如模塊錯誤、內核錯誤、啓動信息之類的警告信息發送到這裏,通常是第一個虛擬終端)。嵌入式系統在一般情況下,建議選擇N。

       Support for binding and unbinding console drivers:虛擬終端是通過控制檯驅動程序與物理終端相結合的,但在某些系統上可以使用多個控制檯驅動程序(如framebuffer控制檯驅動程序),該選項使得可以選擇其中之一。如果不清楚,則選擇N。

       Non-standard serial port support:非標準串口支持。這樣的設備已廢棄不用。在一般情況下,建議選擇N。

       Serial drivers:串口驅動。如果有老式的串口鼠標或小貓,則選擇Y。否則選擇N。

       Unix98 PTY support:僞終端(PTY)可以模擬一個終端,它由slave(等價於一個物理終端)和master(被一個諸如xterms之類的進程用來讀寫 slave設備)兩部分組成的軟設備。如果使用telnet或ssh遠程登錄者,則選擇Y。如果不清楚,則選擇N。

       Legacy(BSD)PTY support:使用過時的BSD風格的/dev/ptyxx作爲master,/dev/ttyxx作爲slave。這個方案有一些安全問題,建議選擇N。

       Parallel printer support:並口打印機。如果不使用,則選擇N。

       Support for console on line printer:允許將內核信息輸出到並口,這樣就可以打印出來。如果不清楚,則選擇N。

       Support for user-space parallel port device drivers:/dev/parport設備支持,比如deviceid之類的程序需要使用它。在一般情況下,建議選擇N。

       Texas Instruments parallel link cable support:德州儀器生產的一種使用並行電纜的圖形計算器。如果不清楚,則選擇N。

       IPMI:可以利用IPMI遠程監視服務器的物理特徵(溫度、電壓、風扇、電源、機箱入侵),它是獨立於CPU、BIOS、OS的,只要接通電源就可以實現對服務器的監控。如果不清楚,則選擇N。

       IPMI top-level message handler:IPMI消息處理器,要啓用IPMI遠程監視,則選擇Y。如果不清楚,則選擇N。

       Generate a panic event to all BMCs on a panic:當發生緊急情況(panic)時,IPMI消息處理器將會向每一個已註冊的底板管理控制器(BMC)接口生成一個描述該panic的IPMI 事件,這些事件可以引發日誌記錄、報警、重啓、關機等動作。如果不清楚,則選擇N。

       Generate OEM events containing the panic string:當發生緊急情況(panic)時,IPMI消息處理器將會產生OEM類型的事件。如果不清楚,則選擇N。

       Device interface for IPMI:爲IPMI消息處理器提供一個IOCTL接口,以便用戶空間的進程也可以使用IPMI。如果不清楚,則選擇N。

       IPMI System Interface handler:向系統提供接口(KCS、SMIC),一般用了IPMI就需要選擇Y。如果不清楚,則選擇N。

       IPMI WatchDog Timer:啓用IPMI WatchDog定時器。如果不清楚,則選擇N。

       IPMI Poweroff:允許IPMI消息處理器選擇N。如果不清楚,則選擇N。

       WatchDog Cards:能讓系統在出現致命故障後自動重啓,如果沒有硬件WatchDog,建議使用Hangcheck timer而不是軟件WatchDog。如果不清楚,則選擇N。

       Watchdog Timer Support:選擇Y。下面的一個Driver之後,再創建一個/dev/ watchDog節點即可擁有一隻WatchDog了。更多信息請參考內核幫助。如果不清楚,則選擇N。

       Disable watchDog shutdown on close:一旦WatchDog啓動後就禁止將其停止。如果不清楚,則選擇N。

       Software watchDog:軟件WatchDog,使用它不需要有任何硬件的支持,但是可靠性沒有硬件WatchDog高。如果不清楚,則選擇N。

       Hardware Random Number Generator Core support:硬件隨機數發生器內核支持。如果不清楚,則選擇N。

       Intel HW Random Number Generator support:Intel芯片組的硬件隨機數發生器。如果不清楚,則選擇N。

       AMD HW Random Number Generator support:AMD芯片組的硬件隨機數發生器。如果不清楚,則選擇N。

       AMD Geode HW Random Number Generator support:AMD Geode LX的硬件隨機數發生器。如果不清楚,則選擇N。

       VIA HW Random Number Generator support:VIA芯片組的硬件隨機數發生器。如果不清楚,則選擇N。

       /dev/nvram support:直接存取主板上CMOS的接口。可能發生安全性問題,建議選擇N。

       Enhanced Real Time Clock Support:啓用該選項並創建/dev/RTC文件後就可以通過/proc/driver/RTC訪問系統的硬件時鐘(RTC),衆多功能依賴於它(如SMP、IRQ共享、定時器)。在一般情況下,建議選擇Y。

       Double Talk PC internal speech card support:由RC Systems公司製造的一種語音合成器。如果不清楚,則選擇N。

       Siemens R3964 line discipline:與使用西門子R3964協議的設備同步通信。除非有一些諸如PLC之類的特殊設備,否則在一般情況下,建議選擇N。

       Applicom intelligent fieldbus card support:Applicom international公司生產的用於現場總線連接卡。如果不清楚,則選擇N。

       Sony Vaio Programmable I/O Control Device support:Sony VAIO筆記本上的設備。如果不清楚,則選擇N。

       Ftape,the floppy tape device driver:針對使用磁帶的系統。如果不清楚,則選擇N。

       /dev/agpgart(AGP Support):AGP總線支持,有AGP顯卡的還必須從子項中選取符合嵌入式系統所使用顯卡型號的驅動。如果不清楚,則選擇N。

       Direct Rendering Manager:DRI允許應用程序以高效安全的方式直接訪問圖形處理,主要用於硬件3D加速。建議桌面用戶選擇此方式,同時還必須從子項中選取符合嵌入式系統所使用顯卡型號的驅動。如果不清楚,則選擇N。

       PCMCIA character devices:使用PCMCIA接口的字符設備。如果不清楚,則選擇N。

       ACP Modem(Mwave)support:IBM Thinkpad上的一種軟貓,一種老式產品。如果不清楚,則選擇N。

       NatSemi SCx200 GPIO Support:松下的一種通用輸入、輸出(GPIO)芯片。嵌入式系統一般選擇Y。

       NatSemi PC8736x GPIO Support:松下的一種通用輸入、輸出(GPIO)芯片。嵌入式系統一般選擇Y。

       NatSemi Base GPIO Support:松下的一種通用輸入、輸出(GPIO)芯片。嵌入式系統一般選擇Y。

       AMD CS5535/CS5536 GPIO:常用於AMD Geode的一種通用輸入、輸出(GPIO)芯片。嵌入式系統一般選擇Y。

       RAW driver(/dev/raw/rawN):一種老式設備,已廢棄。在一般情況下,建議選擇N。

       HPET-High Precision Event Timer:高精度事件定時器。如果不清楚,則選擇N。

       Allow mmap of HPET:允許對HPET寄存器進行映射。在一般情況下,建議選擇Y。

       Hangcheck timer:宕機檢測定時器週期性地檢查系統任務調度程序,以確定系統的運行狀況,如果超過閾值,計算機將重新啓動。它通常可以比WatchDog更好地解決可用性和可靠性問題。如果不清楚,則選擇N。

       TPM devices:基於硬件的“可信賴平臺模塊”。在一般情況下,建議選擇N。

       Telecom clock driver for MPBL0010 ATCA SBC:在一般情況下,建議選擇N。

21)I2C support

I2C是Philips極力推動的微控制應用中使用的低速串行總線協議,可用於監控電壓、風扇轉速、溫度等。SMBus(系統管理總線)是I2C的子集。除硬件傳感器外,Video For Linux也需要該模塊的支持。包含以下子選項。

       I2C device interface:I2C設備接口,允許用戶空間的程序通過/dev/i2c-*設備文件使用I2C總線。如果不清楚,則選擇N。

       I2C Algorithms:I2C算法支持,可以全選擇N。若有其他部分依賴其子項時,建議選擇Y。

       I2C Hardware Bus support:按實際硬件情況選對應的子項即可。

       Miscellaneous I2C Chip support:其他不常見的產品,按需求選擇。如果不清楚,則選擇N。

       I2C Core debugging messages:僅供調試使用。如果不清楚,則選擇N。

       I2C Algorithm debugging messages:僅供調試使用。如果不清楚,則選擇N。

       I2C Bus debugging messages:僅供調試使用。如果不清楚,則選擇N。

       I2C Chip debugging messages:僅供調試使用。如果不清楚,則選擇N。

22)SPI support

串行外圍接口(SPI)常用於微控制器(MCU)與外圍設備(傳感器、EEprom、Flash、編碼器、模數轉換器)之間的通信,比如MMC和SD卡就通常需要使用SPI。

23)Dallas's 1-wire bus

一線總線。如果不清楚,則選擇N。

24)Hardware Monitoring support

當前主板大多都有一個監控硬件健康的設備用於監視溫度、電壓、風扇轉速等,請按照嵌入式系統所使用主板實際使用的芯片選擇相應的子項。另外,該功能還需要I2C的支持。如果不清楚,則選擇N。

25)Multimedia devices

多媒體設備。包括以下子選項。

       Video For Linux:如果是使用音頻/視頻設備或FM收音卡的則選擇Y。此功能還需要I2C的支持。如果不清楚,則選擇N。

       Enable Video For Linux API 1:使用老舊的V4L第一版API。在一般情況下,建議選擇N。

       Enable Video For Linux API 1 compatible Layer:提供對第一版V4L的兼容。在一般情況下,建議選擇N。

       Video Capture Adapters:視頻捕獲卡。如果不清楚,則選擇N。

       Enable advanced debug functionality:該選項僅供調試使用。如果不清楚,則選擇N。

       Autoselect pertinent encoders/decoders and other helper chips:爲視頻卡自動選擇所需的編碼和解碼模塊。在一般情況下,建議選擇Y。

       Virtual Video Driver:虛擬視頻卡,僅供測試視頻程序和調試。如果不清楚,則選擇N。

       SAA5246A,SAA5281 Teletext processor:該選項僅面向歐洲用戶,中國用戶一般選擇N。

       SAA5249 Teletext processor:該選項僅面向歐洲用戶,中國用戶一般選擇N。

       V4L USB devices:使用USB接口的視頻卡,子選項請根據嵌入式系統實際使用的視頻卡選擇。

       Radio Adapters:音頻卡,子選項請根據嵌入式系統實際使用的音頻卡選擇。

       Digital Video Broadcasting Devices:數字視頻廣播設備(DVB卡或機頂盒),子選項請根據嵌入式系統實際使用的硬件選擇

       DABUSB driver:USB接口的數字音頻廣播設備接收器。如果不清楚,則選擇N。

26)Graphics support

圖形設備/顯卡支持。包括以下子選項。

       Enable firmware EDID:允許訪問Video BIOS中的擴展顯示器識別數據(EDID)。如果不清楚,則選擇N。

       Support for frame buffer devices:幀緩衝設備是爲了讓應用程序使用統一的接口操作顯示設備而對硬件進行的抽象。如果不清楚,則選擇N。

       Enable Video Mode Handling Helpers:使用GTF和EDID來幫助處理顯示模式,可以選擇N。若有其他選項依賴於它時,則會自動選擇Y。

       Enable Tile Blitting Support:可以選擇N。若有其他選項依賴於它時,會自動選擇Y。

       VGA 16-color graphics support:16色VGA顯卡。如果有這樣一種老式設備,則選擇Y。

       VESA VGA graphics support:符合VESA 2.0標準的顯卡的通用驅動,如果顯卡芯片在下面能夠找到就可以選擇N。

       Virtual Frame Buffer support:僅供調試使用。

       Console display driver support:控制檯顯示驅動。如果不清楚,則選擇N。

       VGA text console:文本控制檯。如果不清楚,則選擇N。

       Enable Scrollback Buffer in System RAM:在內存中開闢額外的屏幕緩衝區,這將允許回滾屏幕。如果不清楚,則選擇N。

       Scrollback Buffer Size(in KB):在內存中開闢的額外屏幕緩衝區大小。如果不清楚,則選擇N。

       Video mode selection support:允許在內核啓動時使用vga=選擇文本模式,如果希望一行能夠顯示更多字符的話可以打開它。如果不清楚,則選擇N。

       MDA text console(dual-headed):如果有老式的單色顯卡並且作爲第二塊顯卡使用以實現雙頭顯示,則選擇Y。如果不清楚,則選擇N。

       Framebuffer Console support:基於Framebuffer的控制檯驅動,服務器可以選擇N。

       Framebuffer Console Rotation:顯示畫面旋轉,它可能大大降低顯示速度,建議選擇N。

       Select compiled-in fonts:選擇內建字體。如果不清楚,則選擇N。

       VGA 8x8 font:高分辨率下的小字體。如果不清楚,則選擇N。

       VGA 8x16 font:低分辨率下的大字體。如果不清楚,則選擇N。

       Logo configuration:啓動時顯示Linux的logo(一幅企鵝圖像),喜歡炫一下的則選擇Y。

       Backlight&LCD device support:LCD顯示器支持。如果不清楚,則選擇N。

27)Sound

聲卡。包括以下子選項。

       Advanced Linux Sound Architecture:使用聲卡者選擇Y。

       Sequencer support:音序器支持(MIDI必需),除非確定不需要,否則請選擇Y。

       Sequencer dummy client:除非要同時連接到多個MIDI設備或應用程序,否則一般選擇N。

       OSS Mixer API:OSS混音器API仿真,許多程序目前仍然需要使用它。在一般情況下,建議選擇Y。

       OSS PCM(digital audio)API:OSS數字錄音(PCM)API模擬,許多程序目前仍然需要使用它。在一般情況下,建議選擇Y。

       OSS PCM(digital audio)API-Include plugin system:在一般情況下,建議選擇N。

       OSS Sequencer API:OSS音序器支持,許多程序目前仍然需要使用它。在一般情況下,建議選擇Y。

       RTC Timer support:爲ALSA啓用RTC定時器支持。在一般情況下,建議選擇Y。

       Use RTC as default sequencer timer:將RTC當做默認的時序脈衝發生器。如果不清楚,則選擇N。

       Dynamic device file minor numbers:僅供擁有多個聲卡的用戶選擇。如果不清楚,則選擇N。

       Support old ALSA API:支持已被廢棄的老版本ALSA API。如果不清楚,則選擇N。

       Verbose procfs contents:僅供調試使用。

       Verbose printk:僅供調試使用。

       Debug:僅供調試使用。

       Generic devices:通用設備。如果不清楚,則選擇N。

       Dummy(/dev/null)soundcard:僅供調試使用。

       Virtual MIDI soundcard:虛擬MIDI驅動,允許將使用原始MIDI設備的應用程序連接到音序器客戶端。如果不清楚,則選擇N。

       PCI devices:PCI接口的聲卡,請按實際使用的聲卡選擇子項。

       USB devices:USB接口的聲卡,請按實際使用的聲卡選擇子項。

       PCMCIA devices:PCMCIA接口的聲卡,請按實際使用的聲卡選擇子項。

       Open Sound System:在一般情況下,建議選擇N。

28)USB support

USB支持。包括以下子選項。

       Support for Host-side USB:主機端(Host-side)USB支持。通用串行總線(USB)是一個串行總線子系統規範,它比傳統的串口速度更快並且特性更豐富(供電、熱插拔,最多可接127個設備等),有望在將來統一PC外設接口。USB的“Host”(主機)被稱爲“根”(也可以理解爲是主板上的USB控制器),外部設備被稱爲“葉子”,而內部的節點則稱爲HUB(集線器)。基本上只要想使用任何USB設備都必須選擇此項。另外,還需要從下面選擇Y。至少一個Host Controller Driver(HCD),比如適用於USB 1.1的UHCI HCD support或OHCI HCD support,適用於USB 2.0的EHCI HCD(USB 2.0)support。如果拿不準的話把他們全部選擇Y,一般也不會出問題。如果系統有設備端的USB接口(也就是系統可以作爲葉子使用),請到USB Gadget中進行選擇。

       USB verbose debug messages:僅供調試使用。

       USB device filesystem:在/proc/bus/USB裏列出當前連接的USB設備(mount-t USBfs none/proc/bus/USB),這樣用戶空間的程序就可以直接訪問這些USB設備。如果要使用USB設備的話就必須選擇Y。

       Enforce USB bandwidth allocation:執行USB帶寬分配限制,禁止打開佔用USB總線帶寬超過90%的設備,選擇N可能會導致某些設備無法正常工作。

       Dynamic USB minor allocation:除非有超過16個同類型的USB設備,否則選擇N。

       USB selective suspend/resume and wakeup:USB設備的掛起和恢復。在一般情況下,建議選擇N。

       EHCI HCD(USB 2.0)support:USB 2.0支持(大多數2002年以後的主板都支持)。如果此項選擇Y,一般來說OHCI或UHCI驅動選項同時需要也選擇Y。

       Full speed ISO transactions:由於USB 2.0支持低速(1.5Mbps)、全速(12Mbps)、高速(480Mbps)3種規格的外部設備,爲了將全/低速設備對高速設備可用帶寬的影響減到最小,在USB 2.0集線器中提供了一種事務轉換(Transaction Translator)機制,該機制支持在HUB連接的是全/低速設備的情況下,允許主控制器與HUB之間以高速傳輸所有設備的數據,從而節省不必要的等待。如果沒有外置的USB集線器可以選擇N。

       Root Hub Transaction Translators:帶有USB 2.0接口的主板上都有一個根集線器(Root Hub),以允許在無須額外購買HUB的情況下就可以提供多個USB插口,其中的某些產品還在其中集成了事務轉換(Transaction Translator)功能,這樣就不需要再額外使用一個兼容OHCI或UHCI的控制器來兼容USB 1.1,即使不太清楚嵌入式系統所使用主板上的根集線器是否集成了事務轉換功能,也可以安全地選擇此項。

       Improved Transaction Translator scheduling:如果有一個高速USB 2.0 HUB並且某些接在這個HUB上的低速或全速設備不能正常工作(顯示'cannot submit datapipe: error-28'或'error-71'錯誤),可以考慮選擇Y。

       ISP116X HCD support:ISP1160/ISP1161主機USB控制器,是符合USB 2.0全速規範的單片主機控制器和設備控制器,支持OHCI標準。

       OHCI HCD support:開放主機控制接口(OHCI)是主要針對嵌入式系統的USB 1.1主機控制器規範。如果不清楚,則選擇N。

       UHCI HCD(most Intel and VIA)support:通用主機控制器接口(UHCI)是主要針對PC的USB 1.1主機控制器規範。另外,EHCI也可能需要它。如果不清楚,則選擇N。

       Elan U132 Adapter Host Controller:如果嵌入式系統採用這種設備,則選擇Y。

       SL811HS HCD support:如果嵌入式系統採用這種設備,則選擇Y。

       USB Bluetooth TTY support:USB藍牙TTY設備支持。如果嵌入式系統採用這種設備,則選擇Y。

       USB MIDI support:USB MIDI設備支持。如果嵌入式系統採用這種設備,則選擇Y。

       USB MODEM(CDC ACM)support:USB接口的貓或ISDN適配器。如果嵌入式系統採用這種設備,則選擇Y。

       USB Printer support:USB打印機。如果嵌入式系統採用這種設備,則選擇Y。

       USB Mass Storage support:USB存儲設備(優盤、USB硬盤、USB軟盤、USB CD-ROM、USB磁帶、memory sticks、數碼相機、讀卡器等)。該選項依賴於SCSI device support,且大部分情況下還依賴於SCSI disk support(比如優盤或USB硬盤)。如果嵌入式系統採用這種設備,則選擇Y。

       USB Mass Storage verbose debug:僅供調試使用。

       The shared table of common(或usual)storage devices:該模塊包含一張記錄了常用USB存儲設備及其驅動的表格,這樣無須重新編譯模塊即可在切換這些設備時自動邦定對應的驅動(還需要對 /etc/modprobe。conf進行相應的設置)。如果不清楚,則選擇N。

       USB Human Interface Device(full HID)support:USB人機界面設備(鼠標、鍵盤、遊戲杆、手寫板等操作計算機的設備),該驅動不能和USB HID Boot Protocol drivers同時使用。如果不清楚,則選擇N。

       HID input layer support:如果有USB接口的鼠標、鍵盤、遊戲杆、手寫板等輸入設備,則選擇Y。

       Enable support for iBook/PowerBook special keys:蘋果iBooks/PowerBooks鍵盤上的Fn/Numlock等功能鍵支持。如果不清楚,則選擇N。

       Force feedback support:力反饋設備。如果不清楚,則選擇N。

       /dev/hiddev raw HID device support:如果有USB監控裝置或不間斷電源(UPS)之類的非輸入設備就選擇Y。

       USB HID Boot Protocol drivers:如果有絕對的把握確信不爲嵌入式系統所使用的鍵盤和鼠標使用通常的HID驅動,而要使用Boot Protocol模式的HID驅動(常見於嵌入式環境),則選擇Y。

       Aiptek 6000U/8000U tablet support:一種手寫板。如果嵌入式系統採用這種設備,則選擇Y。

       Wacom Intuos/Graphire tablet support:一種手寫/繪圖板。如果嵌入式系統採用這種設備,則選擇Y。

       Acecad Flair tablet support:一種數控繪圖板。如果嵌入式系統採用這種設備,則選擇Y。

       KB Gear JamStudio tablet support:一種手寫/繪圖板。如果嵌入式系統採用這種設備,則選擇Y。

       Griffin PowerMate and Contour Jog support:一種具有調節音量、滾動文本、視頻快進/快退等功能的產品。如果嵌入式系統採用這種設備,則選擇Y。

       USB Touchscreen Driver:USB觸摸屏驅動。如果嵌入式系統採用USB觸摸屏硬件,則選擇Y。

       Yealink USB-p1k voip phone:一種VoIP電話。如果嵌入式系統採用這種設備,則選擇Y。

       X-Box gamepad support:X-Box遊戲板。如果嵌入式系統採用這種設備,則選擇Y。

       ATI/X10 USB RF remote control:一種USB遠程控制設備。如果嵌入式系統採用這種設備,則選擇Y。

       ATI/Philips USB RF remote control:一種USB遠程控制設備。如果嵌入式系統採用這種設備,則選擇Y。

       Keyspan DMR USB remote control:一種USB遠程控制設備。如果嵌入式系統採用這種設備,則選擇Y。

       Apple USB Touchpad support:蘋果機上的觸摸板。如果嵌入式系統採用這種設備,則選擇Y。

       USB Mustek MDC800 Digital Camera support:一種數碼相機。如果嵌入式系統採用這種設備,則選擇Y。

       Microtek X6USB scanner support:一種掃描儀。如果嵌入式系統採用這種設備,則選擇Y。

       USB Network Adapters:USB網絡適配器,如果有這種設備請根據嵌入式系統實際使用的硬件選擇子項。

       USB Monitor:USB流量監控。在一般情況下,建議選擇N。

       USS720 parport driver:一種USB接口轉並口的轉換設備。如果嵌入式系統採用這種設備,則選擇Y。

       USB Serial Converter support:USB接口轉串口的轉換設備。如果嵌入式系統採用這種設備,則選擇Y。

       EMI 6|2m USB Audio interface support:一種USB音頻設備。如果嵌入式系統採用這種設備,則選擇Y。

       EMI 2|6 USB Audio interface support:一種USB音頻設備。如果嵌入式系統採用這種設備,則選擇Y。

       ADU devices from Ontrak Control Systems:Ontrak Control Systems公司的一種自動撥號設備。如果嵌入式系統採用這種設備,則選擇Y。

       USB Auerswald ISDN support:一種ISDN設備。如果嵌入式系統採用這種設備,則選擇Y。

       USB Diamond Rio500 support:一種MP3播放器。如果嵌入式系統採用這種設備,則選擇Y。

       USB Lego Infrared Tower support:一種無線發射機。如果嵌入式系統採用這種設備,則選擇Y。

       USB LCD driver support:USB液晶顯示器。如果嵌入式系統採用這種設備,則選擇Y。

       USB LED driver support:USB發光二極管。如果嵌入式系統採用這種設備,則選擇Y。

       Cypress CY7C63xxx USB driver support:德國AK Modul-Bus Computer GmbH公司的一種產品。如果嵌入式系統採用這種設備,則選擇Y。

       Cypress USB thermometer driver support:一種溫度計。如果嵌入式系統採用這種設備,則選擇Y。

       USB Phidgets drivers:來自Phidgets公司的各種USB產品。如果嵌入式系統採用這種設備,則選擇Y。

       Siemens ID USB Mouse Fingerprint sensor support:西門子公司的一種指紋傳感器。如果嵌入式系統採用這種設備,則選擇Y。

       Elan PCMCIA CardBus Adapter USB Client:Elan公司的一種USB轉PCMCIA的適配器。如果嵌入式系統採用這種設備,則選擇Y。

       Apple Cinema Display support:蘋果公司的一種Cinema Display。如果嵌入式系統採用這種設備,則選擇Y。

       USB 2.0 SVGA dongle support(Net2280/SiS315):一種軟件狗。如果嵌入式系統採用這種設備,則選擇Y。

       USB LD driver:USB LD驅動。如果嵌入式系統採用USB LD硬件,則選擇Y。

       PlayStation 2 Trance Vibrator driver support:SONY的PS2上面的“入迷振盪器”,類似於力反饋手柄。如果嵌入式系統採用這種設備,則選擇Y。

       USB testing driver:這是一種測試中的驅動。在一般情況下,建議選擇N。

       USB DSL modem support:對USB DSL貓的支持。如果嵌入式系統採用這種設備,則選擇Y。

       USB Gadget Support:USB雜項支持。如果不清楚,則選擇N。

29)MMC/SD Card support

MMC/SD卡支持。如果嵌入式系統採用此類設備,則選擇Y。

30)LED devices

發光二級管(LED)設備。如果嵌入式系統採用此類設備,則選擇Y。

31)InfiniBand support

InfiniBand是一個通用的高性能I/O規範,它使得存儲區域網中以更低的延時傳輸I/O消息和集羣通信消息並且提供很好的伸縮性。用於Linux服務器集羣系統。如果不清楚,則選擇N。

32)EDAC-error detection and reporting(RAS)

錯誤檢測與糾正(EDAC)的目標是發現並報告,甚至糾正在計算機系統中發生的錯誤,這些錯誤是由CPU或芯片組報告的底層錯誤(內存錯誤、緩存錯誤、PCI錯誤、溫度過高等)。在一般情況下,建議選擇Y。如果這些代碼報告了一個錯誤,請到以下網站查看更多信息。

       http://bluesmoke.Sourceforge.net/。

       http://buttersideup.com/edacwiki/。

該選項包括以下子選項。

       Debugging:僅供調試使用。

       Main Memory EDAC(Error Detection And Correction)reporting:一些系統能夠檢測和修正主內存中的錯誤,EDAC能夠報告這些信息(EDAC自己檢測到的或者根據ECC得到的)。EDAC還會盡量檢測這些錯誤發生在哪裏,以便於替換損壞的內存。建議選擇並按照實際使用的芯片組選取子項。

       Error detecting method:錯誤檢測方法,當前只有一個Poll for errors(錯誤輪詢)可用。如果不清楚,則選擇N。

33)Real Time Clock

所有的PC主板都包含一個電池動力的實時時鐘芯片,以便在斷電後仍然能夠繼續保持時間,RTC通常與CMOS集成在一起,因此BIOS可以從中讀取當前時間。該選項包括以下子選項。

       RTC class:通用RTC類支持,選擇此項後就可以在操作系統中使用一個或多個RTC設備,還必須從下面啓用一個或多個RTC接口。如果不清楚,則選擇N。

       Set system time from RTC on startup:系統啓動時使用從指定的RTC設備中讀取的時間來設定系統時間,通常這將有助於避免不必要的文件系統檢測程序(fsck)的運行。在一般情況下,建議選擇Y。

       The RTC to read the time from:指定具體從哪個RTC設備中讀取時間。如果不清楚,則選擇N。

       RTC debug support:僅供調試使用。

       sysfs:允許通過sysfs接口使用RTC,允許多個RTC設備,也就是/sys/class/RTC/ RTC0_N。如果不清楚,則選擇N。

       proc:允許通過proc接口使用RTC,僅允許一個RTC設備,也就是/proc/driver/RTC。如果不清楚,則選擇N。

       dev:允許通過dev接口使用RTC,允許多個RTC設備,也就是udev設置的/dev/RTC0_N,建議建立一個指向其中之一的軟連接/dev/RTC,某些程序(比如hwclock)需要使用/dev/RTC。如果不清楚,則選擇N。

       RTC UIE emulation on dev interface:該選項的作用是,如果底層RTC芯片接口沒有提供RTC_UIE支持,就仿真一個RTC_UIE。如果不清楚,則選擇N。

34)DMA Engine support

從Intel Bensley雙核服務器平臺開始引入的數據移動加速(Data Movement Acceleration)引擎,它將某些傳輸數據的操作從CPU轉移到專用硬件,從而可以進行異步傳輸並減輕CPU負載。Intel已將此項技術變爲開放的標準,將來應當會有更多的廠商支持。該選項包括以下子選項。

       TCP receive copy offload:通過在網絡棧中利用DMA引擎來減少接收數據包時的copy-to-user操作,以釋放CPU資源,這是DMA引擎目前最主要的用途。如果不清楚,則選擇N。

       Intel I/OAT DMA support:Intel I/O加速技術(Intel I/O Acceleration Technology)中的DMA支持,基於Intel Bensley的新一代服務器平臺都支持它。如果不清楚,則選擇N

 

4.       make bzImage , 用於編譯內核,生成的bzImage在arch/[cpu]/boot

5.        

6.        

7.       make modules  (編譯內核)

一般需要1~2小時的時間。這些模塊源於使用命令make menuconfig啓動的菜單型配置界面中選擇的項

8.       make modules_install安裝內核

9.       製作init  ramdisk    mkinitrd initrd-2.6.16 2.6.16

10.   安裝內核  cp initrd-2.6.16 /boot

cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.16

11.修改啓動配置文件/etc/grub.conf

 

12.重啓

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章