?? 073.htm
字號:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>-->Linux HowTo 中譯版-->Kernel HOWTO 中譯版</TITLE>
<META NAME="keywords" CONTENT=" Linux HowTo 中譯版 Kernel HOWTO 中譯版">
<META NAME="description" CONTENT=" - Linux HowTo 中譯版 - Kernel HOWTO 中譯版">
<style>
<!--
#page {position:absolute; z-index:0; left:0px; top:0px}
.tt3 {font: 9pt/12pt "宋體"}
.tt2 {font: 12pt/15pt "宋體"}
a {text-decoration:none}
a:hover {color: blue;text-decoration:underline}
-->
</style>
</HEAD>
<body text="#000000" aLink=#9900ff link=#006699 vLink=#006699 bgcolor="#FFFFFF" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">
<TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0>
<TR>
<TD CLASS="tt3" VALIGN="top" width="8%" bgcolor="#e0e0e0"><strong><A HREF="074.htm">后一頁</A><BR>
<A HREF="072.htm">前一頁</A><BR>
<A HREF="index.html">回目錄</A><BR>
<A HREF="../../../../index.htm">回首頁</A><BR>
</strong>
</TD>
<TD class="tt2" bgcolor="#F5F8F8" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷體_GB2312">Kernel HOWTO 中譯版</FONT></B></center>
<hr color="#EE9B73" size="1" width="94%">
姓名:Brian Ward<br>
Email:bri@blah.math.tu-graz.ac.at<br>
地址 :<br>
轉(zhuǎn)摘 :http://member.netease.com/</p>
<BR>
<BR>
<hr SIZE="0">
<BR>
<p>8. 升級至 2.0.x 的注意事項 <br>
核心 2.0.x 版在安裝上引入了許多的改變. 在原始程式碼里的
Documentation/Changes 檔案包含了升級至 2.0.x 版所應(yīng)知道的資訊.
你可能還需要升級一些關(guān)鍵的套件,例如 gcc,libc 與 SysVInit,并改變一些系統(tǒng)檔案.不過,也別緊張.
<br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
9. 可載入模組 <br>
可載入模組能夠節(jié)省記憶體,而且很容易設(shè)定.
模組的□圍已經(jīng)包含了檔案系統(tǒng),乙太網(wǎng)路卡驅(qū)動程式,磁帶機,印表機驅(qū)動程式,還有更多.
<br>
<br>
9.1. 安裝模組工具 <br>
模組工具可以從你取得核心的地方找到,如 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)該會有這些程式 insmod, rmmod, ksyms, lsmod, genksyms, modprobe, 以及 depmod.
如果你想的話,可以用 insmod 里的□例驅(qū)動程式``hw''來測試這些工具;
參見 INSTALL 檔里的細節(jié)說明. <br>
<br>
insmod 指令將一個模組插入運行中的核心.模組通會以 .o 為結(jié)尾;
上面提到的□例程式就叫做 drv_hello.o,因此要插入此模組,就用
`insmod drv_hello.o'. 要了解目前核心正在使用的模組,用 lsmod
指令.輸出看起來像這樣: <br>
<br>
<br>
blah# lsmod <br>
<br>
Module: #pages: Used by: <br>
<br>
drv_hello 1 <br>
<br>
`drv_hello' 是這模組的名稱,它用了一頁 (4K)
的記憶體,而且目前沒有其它的核心模組依賴於它.
要移除此模組,用 `rmmod drv_hello'.注意 rmmod
需要的是模組名稱,而不是檔案名稱; 就是你從 lsmod
指令列出來的.其馀工具的作用在線上手冊中都有說明. <br>
<br>
9.2. 與核心發(fā)行的模組 <br>
在 2.0.30 版中,幾乎所有的東西都可以變成可載入模組.
要使用可載入模組,首先確定你沒有將其配置到正常的核心里,也就是說,在
`make config' 時不是回答 y. 編譯新核心并用它來開機.然後,再次 cd
到 /usr/src/linux,然後執(zhí)行 `make modules'.
這將編譯所有你未指定在核心配置里的模組,并將其連結(jié)到
/usr/src/linux/modules. 你可以直接由此目錄使用,或是執(zhí)行 `make
modules_install' 將其安裝到 /lib/modules/x.y.z,其中 x.y.z 是核心版本. <br>
<br>
這對處理檔案系統(tǒng)上特別便利.你可能并不經(jīng)常使用 minix 或 MS-DOS
的檔案系統(tǒng). 例如,如果我遇到一 MS-DOS 的軟碟片,我會用 insmod
/usr/src/linux/modules/msdos.o,并在使用完成後用 rmmod msdos
指令將其去掉. 此過程大約可以節(jié)省核心 50K 左右的記憶體.對於
minix 檔案系統(tǒng)有一點要注意的就是, 為了要使用``急救磁片'',你應(yīng)該總是直接將它配置到核心中.
<br>
<br>
10. 其它配置選項 <br>
本節(jié)包括了在配置一節(jié)中未列出的核心配置選項(在 make config 時).
大部份的設(shè)備驅(qū)動程式并未列出. <br>
<br>
10.1. General setup (一般設(shè)定) <br>
Normal floppy disk support (一般軟碟支援) - 就是這個. 你可能會想看一下
drivers/block/README.fd 這個檔案; 對 IBM Thinkpad 的使用者來說特別重要. <br>
<br>
XT harddisk support (XT 硬碟支援) - 如果你想用老古董的八位元 XT
控制器的話. <br>
<br>
PCI bios support (PCI bios 的支援) - 如果你有 PCI,你可能會想打開此選項.
但要小心,某些舊的 PCI 主機板在此選項下可能會當(dāng)?shù)簦嚓P(guān)於 PCI
匯流排在 Linux 下使用的資訊可以在 PCI-HOWTO 里找到. <br>
<br>
Kernel support for ELF binaries (核心支援 ELF 執(zhí)行檔) - ELF
是一種新的二進位執(zhí)行檔. Linux
似乎正朝此方向前進,所以你可能會要這個. <br>
<br>
Set version information on all symbols for modules -
在過去,核心模組與每個新核心一起被編譯. 如果你回答 y,它可能讓你使用不同
patchlevel 下編譯的模組. 參見 README.modules 中的詳細說明. <br>
<br>
10.2. Networking options (網(wǎng)路選項) <br>
網(wǎng)路選項在 NET-3-HOWTO (或是 NET-什麼-HOWTO)中描述. <br>
<br>
<br>
<br>
11. □訣和技巧 <br>
11.1. 重導(dǎo) make 或是 patch 指令的輸出 <br>
如果你想要記錄這些 `make' 或是 `patch' 指令到底做了些什麼,
你可以把螢?zāi)坏妮敵鲋貙?dǎo)到一個檔案去.首先,要知道你用的是是那一種
shell: `grep root /etc/passwd' 然後尋找看起來像 `/bin/csh' 一類的東西. <br>
<br>
如果你使用的是 sh 或是 bash, <br>
<br>
<br>
(command) 2>&1 | tee (output file) <br>
<br>
將會把一份 (command) 的輸出放到 `(output file)' 這個檔案去. <br>
<br>
如果是 csh 或 tcsh,用 <br>
<br>
<br>
(command) |& tee (output file) <br>
<br>
這個語法. <br>
<br>
如果是 rc (注意:你應(yīng)該不會是用 rc),語法是 <br>
<br>
<br>
(command) >[2=1] | tee (output file) <br>
<br>
<br>
11.2. 條件式的核心安裝 <br>
除了使用軟碟片,還有數(shù)種在不動舊核心的情況下測試新核心的方法.
不像其它的 Unix 系統(tǒng),LILO 具有從任何地方啟動核心的能力. (不過如果你有大的硬碟,超過
500 MB 的,請參考 LILO 的文件說明將可能引起的問題.)
因此,如果你在 LILO 配置檔案中用像這樣的 <br>
<br>
<br>
image = /usr/src/linux/arch/i386/boot/zImage <br>
<br>
label = new_kernel <br>
<br>
你可以在不動舊核心 /vmlinuz 的情況下選擇執(zhí)行新編譯的核心(當(dāng)然,在執(zhí)行完
lilo 後). 叫 LILO 啟動新核心最簡單的方法就是在啟動時按下 shift 鍵(當(dāng)你在螢?zāi)恢豢吹?LILO 時), 這會給你一提示符號.此時你可以鍵入 `new_kernel'
來啟動新核心. <br>
<br>
如果你想在系統(tǒng)中同時保有數(shù)種不同的核心原始程式碼(小心,這會用掉大量的硬碟空間),
最普通的方法就是將其命名為 /usr/src/linux-x.y.z,其中 x.y.z
是核心版本. 然後你可以用符號連結(jié)來``選擇''一份原始碼;
例如,用 `ln -sf linux-1.2.2 /usr/src/linux' 會讓 1.2.2 成為目前的核心樹.
但在建立符號連結(jié)之前,先確定 ln
指令最後一個參數(shù)不是一個真正的目錄(舊的符號連結(jié)沒有關(guān)系);
否則結(jié)果可能不會是你所預(yù)期的. <br>
<br>
11.3. 核心更新 <br>
Russell Nelson (nelson@crynwr.com) 總結(jié)了新版核心的改變.
這些是簡短的,而且你在升級前可能應(yīng)該先看一下.可以從匿名 FTP
站 ftp.emlist.com 的 pub/kchanges, <br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
12. 其它可能相關(guān)有用的 HOWTOs <br>
<br>
Sound-HOWTO: 音效卡與工具 <br>
SCSI-HOWTO: 所有關(guān)於 SCSI 控制卡與設(shè)備的資訊 <br>
NET-2-HOWTO: 網(wǎng)路 <br>
PPP-HOWTO: 特別關(guān)於 PPP 網(wǎng)路的 <br>
PCMCIA-HOWTO: 筆記型電腦的驅(qū)動程式 <br>
ELF-HOWTO: 什麼是 ELF,如何轉(zhuǎn)換等… <br>
Hardware-HOWTO: 支援硬體的概要 <br>
Module-HOWTO: 更多與核心模組有關(guān)的 <br>
Kerneld mini-HOWTO: 關(guān)於 kerneld <br>
BogoMips mini-HOWTO: 你可能會有興趣的 <br>
<br>
<br>
<br>
<br>
13. 雜項 <br>
13.1. 作者 <br>
Linux Kernel-HOWTO 的作者及維護人是 Brian Ward (bri@blah.math.tu-graz.ac.at).
請將任何評論,補充與更正寄給我(更正對我來說是特別重要的). <br>
<br>
你可以從這些 URL 找到我的網(wǎng)頁: <br>
<br>
http://www.math.psu.edu/ward/ <br>
http://blah.math.tu-graz.ac.at/~bri/ <br>
<br>
雖然我盡可能地去處理電子郵件,但請記住我每天都收到大量的信件,所以可能要花一點時間才會回覆你.
特別是寄信來問我問題的,請盡量非常清楚與詳盡地描述你的訊息.
如果你說的是某個無法運作的硬體(或類似的),我需要知道你的硬體配置是什麼.
如果你要回報錯誤,不要只是說``我這樣試但它給我會錯誤訊息'';
我需要知道這個錯誤訊息是什麼. 我可能也想知道你的核心,gcc,libc
的版本是什麼,如果你只是告訴我你用的是這個或那個套件,那沒什麼用.
我不介意你問我簡單的問題;
請記住,如果你不問,你將永遠不會得到解答.
我要感謝每個給我回饋的人們. <br>
<br>
如果你寫信給我但在一段合理的時間內(nèi)沒有得到回應(yīng)(三星期或更久),那麼可能我不小心砍掉了你的信件或諸如此類的(抱歉).
請再試一次. <br>
<br>
我收到許多信件是關(guān)於硬體問題的.這沒問題,但請了解我并不是熟悉世界上所有硬體的人而且我也不知道我能幫多少忙.
我個人使用的機器有 IDE 與 SCSI 硬碟,SCSI 光碟機,3Com 與 WD
的乙太網(wǎng)路卡,串列滑鼠, PCI 主機板,NCR 810 SCSI 控制器,AMD 386DX40
w/Cyrix 輔助處理器,AMD 5x86,AMD 486DX4 與 Intel 486DX4 處理器 (這只是我在使用而且熟悉的硬體摘要,并不是建議,但如果你想要用,歡迎來詢問
:-) ). <br>
<br>
0.1 版完成於 1994 年十月三日.本文件可以 SGML, PostScript, TeX, roff
與純文字格式取得. <br>
<br>
13.2. 預(yù)定目標 <br>
``□訣和技巧'' 一節(jié)太少了.我希望能用從別人得到的建議來擴充. <br>
<br>
``附加的套件'' 一節(jié)也是. <br>
<br>
還需要更多的偵錯/當(dāng)機回復(fù)資訊. <br>
<br>
13.3. 貢獻者 <br>
包含了一小部份 Linus 的 README 檔案 (kernel hacking 選項).感謝 Linus! <br>
<br>
uc@brian.lunetix.de (Ulrich Callmeier): patch -s and xargs. <br>
<br>
quinlan@yggdrasil.com (Daniel Quinlan): corrections and additions in many sections. <br>
<br>
nat@nat@nataa.fr.eu.org (Nat Makarevitch): mrproper, tar -p, many other things <br>
<br>
boldt@math.ucsb.edu (Axel Boldt): collected descriptions of kernel configuration options
on the net; then provided me with the list <br>
<br>
lembark@wrkhors.psyber.com (Steve Lembark): multiple boot suggestion <br>
<br>
kbriggs@earwax.pd.uwa.edu.au (Keith Briggs): some corrections and suggestions <br>
<br>
rmcguire@freenet.columbus.oh.us (Ryan McGuire): makeables additions <br>
<br>
dumas@excalibur.ibp.fr (Eric Dumas): French translation <br>
<br>
simazaki@ab11.yamanashi.ac.jp (Yasutada Shimazaki): Japanese translation <br>
<br>
jjamor@lml.ls.fi.upm.es (Juan Jose Amor Iglesias): Spanish translation <br>
<br>
mva@sbbs.se (Martin Wahlen): Swedish translation <br>
<br>
jzp1218@stud.u-szeged.hu (Zoltan Vamosi): Hungarian translation <br>
<br>
bart@mat.uni.torun.pl (Bartosz Maruszewski): Polish translation <br>
<br>
donahue@tiber.nist.gov (Michael J Donahue): typos, winner of the ``sliced bread
competition'' <br>
<br>
rms@gnu.ai.mit.edu (Richard Stallman): ``free'' documentation concept/distribution notice <br>
<br>
dak@Pool.Informatik.RWTH-Aachen.DE (David Kastrup): NFS thing <br>
<br>
esr@snark.thyrsus.com (Eric Raymond): various tidbits <br>
<br>
曾寄信給我問問題的人也有很大幫助. <br>
<br>
13.4. 版權(quán)聲明,許可,諸如此類的 <br>
Copyright © Brian Ward, 1994-1997. <br>
<br>
Permission is granted to make and distribute copies of this manual provided the copyright
notice and this permission notice are preserved on all copies. <br>
<br>
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.'' <br>
<br>
Warranty: None. <br>
<br>
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. <br>
</p>
<BR>
<hr color="#EE9B73" size="1" width="94%">
</TD>
<TD CLASS="tt3" VALIGN="bottom" width="8%" bgcolor="#e0e0e0"><strong><A HREF="074.htm">后一頁</A><BR>
<A HREF="072.htm">前一頁</A><BR>
<A HREF="index.html">回目錄</A><BR>
<A HREF="../../../../index.htm">回首頁</A><BR>
</strong>
</TD>
</TR>
</table>
</BODY></HTML>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -