?? kernel-howto.txt
字號(hào):
下面一些□例指令告訴你如何增加核心提供的上限:echo 4096 > /proc/sys/kernel/file-maxecho 12288 > /proc/sys/kernel/inode-maxecho 300 400 500 > /proc/sys/vm/freepages8. 升級(jí)至 2.0.x 的注意事項(xiàng) 核心 2.0.x 版在安裝上引入了許多的改變. 在原始程式碼里的 Documentation/Changes 檔案包含了升級(jí)至 2.0.x 版所應(yīng)知道的資訊. 你可能 還需要升級(jí)一些關(guān)鍵的套件,例如 gcc,libc 與 SysVInit,并改變一些系統(tǒng)檔 案.不過,也別緊張. 9. 可載入模組 可載入模組能夠節(jié)省記憶體,而且很容易設(shè)定. 模組的□圍已經(jīng)包含了檔案系統(tǒng) ,乙太網(wǎng)路卡驅(qū)動(dòng)程式,磁帶機(jī),印表機(jī)驅(qū)動(dòng)程式,還有更多. 9.1 安裝模組工具 模組工具可以從你取得核心的地方找到,如 modules-x.y.z.tar.gz; 選擇與你目 前核心版本相等或稍低的最接近的 x.y.z. 用 `tar zxvf modules-x.y.z.tar.gz' 解開. cd 到它產(chǎn)生的目錄(modules-x.y.z),看一下 README,然後按照安裝指示執(zhí)行 (通常很簡單,就像 make install 之類的). 然後你在 /sbin 應(yīng)該會(huì)有這些程式 insmod, rmmod, ksyms, lsmod, genksyms, modprobe, 以及 depmod. 如果你想的話,可以用 insmod 里的□例驅(qū)動(dòng)程 式``hw''來測試這些工具; 參見 INSTALL 檔里的細(xì)節(jié)說明. insmod 指令將一個(gè)模組插入運(yùn)行中的核心.模組通會(huì)以 .o 為結(jié)尾; 上面提到的 □例程式就叫做 drv_hello.o,因此要插入此模組,就用 `insmod drv_hello.o'. 要了解目前核心正在使用的模組,用 lsmod 指令.輸出看起來 像這樣: blah# lsmod Module: #pages: Used by: drv_hello 1 `drv_hello' 是這模組的名稱,它用了一頁 (4K) 的記憶體,而且目前沒有其它 的核心模組依賴於它. 要移除此模組,用 `rmmod drv_hello'.注意 rmmod 需 要的是模組名稱,而不是檔案名稱; 就是你從 lsmod 指令列出來的.其馀工具的 作用在線上手冊中都有說明. 9.2 與核心發(fā)行的模組 在 2.0.30 版中,幾乎所有的東西都可以變成可載入模組. 要使用可載入模組, 首先確定你沒有將其配置到正常的核心里,也就是說,在 `make config' 時(shí)不是 回答 y. 編譯新核心并用它來開機(jī).然後,再次 cd 到 /usr/src/linux,然後 執(zhí)行 `make modules'. 這將編譯所有你未指定在核心配置里的模組,并將其連 結(jié)到 /usr/src/linux/modules. 你可以直接由此目錄使用,或是執(zhí)行 `make modules_install' 將其安裝到 /lib/modules/x.y.z,其中 x.y.z 是核心版本. 這對處理檔案系統(tǒng)上特別便利.你可能并不經(jīng)常使用 minix 或 MS-DOS 的檔案系 統(tǒng). 例如,如果我遇到一 MS-DOS 的軟碟片,我會(huì)用 insmod /usr/src/linux/modules/msdos.o,并在使用完成後用 rmmod msdos 指令將其去 掉. 此過程大約可以節(jié)省核心 50K 左右的記憶體.對於 minix 檔案系統(tǒng)有一點(diǎn) 要注意的就是, 為了要使用``急救磁片'',你應(yīng)該總是直接將它配置到核心中. 10. 其它配置選項(xiàng) 本節(jié)包括了在配置一節(jié)中未列出的核心配置選項(xiàng)(在 make config 時(shí)). 大部份 的設(shè)備驅(qū)動(dòng)程式并未列出. 10.1 General setup (一般設(shè)定) Normal floppy disk support (一般軟碟支援) - 就是這個(gè). 你可能會(huì)想看一下 drivers/block/README.fd 這個(gè)檔案; 對 IBM Thinkpad 的使用者來說特別重要 . XT harddisk support (XT 硬碟支援) - 如果你想用老古董的八位元 XT 控制器 的話. PCI bios support (PCI bios 的支援) - 如果你有 PCI,你可能會(huì)想打開此選項(xiàng) . 但要小心,某些舊的 PCI 主機(jī)板在此選項(xiàng)下可能會(huì)當(dāng)?shù)簦嚓P(guān)於 PCI 匯流 排在 Linux 下使用的資訊可以在 [19]PCI-HOWTO 里找到. Kernel support for ELF binaries (核心支援 ELF 執(zhí)行檔) - ELF 是一種新的 二進(jìn)位執(zhí)行檔. Linux 似乎正朝此方向前進(jìn),所以你可能會(huì)要這個(gè). Set version information on all symbols for modules - 在過去,核心模組與 每個(gè)新核心一起被編譯. 如果你回答 y,它可能讓你使用不同 patchlevel 下編 譯的模組. 參見 README.modules 中的詳細(xì)說明. 10.2 Networking options (網(wǎng)路選項(xiàng)) 網(wǎng)路選項(xiàng)在 [20]NET-3-HOWTO (或是 NET-什麼-HOWTO)中描述. 11. □訣和技巧11.1 重導(dǎo) make 或是 patch 指令的輸出 如果你想要記錄這些 `make' 或是 `patch' 指令到底做了些什麼, 你可以把螢 幕的輸出重導(dǎo)到一個(gè)檔案去.首先,要知道你用的是是那一種 shell: `grep root /etc/passwd' 然後尋找看起來像 `/bin/csh' 一類的東西. 如果你使用的是 sh 或是 bash, (command) 2>&1 | tee (output file) 將會(huì)把一份 (command) 的輸出放到 `(output file)' 這個(gè)檔案去. 如果是 csh 或 tcsh,用 (command) |& tee (output file) 這個(gè)語法. 如果是 rc (注意:你應(yīng)該不會(huì)是用 rc),語法是 (command) >[2=1] | tee (output file)11.2 條件式的核心安裝 除了使用軟碟片,還有數(shù)種在不動(dòng)舊核心的情況下測試新核心的方法. 不像其它 的 Unix 系統(tǒng),LILO 具有從任何地方啟動(dòng)核心的能力. (不過如果你有大的硬碟 ,超過 500 MB 的,請參考 LILO 的文件說明將可能引起的問題.) 因此,如果 你在 LILO 配置檔案中用像這樣的 image = /usr/src/linux/arch/i386/boot/zImage label = new_kernel 你可以在不動(dòng)舊核心 /vmlinuz 的情況下選擇執(zhí)行新編譯的核心(當(dāng)然,在執(zhí)行完 lilo 後). 叫 LILO 啟動(dòng)新核心最簡單的方法就是在啟動(dòng)時(shí)按下 shift 鍵(當(dāng)你 在螢?zāi)恢豢吹?LILO 時(shí)), 這會(huì)給你一提示符號(hào).此時(shí)你可以鍵入 `new_kernel' 來啟動(dòng)新核心. 如果你想在系統(tǒng)中同時(shí)保有數(shù)種不同的核心原始程式碼(小心,這會(huì)用掉大量的硬 碟空間), 最普通的方法就是將其命名為 /usr/src/linux-x.y.z,其中 x.y.z 是核心版本. 然後你可以用符號(hào)連結(jié)來``選擇''一份原始碼; 例如,用 `ln -sf linux-1.2.2 /usr/src/linux' 會(huì)讓 1.2.2 成為目前的核心樹. 但在建立 符號(hào)連結(jié)之前,先確定 ln 指令最後一個(gè)參數(shù)不是一個(gè)真正的目錄(舊的符號(hào)連結(jié) 沒有關(guān)系); 否則結(jié)果可能不會(huì)是你所預(yù)期的. 11.3 核心更新 Russell Nelson ( [21]nelson@crynwr.com) 總結(jié)了新版核心的改變. 這些是簡 短的,而且你在升級(jí)前可能應(yīng)該先看一下.可以從匿名 FTP 站 ftp.emlist.com 的 [22]pub/kchanges, 12. 其它可能相關(guān)有用的 HOWTOs * Sound-HOWTO: 音效卡與工具 * SCSI-HOWTO: 所有關(guān)於 SCSI 控制卡與設(shè)備的資訊 * NET-2-HOWTO: 網(wǎng)路 * PPP-HOWTO: 特別關(guān)於 PPP 網(wǎng)路的 * PCMCIA-HOWTO: 筆記型電腦的驅(qū)動(dòng)程式 * ELF-HOWTO: 什麼是 ELF,如何轉(zhuǎn)換等… * Hardware-HOWTO: 支援硬體的概要 * Module-HOWTO: 更多與核心模組有關(guān)的 * Kerneld mini-HOWTO: 關(guān)於 kerneld * BogoMips mini-HOWTO: 你可能會(huì)有興趣的 13. 雜項(xiàng)13.1 作者 Linux Kernel-HOWTO 的作者及維護(hù)人是 Brian Ward ( [23]bri@blah.math.tu-graz.ac.at). 請將任何評(píng)論,補(bǔ)充與更正寄給我(更正 對我來說是特別重要的). 你可以從這些 URL 找到我的網(wǎng)頁: [24]http://www.math.psu.edu/ward/ [25]http://blah.math.tu-graz.ac.at/~bri/ 雖然我盡可能地去處理電子郵件,但請記住我每天都收到大量的信件,所以可能 要花一點(diǎn)時(shí)間才會(huì)回覆你. 特別是寄信來問我問題的,請盡量非常清楚與詳盡地 描述你的訊息. 如果你說的是某個(gè)無法運(yùn)作的硬體(或類似的),我需要知道你的 硬體配置是什麼. 如果你要回報(bào)錯(cuò)誤,不要只是說``我這樣試但它給我會(huì)錯(cuò)誤訊 息''; 我需要知道這個(gè)錯(cuò)誤訊息是什麼. 我可能也想知道你的核心,gcc,libc 的版本是什麼,如果你只是告訴我你用的是這個(gè)或那個(gè)套件,那沒什麼用. 我不 介意你問我簡單的問題; 請記住,如果你不問,你將永遠(yuǎn)不會(huì)得到解答. 我要感 謝每個(gè)給我回饋的人們. 如果你寫信給我但在一段合理的時(shí)間內(nèi)沒有得到回應(yīng)(三星期或更久),那麼可能 我不小心砍掉了你的信件或諸如此類的(抱歉). 請?jiān)僭囈淮危?/span> 我收到許多信件是關(guān)於硬體問題的.這沒問題,但請了解我并不是熟悉世界上所 有硬體的人而且我也不知道我能幫多少忙. 我個(gè)人使用的機(jī)器有 IDE 與 SCSI 硬碟,SCSI 光碟機(jī),3Com 與 WD 的乙太網(wǎng)路卡,串列滑鼠, PCI 主機(jī)板,NCR 810 SCSI 控制器,AMD 386DX40 w/Cyrix 輔助處理器,AMD 5x86,AMD 486DX4 與 Intel 486DX4 處理器 (這只是我在使用而且熟悉的硬體摘要,并不是建議, 但如果你想要用,歡迎來詢問 :-) ). 0.1 版完成於 1994 年十月三日.本文件可以 SGML, PostScript, TeX, roff 與 純文字格式取得. 13.2 預(yù)定目標(biāo) ``□訣和技巧'' 一節(jié)太少了.我希望能用從別人得到的建議來擴(kuò)充. ``附加的套件'' 一節(jié)也是. 還需要更多的偵錯(cuò)/當(dāng)機(jī)回復(fù)資訊. 13.3 貢獻(xiàn)者 包含了一小部份 Linus 的 README 檔案 (kernel hacking 選項(xiàng)).感謝 Linus! uc@brian.lunetix.de (Ulrich Callmeier): patch -s and xargs. quinlan@yggdrasil.com (Daniel Quinlan): corrections and additions in many sections. nat@nat@nataa.fr.eu.org (Nat Makarevitch): mrproper, tar -p, many other things boldt@math.ucsb.edu (Axel Boldt): collected descriptions of kernel configuration options on the net; then provided me with the list lembark@wrkhors.psyber.com (Steve Lembark): multiple boot suggestion kbriggs@earwax.pd.uwa.edu.au (Keith Briggs): some corrections and suggestions rmcguire@freenet.columbus.oh.us (Ryan McGuire): makeables additions dumas@excalibur.ibp.fr (Eric Dumas): French translation simazaki@ab11.yamanashi.ac.jp (Yasutada Shimazaki): Japanese translation jjamor@lml.ls.fi.upm.es (Juan Jose Amor Iglesias): Spanish translation mva@sbbs.se (Martin Wahlen): Swedish translation jzp1218@stud.u-szeged.hu (Zoltan Vamosi): Hungarian translation bart@mat.uni.torun.pl (Bartosz Maruszewski): Polish translation donahue@tiber.nist.gov (Michael J Donahue): typos, winner of the ``sliced bread competition'' rms@gnu.ai.mit.edu (Richard Stallman): ``free'' documentation concept/distribution notice dak@Pool.Informatik.RWTH-Aachen.DE (David Kastrup): NFS thing esr@snark.thyrsus.com (Eric Raymond): various tidbits 曾寄信給我問問題的人也有很大幫助. 13.4 版權(quán)聲明,許可,諸如此類的 Copyright (c) Brian Ward, 1994-1997. Permission is granted to make and distribute copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the derived work is distributed under the terms of a permission notice identical to this one. Translations fall under the catagory of ``modified versions.'' Warranty: None. Recommendations: Commercial redistribution is allowed and encouraged; however, it is strongly recommended that the redistributor contact the author before the redistribution, in the interest of keeping things up-to-date (you could send me a copy of the thing you're making while you're at it). Translators are also advised to contact the author before translating. The printed version looks nicer. Recycle.References 1. mailto:bri@blah.math.tu-graz.ac.at 2. http://www.phys.ntu.edu.tw/~cwhuang/pub/ 3. http://ultima.ncnu.edu.tw/~asdchen/ 4. file://localhost/tmp/bg5sgmltools.2952/Hardware-HOWTO.html 5. ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus 6. ftp://ftp.edu.tw/OS/Linux/kernel 7. http://www.linux.org/ 8. file://localhost/tmp/bg5sgmltools.2952/Kernel-HOWTO.txt.html#other-options 9. file://localhost/tmp/bg5sgmltools.2952/HOWTO/SCSI-HOWTO.html 10. file://localhost/tmp/bg5sgmltools.2952/Kernel-HOWTO.txt.html#pitfalls 11. file://localhost/tmp/bg5sgmltools.2952/Sound-HOWTO.html 12. mailto:axel@uni-paderborn.de 13. http://math-www.uni-paderborn.de/~axel/config_help.html 14. ftp://sunsite.unc.edu/pub/Linux/kernel/config/krnl_cnfg_hlp.x.yz.tgz 15. mailto:faith@cs.unc.edu 16. mailto:util-linux@math.uio.no 17. ftp://sunsite.unc.edu/pub/Linux/system/misc 18. http://www.bitwizard.nl/sig11/ 19. file://localhost/tmp/bg5sgmltools.2952/HOWTO/PCI-HOWTO.html 20. file://localhost/tmp/bg5sgmltools.2952/HOWTO/NET-3-HOWTO.html 21. mailto:nelson@crynwr.com 22. ftp://ftp.emlist.com/pub/kchanges 23. mailto:bri@blah.math.tu-graz.ac.at 24. http://www.math.psu.edu/ward/ 25. http://blah.math.tu-graz.ac.at/~bri/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -