歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 詳細編譯內核方法

詳細編譯內核方法

日期:2017/2/27 14:13:31   编辑:更多Linux
  發信人: sujm (小白蛇), 信區: KernelTech標 題: Linux KERNEL 配置編譯中文指南(1)發信站: BBS 水木清華站 (Fri Oct 5 16:19:48 2001)發信人: Altmayer (alt亡命天涯), 信區: GNULinux標 題: LINUX KERNEL 配置編譯中文指南1發信站: 飲水思源 (2001年09月25日00:08:21 星期二), 站內信件前言之前言:誰是這篇文章的讀者?不習慣讀英文資料的非LINUX高手聲卡不響光驅不轉連不上網等等,只要有問題就行開發嵌入式操作系統現在流行的ODL(only disk linux)中做內核部分,那些文章不介紹此點內容。我正在做,完工後整理資料。BY THE WAY ,想成為LINUX高手嗎?你需要熟練掌握KERNEL COMPILE 、XCONFIGRATER、LINUXCONFIG、 SAMBA四大利器,你隨時可以找到後三者的大量相關資料,但內核編譯就只好啃為數不多的英文了。筆者耗時3月,搜集並整理大量資料,在兒童節前連續工作 18個小時後,給小企鵝送了這份禮物。筆者自信是目前為止KERNEL編譯方面最完備的中文資料(將不斷翻譯補充),這可是畢業論文哪!為什麼要放網上呢?首先找這方面資料太難了,文章對各位LINUX愛好者會有所幫助。其次,取之於網用之於網。歡迎使用這篇文章,請隨便引用,這才符合LINUX自由軟件的精神嘛,不過別忘了提提我的名字,就算為我的辛苦付了點稿酬。介於內核方面資料較少,歡迎在這篇文章中添加和修改內容,但不要過多刪除,筆者列表要加入你的名字,讓我們為把它變成數百頁的資料而努力。OK,交個朋友吧,我是玉玉安,email :[email protected] <[email protected]>目錄序言第一章 內核編譯的基礎第一節內核簡介第二節內核版本第三節編譯原因第四節准備工作第二章 內核編譯的流程第一節編譯開始第二節配置內核 {核心內容}1.代碼成熟等級2..處理器類型和特色3.對模塊的支持4.基本的選擇5.即插即用支持6.塊設備支持7.網絡選項8.電話支持9.SCSI設備的支持10.I2O接口適配器11.網絡設備支持12.配置業余無線廣播13.紅外支持14.ISDN的文件系統15.舊型光驅類型(非IDE界面的光驅)16.字符設備17.USB支持18.文件系統19.控制台驅動20.聲卡驅動21.Kernel hacking第二節 內核版本由於Linux的源程序是完全公開的,任何人只要遵循GPL,就可以對內核加以修改並發布給他人使用。Linux的開發采用的是集市模型(bazaar,與cathedral--教堂模型--對應),為了確保這些無序的開發過程能夠有序地進行,Linux采用了雙樹系統。一個樹是穩定樹(stable tree),另一個樹是非穩定樹(unstable tree)或者開發樹(development tree)。一些新特性、實驗性改進等都將首先在開發樹中進行。如果在開發樹中所做的改進也可以應用於穩定樹,那麼在開發樹中經過測試以後,在穩定樹中將進行相同的改進。一旦開發樹經過了足夠的發展,開發樹就會成為新的穩定樹。開發數就體現在源程序的版本號中;源程序版本號的形式為x.y.z:對於穩定樹來說,y是偶數;對於開發樹來說,y比相應的穩定樹大一(因此,是奇數)。確定是以″ root ″的身份簽入,然後cd 到 /usr/src 。uname -r 這個指令將會顯示版本。內核版本的更新可以訪問<http://www.kernel.org/>。第三節 編譯原因Linux作為一個自由軟件,在廣大愛好者的支持下,內核版本不斷更新。新的內核修訂了舊內核的bug,並增加了許多新的特性。如果用戶想要使用這些新特性,或想根據自己的系統度身定制一個更高效,更穩定的內核,就需要重新編譯內核。通常,更新的內核會支持更多的硬件,具備更好的進程管理能力,運行速度更快、更穩定,並且一般會修復老版本中發現的許多漏洞等,經常性地選擇升級更新的系統內核是Linux使用者的必要操作內容。為了正確的合理地設置內核編譯配置選項,從而只編譯系統需要的功能的代碼,一般主要有下面四個考慮:  ---自己定制編譯的內核運行更快(具有更少的代碼)  ---系統將擁有更多的內存(內核部分將不會被交換到虛擬內存中)  ---不需要的功能編譯進入內核可能會增加被系統攻擊者利用的漏洞  ---將某種功能編譯為模塊方式會比編譯到內核內的方式速度要慢一些以上是針對成熟的Linux套件如Redhat Linux而言,我的目的是為建造嵌入式Linux操作系統做准備,也是必由之路。第四節 准備工作第一部分 新版本內核的獲取和更新Linux內核版本發布的官方網站是<http://www.kernel.org/>,國內各大FTP上一般都可以找到某些版本的內核。新版本的內核的發布有兩種形式,一種是完整的內核版本,另外一種是patch文件,即補丁。完整的內核版本比較大,比如linux-2.4.0-test8.tar.bz2就有18M之多。完整內核版本一般是.tar.gz(.tgz)文件或者是.bz2文件,二者分別是使用gzip或者bzip2進行壓縮的文件,使用時需要解壓縮。patch文件則比較小,一般只有幾十K到幾百K,極少的會超過1M。但是 patch文件是針對於特定的版本的,需要找到自己對應的版本才能使用。編譯內核需要root權限。把需要升級的內拷貝到/usr/src/下(下文中以2.2.16的內核的linux-2.2.16tar.gz為例),命令為#cp linux-2.2.16tar.gz /usr/src先查看當前/usr/src的內容,注意到有一個linux的符號鏈接,它指向一個類似於linux-2.2.14(對應於現在使用的內核版本號)的目錄。首先刪除這個鏈接:#cd /usr/src#rm -f linux現在解壓下載的源程序文件。如果所下載的是.tar.gz(.tgz)文件,使用命令:#tar -xzvf linux-2.2.16tar.gz如果下載的是.bz2文件,例如linux-2.2.16tar.bz2,使用命令#bzip2 -d linux-2.2.16tar.bz2#tar -xvf linux-2.2.16tar現在再來看一下/usr/src下的內容,發現現在有了一個名為linux的目錄,裡面就是需要升級到的版本的內核的源程序。還記得那個名為linux的鏈接麼?之所以使用那個鏈接就是防止在升級內核的時候會不慎把原來版本內核的源程序給覆蓋掉了。現在也需要同樣處理:#mv linux linux-2.2.16#ln -s linux-2.2.16 linux如果還下載了patch文件,比如patch-2.2.16,就可以進行patch操作(下面假設patch-2.2.16已經位於/usr/src目錄下了,否則需要先把該文件拷貝到/usr/src下):#patch -p0 < patch-2.2.16第二部分 准備主機板和相關硬件的說明手冊其實也不用太詳細,只要知道您的硬件是屬於哪一類型就行了。例如:有一張SCSI卡,那就要知道這張卡的名字,有一台cd-rom,就要知道這台光驅是哪一種牌子的,是否為標准的IDE/ATAPI界面,還是另有專屬接口卡呢?或者,主機版是否有支持Triton芯片(通常586以上的電腦常有),這些信息能幫助我們,使得設定變得清楚且容易。因此,不管您有什麼使用手冊,准備好吧。即使現在不用,將來還是會用到的(設X-window system時要顯示卡的手冊)。第三部分 檢查聲卡的IRQ設定和其種類如果配有一張聲卡,除了要知道卡的種類外(例如 Sound Blaster)還需要知道這張卡的IRQ地址。一般來說,盧卡的IRQ地址是5或7而IO地址則為220。DMA則l,不過,有時不同的聲卡可能會有不同的設定。因為稍後的選項裡,就會要填入這些數字。第四部分 編譯核心的硬件需求在編譯核心時,確定您的RAM最好在8MB以上,否則可能會很慢而且問題會很多,記得查看swap有沒有打開(用free指令)。此外,最好不要超頻,不然很有可能會發生signal 11的錯誤,使得編到一半的核心停了下來,其實編譯核心就好比編譯程序一樣,只是因為構成核心的程序太多了,因此我們能小心盡量小心。第二章 內核編譯的流程概述編譯的流程:編譯開始----- make mrproper;檢查所需的連接配置核心編譯核心編輯/etc/lilo.conf重新啟動新核心重新啟動機器發現並修理故障(仔細看我的文章,應該沒多少問題了)第一節 編譯開始通常要運行的第一個命令是:#cd /usr/src/linux#make mrproper該命令確保源代碼目錄下沒有不正確的目標.o文件以及文件的互相依賴。如使用剛下載的完整的源程序包進行編譯,本步可以省略。而如果多次使用了這些源程序編譯內核,那麼最好要先運行一下這個命令。確保/usr/include/目錄下的asm、linux和scsi等鏈接是指向要升級的內核源代碼的。它們分別鏈向源代碼目錄下的真正的、該計算機體系結構(對於PC機來說,使用的體系結構是i386)所需要的真正的include子目錄。如:asm指向 /usr/src/linux/include/asm-i386等。若沒有這些鏈接,就需要手工創建,按照下面的步驟進行:# cd /usr/include# rm -r asm linux scsi# ln -s /usr/src/linux/include/asm-i386 asm# ln -s /usr/src/linux/include/linux linux# ln -s /usr/src/linux/include/scsi scsi這是配置非常重要的一部分。刪除掉/usr/include下的asm、linux和scsi鏈接後,再創建新的鏈接指向新內核源代碼目錄下的同名的目錄。這些頭文件目錄包含著保證內核在系統上正確編譯所需要的重要的頭文件。也是上面又在/usr/src下"多余"地創建了個名為linux的鏈接的原因之一.一旦萬事俱備,轉到/usr/src/linux。現在你也許想停下細讀一下文檔文件,實際上如果你有些特別的硬件,或幾種光驅驅動程需要自己動手設置,他們通常這樣做,當引導時這些驅動程序將給出警告,這並不礙事他們照常工作少,閱讀擴展名為.txt .h .c的文件。通常我發現他們具有共性且易於配置。如果你不想冒險,你沒必要做。記住你照樣可以解開tar文件(或再次安裝.rpm文件)恢復前的文件。第二節 配置內核 核心內容接下來的內核配置過程比較煩瑣,但是配置的適當與否與日後Linux的運行直接相關,有必要了解一下選項的設置。配置內核可以根據需要與愛好使用下面命令中的一個:#make config (基於文本的最為傳統的配置界面,不推薦使用)#make menUConfig(基於文本選單的配置界面,字符終端下推薦使用,必須安裝ncurses-dev和tk4-dev庫)#make xconfig (基於圖形窗口模式的配置界面,Xwindow下推薦使用)#make oldconfig (如果只想在原來內核配置的基礎上修改一些小地方,會省去不少麻煩)如果不能使用Xwindow,那麼就使用make menuconfig好了。界面雖然比上面一個差點,總比make config的要好多了。選擇相應的配置時,有三種選擇,它們分別代表的含義如下:  Y--將該功能編譯進內核  N--不將該功能編譯進內核  M--將該功能編譯成可以在需要時動態插入到內核中的模塊在每一個選項前都有個括號, 但有的是中括號有的是尖括號,還有一種圓括號。用空格鍵選擇時可以發現,中括號裡要麼是空,要麼是"*",而尖括號裡可以是空,"*"和"M"。這表示前者對應的項要麼不要,要麼編譯到內核裡;後者則多一樣選擇,可以編譯成模塊。而圓括號的內容是要在所提供的幾個選項中選擇一項。在編譯內核的過程中,最煩雜的事情就是這步配置工作了,不清楚到底該如何選取這些選項。實際上在配置時,大部分選項可以使用其缺省值,只有小部分需要根據用戶不同的需要選擇。選擇的原則是將與內核其它部分關系較遠且不經常使用的部分功能代碼編譯成為可加載模塊,有利於減小內核的長度,減小內核消耗的內存,簡化該功能相應的環境改變時對內核的影響;不需要的功能就不要選;與內核關心緊密而且經常使用的部分功能代碼直接編譯到內核中。下面對選項分別加以介紹。1.Code maturity level options代碼成熟等級此處只有一項:prompt for development and/or incomplete code/drivers,如果要試驗現在仍處於實驗階段的功能,比如khttpd、IPv6等,就必須把該項選擇為Y了;否則可以把它選擇為N。在Linux的世界裡,每天都有許多人為它發展支持的driver和加強它的核心。但是有些driver還沒進入穩定的階段。但其作者很歡迎其他人去測試這些driver並提出一些bugs。這個問題是說,有一些drive還在做測試中,問您是否要選擇這些drive或支持的程序碼。如果鍵入Y,往後將會出現一些還在測試中的東西給您做選擇。(像Java的程序碼和PCI bridge),台則就鍵入N。2. Processor type and features處理器類型和特色#Processor family (386, 486/Cx486, 586/K5/5x86/6x86, Pentium/K6/TSC,PPro/6x86MX) [PPro/6x86MX] ------選擇處理器類型,缺省為Ppro/6x86MX。它會對每種CPU做最佳化,讓它跑得快又好。一般來說,沒有選擇正確的CPU並不會有重大的影響(特別是選擇386 ,這樣編譯出來的核心也許會比較小但它的速度可能就會變慢了)。所以,最好要知道您的CPU是哪一種。不過,如果您的gCC編譯器是2.7.0版以前的。那麼只能選擇386或是486。#High Memory Support------內核支持的最大內存數,缺省為1G。可以支持到4G、6.4G,一般可以不選.#Math emulation------這項詢問是否需L1nux核心模擬數學浮點運算器。如果有486Dx、AMD以及Pentium機器的話,這個選項就不必選了,因為它們都有內建的浮點運算器。協處理器是在386時代的寵兒,現在早已不用了。不過,對於有內建浮點運算器的人來說,選了這個選項並不會因此讓內建的浮點運算器失效。但它會增大核心約45KB。#MTTR (memory type range register)support------選擇該選項,系統將生成/proc/mtrr文件對MTRR進行管理,供X server使用。同時用來啟動pentinum pro和pentinum II 的特殊功能,如果你用的不是這類CPU就選N,否則也僅僅是使內核變大而已。#Symmetric multi-processing support------對稱多處理支持。除非有多個CPU,否則就不用選了。3. Loadable module support對模塊的支持.首先,了解一點關於模塊的知識。模塊就像你特意插入核心中的某些東西,如果辦公室有一個小網絡並且有時想用一下(但並不經常),也許你想把網卡編譯成一個模塊。使用這個模塊,機器必運行和存取/libs下的模塊,意思是驅動程序(IDE,SCSI等但必須是NFS支持的網卡),文件系統(通常是ext2但也可以是nfs)和核心類型(最好是elf)必須編譯在內核並且不能是模塊,模塊只有核心引導時才起作用,驅動程序(來網絡)的存取,和文件系統安裝。這些文件必須編譯在核心內否則將能安裝啟動分區。如果安裝啟動分區和網絡,你需要網絡系統文件,和己經編譯的網卡。為什麼要使用模塊? 模塊化使核心變的更簡捷,它減少核心釋放大量的受保護的空間。模塊的安裝和卸載使用的空間是可重復分配利用的。如果你打開機器有90%以上的時間用到一個模塊,編譯它。運用這類模塊是浪費內存的,原因是一旦你編譯了模塊它們同樣將占用大量的內存,核心需要一些代碼來掛上模塊。記住,核心在保護空間運行,但模塊並不是。這麼說,並不經常使用我的設備,把它編譯成只支持ext2,ide和elf。而一直使用的網卡,把其它的編譯成模塊:如a.out, java, floppy, iso9960, msdos, minix, vfat,smb,nfs,smcultra(ethernetcard),serial,printer,sound,ppp,等等。它們許多只是在這或那用上那麼幾分鐘。嚴格的說,這樣做會使核心增大許多而降低它的執行速度。這時我們就可以把這些可能會用的驅動程序編譯成一個—個的模塊,在需要用的時候才用insmod這個指令加入核心,不用的時候也能rmmod把它從核心移除,或是用lsmod察看目前所載入的模塊。這裡面有三項:#Enable loadable module support------除非准備把所有需要的內容都編譯到內核裡面,否則該項應該是必選的。#Set version information on all module symbols------通常,我們更新核心版本之後,模塊耍重新的編譯。這個選項使您不必更新編譯模塊而能使用以前的模塊。可以不選它。但如果您選y,則按照它的說明,您必須有genksyms這個程序(可用whereis指令查看有無此程序)。#Kernel module loader------讓內核在啟動時有自己裝入必需模塊的能力,建議選上。注意:在開機就會 mount 上來的 partition 的 FS 、device driver 記得要 compiler 進 kernel,不能把它弄成 modules。請不要誇張到為了完全模組化而忘了把ext2fs和IDE dirver compiler 進 kernel 裡。#Support for hot-pluggabel devices ------熱插拔設備支持。支持的不是太好,可不選。#PCMCIA/CardBus support------PCMCIA/CardBus支持。有PCMCIA就必選了。#PCI bridge optimization (eXPerimental) ------在某些支持BIOS上,它能讓存取速度加快,建議是選Y。#Backward-compatible /proc/pci------設備兼容,自己看help。#System V IPC 如果將來想編譯dosemu(DOS模擬器),則這個選項一定要選,它是一個讓各個程序(process)同步且能彼此交換數據的函數庫和一些系統的調用,沒它,很多的程序將會無法執行。#BSD Process Accounting------#Sysctl support------除非你的內存少的可憐,否則你應該啟動這個功能,啟用該選項後內核會大8K,但能讓你直接改變內核的參數而不必重新開機。#Kernel support for A.OUT binaries ------a.out的執行文件是比較古老的可執行碼,用在比較早期的UNIX系統上。Linux最初也是使用這種碼來執行程序,一直到ELF格式的可執行碼出來後,有愈來俞多的程序碼隨著ELF格式的優點而變成了ELF的可執碼。將來勢必完全取代a.out格式的可執行碼。但目前由於沿有許多的程序還沒有取代過來,所以只好選擇Y,等將來有一天,全部的程序都變成了ELF的天下時,那時再disable掉。#Kernel support for Linux/Intel ELF binaries ------由上所述,這個當然y哩,因為目前gcc-2.7.0以上的都有支持ELF了,如果沒有選擇這一項,可能會使用相當多的程序因此無法執行。注意:編譯模塊成ELF和編譯支持ELF二進制。不編譯適當的支持’’gotcha’’是明智的,如果機器結構是Pentium或486你將得到高效的代碼,但一個386的核心將運行在32-bit compatible clone;一個Pentium核心將不。為大多機器制作一張緊急啟動盤,最好在386下編譯,而386並不能運行在Pentium下編譯的核心。另外一點要注意的,你不能同時把 a.out 和 ELF 支援編譯成 modules,否則當你為了能夠使用 insmod 而用 insmod 來載入 a.out/ELF modules 時會有 Catch/22 狀況發生。如果你的系統主要是 ELF 而你偶爾會需要用到a.out,你可以把 a.out 支援編譯為modules,否則你最好把它直接放入 kernel 之中。如果你還沒進入 ELF 的世紀,在 compiler kernel 時可以直接把 ELF 支援去掉。#Kernel support for JAVA binaries ------ 這一項是正在做測試中的產品,但是如果想寫有關Java的程序,希望它能在Linux的機器上跑。那麼,可以選擇把它編成一個模塊或是直接把它編進核心裡。#Power Management support ------電源管理支持。##Advanced Power Management BIOS support------高級電源管理BIOS支持。這通常是用在筆記本電腦上的東西,如果您有APM的BIOS,支持省電的設備的(有電池的那種),那麼您可以選上這項,一般人這一項是選n,以避免一些可能會發生的問題。後有8個選項。#Parallel port support ------串口支持。5. Plug and Play configuration即插即用支持Linux對即插即用目前支持的不如Windows,好有些情況下會和其他設備產生沖突(I/O,DMA,IRQ等)。這個選項對PCI設備沒有影響,因為他們天生就是PNP設備。#Plug and Play support (CONFIG_PNP) ------ 選擇“y”,內核將自動配置即插即用設備。原來PNP還有這個意思。接到聲卡上的,則這個選項也需要選N,稍後我們會有非IDE的光驅廠牌讓我們挑選。現今的光驅通常是IDE/ATAPI界而的,所以這個選項通常是Y。#Support removable IDE interfaces(PCMCIA)------這個選項對大部分的人全選n,除非您有PCMCIA的東西,這通常是筆記本電腦上看得到的東西。 PCMCIA是一個組織,在以前是設計內存條的。但現在他們對於PCCARDS定了一個標排,並很廣泛的應用在1aptap的電腦上。不但有所謂的PCMCIA的硬盤,甚至有網絡卡、SCSI卡等,不過,大部分的人並不需要這個選項。這個選項選完後,以下則是Linux核心對幾種芯片的IDE界面做修正或是加強它。#CMD640 chipset bugfix/support------ 很多 486和 586的主機板都是用 CMD640的芯片,它是Neptune芯片和 SIS芯片的結合。不過,這種芯片有它的缺點,在許多的情形下,它會造成數據的流失和錯誤。如果您選了這一項,則Linux核心會為您小心的尋找這些錯誤並修正它。而且,它會打開對二個IDE界面的支持。不過,在它的說明文件中提到,如果您的主機板沒有PCI界面只有VESA總線界面卻希望有這項功能的話,則您必須傳一些參數給核心(ideo=cmd640_vlb)。如果不確定上面所說的,選擇Y。#CMD640 enhanced support------一般來說,對於硬盤的存取速度來說,有所謂的 PIO MODES值設定,現今的 IDE界面及 BIOS應該都能偵測到正確的硬盤PIO MODE值了。此值愈高表示硬盤的存取的速度愈快。可是,有些主機板的B10S還是舊式的,不能抓到比較高的 PIO MODE值,如此一來,便不能發揮整台硬盤的效率。這個設定告訴讀者說:如果您的IDE界面是CMD640為基礎*1*7和586的主機板都在使用它。可以查查主機板的說明書或是 IDE接口卡的說明書做確定。文件上提到,選擇這個將會降低一些速度,但是數據能百分之百的正確。#Intel 82371 PIIX(Triton I/II) DMA support------對於586的Pentium電腦來說,有相當多的主機板都是用Intel的Triton芯片,使用這種芯片的最大好處是支持直接內存存取DMA,而節省您的CPU時間。在以往還沒有DMA這個東西時,讀取硬盤需要耗用許多的CPU時間。如此一來,CPU被占用,就不能充分的發揮它的功效。後來,DMA出來後,硬盤的讀取便靠Triton或其他有支持DMA的IDE界面的芯片,直接與它們做溝通,而節省了大量的 CPU時間,但這必須您的硬盤和主機板有同時支持 DMA的 IDE界面的芯片,直接與它們做溝通而節省了大量的 CPU時間。但這必須您的硬盤和主機板有同時支持DMA MODE才行。##other IDE chipset support------如果這上選項選y,則會出現下列六種其他的芯片或廠牌供您選擇。* NOte: most of these also require special kernel boot paraaetersALI M14xx supportDTC-2278 supportHoltek HT65608 supportPROMISE DC4030 supportQDI QD6580 supportUMC 8672 support上面這六種廠牌的## Additional Block Devices其他的塊設備#Loopback device support------大部分的人這一個選項都選N,因為沒有必要。但是如果你要mount iso文件的話,你得選上Y。這個選項的意思是說,可以將一個文件掛成一個文件系統。如果要燒光盤片的,那麼您很有可能在把一個文件燒進去之前,看看這個文件是否符合IS09660的文件系統的內容,是否符合您的需求。而且,可以對這個文件系統加以保護。不過,如果您想做到這點的話,您必須有最新的mount程序,版本是在2.5X版以上的。而且如果您希望對這個文件系統加上保護,則您必須有des.1.tar.gz這個程序。注意:此處與網絡無關。#Multlnle devices driver support------這個選項可以讓把整個硬盤分區變成一個單獨的區塊設備,您必須有md035.tgz這個程序。而且在做這件事之前請將您的硬盤備份,因為它尚在測試階段。一般人對這個選項是選N。#RAM disk support------如果使用過DOS下的ramdrive程序,應該能了解這個選項的意義。它可以把內存當成硬盤來做存取就如同一般的硬盤一樣,可以format它,或是放一些文件在裡頭。然後,當您關機這些數據也隨著之而去了。如果的RAM夠大,可以考慮玩玩這選項,但一般人都不需要。#XT hard disk support------支持XT的古董硬盤,這是IBM電腦時代的東西,如果您還有這種很舊很舊的硬盤。那麼,您可以把它編進核心或是編成一個模塊。大部分的人這個選項都是選擇N的。#Compaq SMART2 support------#Mulex DAC960/DAC1100 PCI RAID Controller support------RAID鏡像用的。#Logical volume manager(LVM)support------邏輯卷管理支持。#Multiple devices driver support------多設備驅動支持。#RAM disk support------RAM盤支持。## Additional Block Devices其他的塊設備#Loopback device support------大部分的人這一個選項都選N,因為沒有必要。這個選項的意思是說,可以將一個文件掛成一個文件系統。如果要燒光盤片的,那麼您很有可能在把一個文件燒進去之前,看看這個文件是否符合IS09660的文件系統的內容,是否符合您的需求。而且,可以對這個文件系統加以保護。不過,如果您想做到這點的話,您必須有最新的mount程序,版本是在2.5X版以上的。而且如果您希望對這個文件系統加上保護,則您必須有des.1.tar.gz這個程序。注意:此處與網絡無關。#Multlnle devices driver support------這個選項可以讓把整個硬盤分區變成一個單獨的區塊設備,您必須有md035.tgz這個程序。而且在做這件事之前請將您的硬盤備份,因為它尚在測試階段。一般人對這個選項是選N。#RAM disk support------如果使用過DOS下的ramdrive程序,應該能了解這個選項的意義。它可以把內存當成硬盤來做存取就如同一般的硬盤一樣,可以format它,或是放一些文件在裡頭。然後,當您關機這些數據也隨著之而去了。如果的RAM夠大,可以考慮玩玩這選項,但一般人都不需要。#XT hard disk support------支持XT的古董硬盤,這是IBM電腦時代的東西,如果您還有這種很舊很舊的硬盤。那麼,您可以把它編進核心或是編成一個模塊。大部分的人這個選項都是選擇N的。#Compaq SMART2 support------#Mulex DAC960/DAC1100 PCI RAID Controller support------RAID鏡像用的。#Logical volume manager(LVM)support------邏輯卷管理支持。#Multiple devices driver support------多設備驅動支持。#RAM disk support------RAM盤支持。7. Networking options  網絡選項這裡配置的是網絡協議。#Packet socket ------ 選擇“Y”,一些應用程序將使用Packet協議直接同網絡設備通訊,而不通過內核中的其它中介協議。#Kernel/User Network link driver------這個是在測試中的程序碼,一般人不需要用。依它的說明,它允許在核心、模塊或程序間的某些部分間,彼此做雙向的溝通。如果想使用arpd,則這個程序碼就要加進核心裡。#TCP/IP networking------選擇“Y”,內核將支持TCP/IP協議。這個選項無論如何請您選擇Y,即使沒有網絡卡,或是沒有連到網絡上的設備,在 linux上仍有所謂的lookback設備而且有些程序需要這個選項。在說明文件中提到,如果您沒有打開這個設定,則X-window system可能會有問題(回為它也需要 TCP/IP)。#Network firewalls------選擇“Y”,內核將支持防火牆。Firewalls依英文看是防火牆。在網絡愈來愈發達的今天,網絡安全的考慮也愈來愈重要了。在局域網上找一台電腦來保護自己的考慮也愈來愈多了。可以在一局域網上找一台電腦來保護自己區域內的電腦。這樣的結果是,所有外部的電腦如果要連進內部的電腦就必須通過這台裝有Firewalls電腦的同意。所以,如果您希望這台電腦有著過濾網絡的功能的話,那麼這個選項要選 Y。而且,等一下有個IP firewalling的選項也要選y;但下面的forwarding/gatewaying要選n,如此才能讓它正常動作。大部分的人這個選項選N。#Network alasing------允許有多個IP地址。#IP:forwarding/gatewaying ------ 和 Firewall相反,這個選項是用來疏導網絡的。一個gateway(也就是router),要幫忙疏導兩個網絡間的數據傳送。這台機器必須要有兩張網絡卡,連接兩個個同的網絡,做疏導網絡的工作。如果選擇了這個選項,則表示想讓這台負責做router。那麼,就必須有兩張網絡卡了。另外有一種情形是,如果您有MODEM(通過串列界面以 SLIP和 PPP協議)和網絡卡,並用它們來連上Internet。這時您也一樣可以執行IP-routing服務,也需把這個選項打開。#IP:multicasting------所謂的multicasting是群組廣播,它是用在視頻會議上的協議,如果想送一個網絡封包(網絡的數據),同樣的一份數據將送往十部機器上。您可以連續送十次給十台機器(點對點的傳送),也可以同時送一次,然後讓十台機器同時接收到。當然後者比前者好,由於視頻會議要求是最好每個人都能同時收到同一份信息,所以如果您有類似的需要,這個選項就要打開。同時您還必須去找相關的軟件。#IP: accounting------如果您打開這個選項,您就可以在/proc/net下看到系統對於整個網絡狀況的紀錄。所以一般的人這個選項都是選y。而且,如果您設計把這台Linux機器當router用,那麼讀者可以因為這個選項而獲得許多有關於網絡lP控制的信息和它的輸送情形。不過,您必須在底下的選擇中選擇proc系統(其實proc文件系統一定要選,不選很多程序會不能用!)#IP:aliasing support------也許您只有一張網絡卡,但經由這個設定,您可以擁有數個IP地址。假設您已經有一個lP地址了,您還想再加入其他的IP地址,這時,您可以依下面的程序來做。在 shell下鍵入:sunlyy:/#ifconfig eth0:0其他的IP地址(這個IP地址不能與其他機器重復)sunlyy:/# route-add-host其他的IP地址 dev eth0:0如此您就可以同時擁有兩個IP地址了。當然,如果想把這個IP地址去除,那麼可以鍵人:原來是Linux下可以支持電話卡,這樣你就可以在IP上使用普通的電話提供語音服務了。記住,電話卡可和modem沒有任何關系。9. SCSI support SCSI設備支持如果有 SCSI 設備,就回答 Y 。現在一般PC機不會有SCSI。接著會有提示要求更進一步的資訊,像是你是否要支援光驅,硬盤,還有你使用的是那一種 SCSI 界面卡。這部份請參閱SCSI-HOWTO ,有更詳細的說明。如果你的啟動分區是SCSI設備,不要選擇SCSI模塊支持。在一般的SCSI後是SCSI低級設備驅動程序。再次重申,模塊僅僅是用在不在啟動分區的設備。#SCSI disk support------指硬盤而言,如果有SCSI硬盤,那麼就要選這個選項。#SCSI tape support------指磁帶機而言,如果您有SCSI的磁帶機,那麼就要選這個選項。#SCSI CDROM support------指CDROM,如果您有SCSI光驅,這一項一定要選。#SCSI generic support------指其他有關SCSI的東西,也許您有一台SCSI的掃描器或是燒錄機,或是其他有關SCSI的配備,您就要選這一項。而且,除此之外,您還必須准備關於這些配備的軟件。##Some SCSI devices(e.g. CD jukebox)support multiple LUNs#Probe a11 LUNs on each SCSI device------通常這個選項大部分的人都不會選。我們舉個例子來說,如果您的SCSI光驅是那種多片裝的,就是一台光驅,但可以一次放好幾片光盤片的那種。這種我們叫做Lun。#Verbose SCSI error reporting(kernel size+=12K)------如果認為您的SCSI硬件配備有些問題,想了解一下它出現的錯誤信息。那麼您可以把這個選項選y,Linux核心會告訴您有關於您的SCSI配備的問題(如果有的話)。不過,它會增加核心約 12KB左右。##SCSI low—level drivers下面總共有接近30張的SCSI卡,您可以依需求做選擇SCSI卡牌子。c AIA1542 supportAdaPtec AIHA1740 supportAdaDtec AHA274X/284X/294X supportAdaPte 7000FASST SCSI supportAdaPtec AHA152X/2825 supportAdvansys SCSI supportAlways IN2000 SCSI supportAdvansys SCSI supportAlways IN2000 scsi supportAM53/79C974 PCI SCSI sppportBuslogic SCSI SupportDTC3180/3280 SCSI supportEATA ISA/EISA(DPT PM2011/021/012/022/122/322) supportEATA-DMA(DPT,NEC,AT&T,SNI,AST,01ivetti,Alphatronix)supportEATA-PIO(old DPT PM2001,PM2012A) supportFuture Domain 16xx SCSI supportGeneric NCR5380/53c400 SCSI supportNCR53c405a SCSI supportNCR53c7,8xx SCSI supportNCR53CSXX SCSI supportIOMEGA Parallel Port ZIP drive SCSI supportPAS16 SCSI SUpportQlogic FAS SCSI supportQlogic lSP SCSI supportSeagate ST-02 and future Domain TMC-8xx SCSI supportTrantor T128/T128F/T228 scsi supportUltrastor 14F/34F supportUltrastor SCSI support10. I2O device support這個也不清楚,幫助裡說是這個需要I2O接口適配器才能支持的,在智能Input/Output(I2O)體系接口中使用,又是要硬件,不選了。11. Network device support網絡設備支持上面選好協議了,現在該選設備了,內容多得很。還好裡面大概分類了,有ARCnet設備、Ethernet(10 or 100 Mbit)、Ethernet(1000Mbit)、Wireless LAN(non-hamradio)、Token Ring device、Wan interfaces、PCMCIA network device support幾大類。耐心點,一般說來都能找到自己用的網卡。如果沒有,你只好自己到廠商那裡去要驅動了。如果這個選項沒有打開的話,那麼以下的選項將不會出現。它是在選擇網絡卡或是網絡的設備。例如,PLIP,PPP,SLIP,還有各式各樣的網絡卡,所以這個選項通常是選y。#Dummy net driver support------如果有SLIP或PPP的傳輸協議,那麼要把這一項打開。因為一來它不會讓您的Linux核心增大。二來,對某些應用程序來說,它可以讓我們模擬出來的TCP/IP環境更像TCP/IP環境。如果您沒有SLIP或PPP協議,就不用打開了。#EQL(serial line load balancing) support------如果有兩個MODEM,兩條電話線,而且用SLIP或PPP協議,可以用這個Driver以便讓您的MODEM有兩倍的速度。當然,在網絡的另一端也要有同樣的設備。#PLIP(parallel port) support------依字面上看,它是一種利用打印機的接口(平行接口),然後利用點對點來模擬TCP/IP的環境。它和 SLIP/PPP全都屬於點對點通訊,您可以把兩台電腦利用打印機的連接接口串聯起來,然後,加入此通訊協議。如此一來,這兩部電腦就等於一個小小的網絡了。不過,如果電腦有提供打印服務的話,這個選項最好不要打開,不然可能會有問題(因為都是用平行接口)。#PPP(point-to-point)support------點對點協議,近年來,PPP協議已經慢慢的取代SLIP的規定了,原因是PPP協議可以獲取相同的IP地址,而SLIP則一直在改變IP地址,在許多的方面,PPP都勝過SLIP協議。#SLIP(serial line) support------這是MODEM族常用的一種通訊協議,必須通過一台Server(叫ISP)獲取一個IP地址,然後利用這個IP地址,可以模擬以太網絡,使用有關TCP/IP的程序。##Ethernet(10 or 100Mbit)如果您在學校接了校園網絡並且使用網絡卡,那麼這個選項一定要選y,否則以下對網絡卡的選擇將不會出現。或是您有網絡卡,這時您同樣的也要選y。之後,下面會列出許多網絡卡讓您選擇。像我們平常用的都是NE2000相容卡。#3COM cards#AMD LANCE and PCnet(AT1500 and NE2100) support#Western Digital/SMC cards##other ISA Cards(CONFIG.ISA)------選y,以下才會列出有關ISA的網絡卡。包括NE2000的兼容卡。Cabletron E21xx supportDEPCA, DE10x, DE200, DE201, DE202, DE422 supportEtherWORKS 3(DE203, DE204, DE205) supportEtherExpress 16 supportHP PCLAN+(27247B and 27252A) supportHP PCLAN(27245 and other 27xxx series) supportHP 10/100VG PCLAN(ISA, EISA, PCI) supportNE2000/NE1000 supportSK.G16 support# EISA, VLB, PCI and on board controllers ------選擇網絡卡,包括直接附在主機板上的那種。如果選擇y,則底下會列出其他的網絡卡讓您做選擇,這些卡對於一般人來說很少會去用到。所以大部分的人這項是選N的。#Pocket and portable adaptors------通常用在可攜式的電腦上,這類型的網絡卡(口袋型的),由於體積很小在安裝和取下方面很方便,因此筆記本相關電腦上便常常采用這種網絡卡。#Token Ring driver support------Token Ring是 IBM電腦上的網絡。它叫令牌環網絡,和以太網絡是很類似的東西。如果您希望使用的Token Ring網絡卡以便連接到這種網絡,那麼選Y,一般人都選N。#ARCnet support------這也是一種網絡卡,通常一般人用不到,所以選n。如果您有這樣的網絡卡,請看Documentation/networking/arcnet.txt的說明。12. Amateur Radio support 業余無線廣播 可以用來啟動無線網絡的基本支持,目前的無線網絡可以通過公眾頻率傳輸數據,如果你有此類設備就可以啟用,具體請參考AX25和HAM HOWTO 文檔。13. IrDA(infrared)support紅外支持14. ISDN subsystem如果使用ISDN上網,這個就必不可少了。ISDN(Integrated Services Digital Network),它的中文名稱是綜合數字服務網絡,是一個利用電話線,把聲音,影片信息以數字的方式傳送的數字網絡,它需要電話交換機設備有支持 ISDN,這通常需要電信局來做安裝,對於在家工作的人來說,ISDN可能是最舒適最便宜的一種方式,因此有愈來愈多的人使用它。不過,除非是公司,不然一般人很少會使用到ISDN的,所以這部分的選項大都選N。如果您選擇Y,則下面會出現一些有關ISDN的問題。如果需要用到ISDN,可以去看看雜志的介紹。只要是有關網絡的雜志應該都會有介紹。還需要啟用Support synchronous PPP選項(參考PPP over ISDN)。15. Old CD-ROM drivers(not SCSI、 IDE)非SCSI/IDE口的光驅如用IDE的CD-ROM,不選。以下是選擇非 IDE/ATAPI和 SCSI界面的光驅,這些光驅通常有自己專屬的接口卡也是比較舊型的光驅類型。如果有這些光驅,則這個選項要選y,否則選n。如果您選擇n,則會跳過以下光驅的選項。Aztech/ orchid/okano/Wearnes/IXC/CyDROM CDROM supportGoldstar R420 CDROM supportMatsllshita/panasonic/Creative,longshine,TEAC CDRW SupportMitsllmi(no XA/MUltisessIon) CDROM SupportMitsumi(XA/Multisession) CDROM supportoptics Storage DCLPHIN 8000AT CDROM supportPhilips/LMS CM206 CDROM supportSanyo CDR-h94A CDROM sunnortSoft configurable CDROM interface card supportSony CDU3lA CDROM sunnortSony CDU535 CDROM support16. Character devices字符設備所謂字符設備通常是指以字符為單位做處理的設備,例如終端機就是其中一項。原則上,我們對於這些選項的選擇也是以預設為主。這個內容又太多了,先使用缺省設置,需要的話自己就修改。把大類介紹一下吧:#Virtual terminal ------ 選擇“y”,內核將支持虛擬終端。#Support for console on virtual terminal------選擇“y”,內核可將一個虛擬終端用作系統控制台。#Standard/generic (dumb) serial support-------選擇“y”,內核將支持串行口。標准序列接口的選定。如果您是用serial的鼠標(大部分的人都是用這個),或是MODEM的話,則這一項一定要選。大部分的人這一項都選y。#Support for console on serial port------選擇“y”,內核可將一個串行口用作系統控制台。##I2C support------I2C是Philips極力推動的微控制應用中使用的低速串行總線協議。如果你要選擇下面的Video For Linux,該項必選。#Mice鼠標。現在可以支持總線、串口、PS/2、C&T 82C710 mouse port、PC110 digitizer pad------根據需要選擇。非串行的鼠標,支持象PS/2。看一看你鼠標的鍵。許多雙鍵鼠標是PS/2,即使它們的連接看起來象串行的.。#PS/2 mouse (aka "auxiliary device") support ------- 如果用戶使用的是PS/2鼠標,則該選項應該選擇“y”。#Joysticks------手柄。即使在Linux下把手柄驅動起來意義也不是太大,游戲太少了。#Watchdog Cards:雖然稱為Cards,這個可以用純軟件來實現,當然也有硬件的。如果你把這個選中,那麼就會在你的/dev下創建一個名為watchdog的文件,它可以記錄你的系統的運行情況,一直到系統重新啟動的1分鐘左右。有了這個文件,你就可以恢復系統到重啟前的狀態了。#Video For Linux------支持有關的音頻/視頻卡。##Ftape, the floppy tape device driver---  #Digiboard PC/Xx Support------這是一張叫 Digiboard PC/XX卡的 driver,這種卡上面有很多個 serial port的插槽(一般來說只有兩個),可以用來連接很多個MODEM,在民間的BBS站很常用到,如果您有這樣的東西,您必須選這項為y。有興趣的讀者可以讀讀Documentation/digiboard.txt的內容。#Cyclades async mux support------同上,這也是一種能接很多個serial port插槽的卡的驅動程序。#Stallion multlport serial support------同上,這也是其中一種卡。#SDL RISCom/8 card support------這也是其中的一個支持muti-serial卡的driver。#Parallel printer support------有打印機的或是使用到並行接口的人這一項一定要選。除非是用serial的打印機。還有如果您有使用PLIP,那麼這項也請選上。#Mouse support------大部分的人這一項並不用選y。因為大部分的人是用serial的鼠標,除非有些人是用一種附有接口卡的鼠標,這時這個選項才要選上,如果您選y,則底下會列出您的BUS鼠標所用的接口卡。#support for user misc device modules------除非您有所謂的觸摸式顯示器或是光筆等東西,否則這一項選n。#QIC-02 tape support------非 SCSI界面的磁帶機,除非您有,否則選 n。#Ftape(QIC-80/Travan)support------如果有磁帶機,而這個磁帶機是接在軟盤控制卡上,這個選項才要選y。#Watchdog Timer support------一般人不需要這個選項,如果您選上這個選項,則您要用mknod在/dev下建一個watchdog的文件。請看Documentation/watchlog.txt的解釋。#Enhanced Real Time Clock Support------關於系統上Clock的東西,您必須自己用mknod在/dev/下建立一個文件叫rtc。如此一來,在/proc/下將可以看到rtc的信息。有關於rtc的內容請看Documentation/rtc.txt。一般是選n。17. USB supprot USB支持很多USB設備,比如鼠標、調制解調器、打印機、掃描儀等,在Linux都可以得到支持,根據需要自行選擇。18. File systems文件系統Linux上有支持約二十幾種的文件系統,有支持某個文件系統的意思是,可以存取某個文件系統的數據或是做拷貝動作。在這些文件系統中,通常的選擇方法是按照原來預設的方式,不過,在其中,EXT2FS那個選項無論如何一定要選,因為那是Linux系統所使用的文件系統。其他的則依需求做選擇。通常是ext2而讓其余的使用模塊。#Kernel automounter support------選擇“y”,內核將提供對automounter的支持,使系統在啟動時自動 mount遠程文件系統。#Standard( minix )------新的套件不再建立 minix 文件系統,而且很多人不使用它,但是把它配置在核心裡仍然是個好主意。某些″rescue-disk ″ 程序會用到它,而且仍然有許多磁片可能用 minix 文件系統,因為 minix 文件系統對於處理磁片方面是最好的。當初Linus是因為對Minix這個小型的操作系統有很深的經驗,所以才寫出Linux這個操作系統。Minix文件系統通常用在磁盤上,有時會用到它。#Extended fs ------ 這是擴充文件系統的第一版,現在已經不再使用。#Second extented fs------這是現在新發行的套件所廣泛采用的文件系統,你可能會有其中一種。這個是linux文件系統,請務必選y,如果問我說選n會有什麼後果,我也不知道。除非您能把 Linux裝在 DOS的目錄下。#xiafs filesystem-----這個文件系統曾經一度很普遍,但是在寫這份文件時,我已經不知道有任何人在使用它了。#DOS FAT fs ------DOS FAT文件格式的支持,可以支持FAT16、FAT32。這個選項是DOS的文件系統,如果您沒有選y,則下面的MSDOS,VFAT,umsdos將不會出現。#msdos------DOS文件系統的格式。如果你想要在 linux 下使用你硬盤中的 MS-DOS 分割區,或是想將用 MS-DOS 格式化的磁盤掛進來的話,回答y 。#VFAT(Windows95) fs ------windows95所支持的文件系統,是我們常說的vfat文件系統,如果您的系統中裝有windows95,那麼選擇這個文件系統將對以讓您看到windows95的長文件名。#umsdos: UNIX like fs on top of std MSDOS FAT fs ------ 如果把Linux裝進DOS的一個目錄下那麼您則要選擇這一項。不建議這樣做,因為如此一來,就不能看到長文件名了。而且效率上,井不是很好。#ums-dos------相當 slick 的文件系統,它能使 MS-DOS 文件系統擁有更多的特性,像是長檔名等等。這對那些不使用 MS-DOS 的人(像我)並不是很有用。#/proc------這是最 slick 的文件系統之一。它不是你硬盤分割區裡的任何東西,不占用硬盤的空間,而是核心與程序之間的文件系統介面,它表示的只是內存裡頭的狀況和各個程序執行的情形,它也記錄了您硬件上配備。。許多程序工具(像″ps ″)都會用到它。如果已經將它安裝好了,有空不妨試試看″cat/proc/meminfo ″或者是″ cat /proc/devices ″。有些 shells ,像是 rc ,會用 proc/self/fd(在其它系統上為/dev/fd )來處理輸出入。幾乎可以確定你在這裡得要回答y ,有許多重要的 Linux標准工具是靠它來運作的,否則有些指令會出問題。#Root file system on NFS------一般不選,除非您的電腦上沒有硬盤,希望通過網絡由別人的硬盤開機過Linux如此一來才有需要選這項。同時對方也要執行rarp的服務。#System V and Coherent------這是為 System V 以及 Coherent 的分割區而設的。如果希望支持System V或Xenix的相關UNIX系統的FS並讀取它們的數據,那麼才有必要選這個,否則一般來說這個選項是選n的。#Quota support ------Quota可以限制每個用戶可以使用的硬盤空間的上限,在多用戶共同使用一台主機的情況中十分有效。#ISO 9660 CD-ROM file system support------光盤使用的就是ISO 9660的文件格式。#Mandatory lock support------有些很特殊的database應用軟件會用到它,一般人這個選項是選n。而且,如果選y的話,必須有最新版的NFS軟件,最新版的samba軟件等。#NTFS file system support------ntfs是NT使用的文件格式。#UFS filesystem support-----這是BSD,SunoS,FreeBSD,NetBSD或Nextstep所使用的文件系統。如果您在電腦上有這些操作系統的話,那麼可以選這一項。否則一般人都選n。##Network File Systems------網絡文件系統# NFS------如果你在網絡環境下而且想要分享檔案,回答 y 。如果希望掛上別的電腦的文件系統,那麼這個選項一定要選進去。它可以讓您利用網絡把別人的硬盤當成自己的來使用(把它變成一個目錄)。對於一般人來說,這個選項是選y。#SMB filesystem support------這個文件系統讓您可以掛上windows95或windowsNT的文件系統,也就是您也可以抓到在windows下,網上鄰居上的電腦。#SMB long filename support------支持windows95的長文件名。#NCP filesystem support------NCP是一種網絡的通訊協議,用在跑IPX協議上,它可以利用IPX協議讓兩台電腦之間的文件共享,並做溝通。如果您想掛上有關Novell的Netware文件系統,那麼這個選項就選上去吧。##Partition Types-----分區類型,該選項支持一些不太常用的分區類型,用戶如果需要,在相應的選項上選擇“y”即可。##Native Language Support------本地語言支持附:不知道需要那些文件系統怎末辦?鍵入″ mount ″它看起來會像這樣:sunlyy% mount/dev/hda1 on / type ext2 (defaults)/dev/hda3 on /usr type ext2 (defaults)none on /proc type proc (defaults)/dev/fd0 on /mnt type msdos (defaults)仔細看看每一行;在” type ”後面的那個字就是文件系統的格式。在這個例子中,我的 / 和 /usr 分割區是 second extended 格式,我使用 /proc ,而且掛有一張以msdos (bleah) 為文件系統格式的磁片。如果你有使用 /proc ,可以試試″cat /proc/filesystems ″。它會給你一份目前使用的核心所支援的文件系統列表。19. Console drivers 控制台驅動#VGA text console ------ 選擇“y”,用戶就可以在標准的VGA顯示方式下使用Linux了。一般使用VGA text console就可以了,標准的80*25的文本控制台。#Video mode selection support20. Sound sound聲卡驅動如果你能在列表中找到聲卡驅動那自然最好,否則就試試OSS了。閱讀幫助文件從列表中小心的選取。確信為你聲卡真確的選擇了I/O和IRQ。聲卡的MPU I/O是0選項。一般是330,如果不對不必擔心。模塊的好處就是在核心編譯以後你還能重新編譯、安裝模塊並掛上核心。如果有聲卡,請去了解一下聲卡的 IRQ和 DMA等信息,並了解是屬於哪一種的。現在大部分的人使用的都是Sound Blaster或是它的相容卡。有關這類的信息請看各個聲卡的說明書。當選Y時,出現下面的畫面。就依您的聲卡來做選擇吧!Pro Audio Spectrum 16 supportSound Blaster(SB,SBPro,SB16,clone) supportGeneric OPL2/0P13 FM synthesizer supportGravis Ultrasound supportMPU-401 support(NOT for SB16)6850 CART Midi supportPSS(ECho-AD12111)support(NOT for SB16)16 bit samplins option of GUS(N0T_GUS_MAX)GUS MAX supportMicrosoft Sound System supportEnsolliQ Soundscape supportMediaTrix AudioTrix Pro supportSupport forMAD16 and/or Mozart based cardsSupport for Crystal CS4232 based(PnP) cardsSupport for Turtle Bench Wave Front (Maul,Tropez)synthesizers#/dev/dsp and/dev/audio support------ 這個選項通常是必要的。因此大部分的人選y,如果沒有這選項,則很多的游戲將沒有聲音效果。#MIDI interface support------支持MIDI界面。#FM synthesizer(YM3812/0PL-3) support#I/O base for SB Check from manual of the card------聲卡的I/O地址。括號是常用的選項。#Sound Blaster IRQ Check from manual of the card-----聲卡的IRQ,通常是1或5。#Sound Blaster DMA 0,1 for 3-----聲卡的DMA,通常是1。#Sound Blaster 16 bit DMA 5, 6 or 7(usel for 8 bitcards)(SB.DMA2)-----5#MPU401 I/0 base of SB16, Jazz16 and ES1688 Check from manual of the card------0#SB MPU401 IRQ(Jazzl6, SM Wave and ES1688) Usel with SB16------1#Audio DMA buffer size 4096,16384,32768 or 65536------65536##Additional low level drivers------如有其他種類的聲卡,則這項要選上去,以下會列出其他的聲卡供選擇。21. Kernel hacking安全模式通俗的說,這是windows安全模式,找不到明確解釋,就引用這個說法。>這是從 Linus的README裡摘錄的:″kernel hacking ″配置的細節通常會產生一個更大或是更慢的核心(或者是又大又慢),而且可能因為將一些常式配置成很活躍地去嘗試中斷一些不良的程序碼以便找出核心裡的問題,而使得核心變得比較不穩定。所以要產生一個核心″產品 ″的話,你在這第四節 啟用內核通常,核心安裝叫做vmlinuz。過去Unix使用者共同起了這名字。"z"表示壓縮,"v"和"m"意思是"virtual"(虛擬)和"sticky(粘性的)",各自屬於內存和磁盤管理。建議保留vmlinuz核心,直到知道它工作。為了能夠使用新版本的內核,還需要做一些改動:#cp /usr/src/linux/System.map /boot/System.map-2.2.16#cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz-2.2.16以上這兩個文件是剛才編譯時新生成的。下面修改/boot下的兩個鏈接System.map和vmlinuz,使其指向新內核的文件:#cd /boot#rm -f System.map vmlinuz#ln -s vmlinuz-2.2.16 vmlinuz#ln -s System.map-2.2..16 System.map注意:要保留vmlinuz核心,以下列步驟進行#cp /usr/src/linux/System.map /boot/System.map-2.2.16#cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz-2.2.16#cd /boot#rm -f System.map#ln -s System.map-2.2..16 System.map現在#vi /etc/lilo.conf,增加如下一段:image=/boot/vmlinuz-2.2.16 是設定為已經安裝的核心label=linux2.2.16 則是由 lilo 用來告訴你現在要啟動的是那個核心或作業系統,read-onlyroot=/dev/hda2 則是這個特別的作業系統的根目錄/  其中root=/dev/hda2一行要根據需要自行加以修改。運行:#/sbin/lilo -v 保存執行命令:lilo你將看到核心標簽,第一個是星號。如果你沒有看到新核心的標簽或LILO出現錯誤,你需要重新對/etc/lilo.conf工作(看下面的LILO分析)。確認對/etc/lilo.conf的編輯無誤,現在重新啟動系統:#shutdown -r now不建議使用熱啟動或ctrl+Alt+del鍵。在一些情況下,文件系統不完全卸栽會損壞打開的文件。在LILO提示時,如果你需要啟動舊的核心或使用一些參數啟動,如果你沒看見啟動提示,你可以試用shift或ctrl鍵,這樣啟動提示就出現了。一旦出現,按tab看核心標簽。輸入標簽和可選參數啟動。通常,在/etc/lilo.conf文件指定的時間後自動啟動核心。啟動時,你可能看見一些出錯信息就象SIOCADDR。這常常顯示模塊(一般是網絡模塊)沒有引導。處理這事很簡單,如果有此一錯,"VFS,cannotmount root",你就不要在核心中編譯適當的磁盤或文件系統支持。在機器重啟後出現LILO時按TAB鍵,輸入linux2.1.16,新內核發揮作用了。附錄:LILO分析(技術性強,僅供參考)(因現在的Linux都轉向於用GRUB,所以未post上來,如果大家有需要,可以告訴我,我把它post上來吧。)




Copyright © Linux教程網 All Rights Reserved