萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> The Linux Bootdisk HOWTO 中譯版

The Linux Bootdisk HOWTO 中譯版

class="22066"> 作者:;Tom;Fawcett;(;[email protected])

譯者:;朱漢農;
v4.0,;April;2000,;翻譯日期:;27;July;2000;


--------------------------------------------------------------------------------
本文描述如何設計與建造你自己的;Linux;boot/root;磁片。這些磁片能用來當做救援磁片;(rescue;disks);,或是能用來測試新系統元件;(components);。在企圖建造你自己的;bootdisk;之前,你應該要相當熟悉系統管理工作。如果你只是想要一張緊急時使用的救援磁片,請參考;Pre-made;bootdisks;。;
--------------------------------------------------------------------------------

1.;前言;--;Preface
1.1;版本注意事項;--;Version;notes;
1.2;尚未完成的事;
1.3;回應與感謝;--;Feedback;and;credits;
1.4;散布政策;--;Distribution;policy;

2.;簡介;--;Introduction

3.;Bootdisks與開機流程;--;Bootdisks;and;the;boot;process
3.1;開機流程;--;The;boot;process;
3.2;磁碟類型;--;Disk;types;

4.;建立一個root;filesystem;--;Building;a;root;filesystem
4.1;概觀;--;Overview;
4.2;制作;filesystem;--;Creating;the;filesystem;
4.3;移植檔案系統;--;Populating;the;filesystem;
4.4;對;PAM;與;NSS;的提供;--;Providing;for;PAM;and;NSS;
4.5;模組;--;Modules;
4.6;一些最後的細節;--;Some;final;details;
4.7;Wrapping;it;up;

5.;選擇一個;kernel;--;Choosing;a;kernel

6.;把它們放在一起:制作磁片(組);--;Putting;them;together:;Making;the;diskette(s)
6.1;用;LILO;傳送;kernel;--;Transferring;the;kernel;with;LILO;
6.2;不使用;LILO;來傳送;kernel;--;Transferring;the;kernel;without;LILO;
6.3;設定ramdisk;--;Setting;the;ramdisk;word;
6.4;傳送root;filesystem;--;Transferring;the;root;filesystem;

7.;問題解決;--;Troubleshooting,;or;The;Agony;of;Defeat

8.;其它各種主題;--;Miscellaneous;topics
8.1;減少;root;filesystem;的;size;--;Reducing;root;filesystem;size;
8.2;Non-ramdisk;root;filesystems;
8.3;建造一張工具磁片;--;Building;a;utility;disk;

9.;How;the;pros;do;it

10.;常見問題;(FAQ);列表;--;Frequently;Asked;Question;(FAQ);list
Appendix

11.;資源與指示;--;Resources;and;pointers
11.1;預先做好的;Bootdisks;--;Pre-made;Bootdisks;
11.2;救援套件;--;Rescue;packages;
11.3;LILO;--;the;Linux;loader;
11.4;Linux;FAQ;與;HOWTOs;
11.5;Ramdisk使用方法;--;Ramdisk;usage;
11.6;Linux開機流程;--;The;Linux;boot;process;

12.;LILO;boot;error;codes

13.;Root;filesystem;列表樣本;--;Sample;root;filesystem;listings

14.;工具程式磁片;(utility;disk);目錄列表樣本;--;Sample;utility;disk;directory;listing

--------------------------------------------------------------------------------


--------------------------------------------------------------------------------

1.;前言;--;Preface

這份文件可能已經過期了。;如果標題頁上的日期距今已超過;6;個月,那麽請查閱;Bootdisk-HOWTO;homepage;看看是否已有較新的版本。;

雖然本文以;text;格式也是可以閱讀,但是因為印刷符號的關系,;最好;還是以;Postscript;(.ps);、;PDF;或;HTML;的格式來閱讀。;


1.1;版本注意事項;--;Version;notes;

Graham;Chapman;是原本;Bootdisk-HOWTO;的作者,他一直提供支援到;version;3.1;。;Tom;Fawcett;大約是在;kernel;v2;問市時成為合作作者。他是本文目前的維護者。;

文中資訊是給在;Intel;平台上運作的;Linux;使用。其中許多資訊也許能應用在其它平台的;Linux;,但是我們並沒有嘗試在其它平台制作;bootdisk;,也沒有相關的資訊。如果你有在其它平台上制作;bootdisk;的經驗,請與我們聯絡。;


1.2;尚未完成的事;

有任何自願者嗎;?;


請描述;(或是鏈結到另一份有敘述的文件)如何制作其它可開機的類磁片物品,諸如;CDROMs,;ZIP;disks;與;LS110;disks;。;
請描述如何處理巨大的;libc.so;共享函式庫。基本上可選擇獲取較舊、較小的函式庫,或是刪減現有的函式庫。;
重新分析;distribution;bootdisks;與更新;"How;the;Pros;do;it";這一節。;
刪減敘述關於如何升級現有;distribution;bootdisks;的章節。;This;is;usually;more;trouble;than;it's;worth.;
重寫;/;潤飾;Troubleshooting;這一節。;

1.3;回應與感謝;--;Feedback;and;credits;

我接受任何關於本文內容之回應,無論是好是壞。我/我們;已力求這份文件內的指令與資訊是正確而可靠的。如果你發現任何錯誤或遺漏,請讓我知道。在撰寫時,;請指出你所參考的文件之版本號碼;。;

我們感謝許多協助修正與給予建議之人。他們的貢獻使得本文比我們自己獨立完成它時還來得更好。;

請各位利用上述的;email;地址,給予作者你的批評、指正與疑問。我不介意嘗試回答任何問題,但是如果你有特定問題是關於你的;bootdisk;不能運作,那麽請先閱讀;Troubleshooting;。;


1.4;散布政策;--;Distribution;policy;
Copyright;?;1995,1996,1997,1998,1999,2000;by;Tom;Fawcett;and;Graham;Chapman.;本文可以在;Linux;Documentation;Project;License;的條件下流通。如果你未能拿到此;license;,請與作者聯絡。;

本文是一份免費文件。我們發行它是希望它能有助於你,但是;不能給你任何保證;;本文也沒有;具有商業能力;或;適合特定用途;的保證。;




--------------------------------------------------------------------------------


--------------------------------------------------------------------------------

2.;簡介;--;Introduction

Linux;開機磁片;(boot;disks);在很多情況下是很有用的,諸如;

測試一個新的核心;(kernel)。;
從磁碟錯誤中復原;(這類錯誤從遺失開機磁區到磁碟讀寫頭毀損都有可能);。;
修復一個癱瘓;(disabled);的系統;
安全地升級臨界共用;(critical);的系統檔案;(諸如;libc.so);。;
有好幾種獲得;boot;disks;的方法:;


使用發行套件;(distribution);像是;Slackware;所提供的。它至少能讓你開機。;
使用救援套件;(package);建造用來做為救援磁片的磁片。;
學習每一種;disk;運作系統時所需的東西,然後自己制作。;
有些人選擇最後一種方法,如此他們能靠自己動手做。這樣子,如果某處發生問題,就能找出辦法去解決問題。此外也可以學到很多有關;Linux;如何運作的知識。;

本文假設讀者已熟悉基本的;Linux;系統管理觀念。舉例來說,你應該知道有關目錄、;filesystems;與軟碟片的議題。你也應該知道如何使用;mount;與;df;。你還應該知道;/etc/passwd;與;fstab;這兩個檔案的用途以及它們看起來像什麽。最後,你應該知道;HOWTO;文件內大部分的指令,都要以;root;的身份來執行。;

剛開始制作你自己的;bootdisk;是很復雜的。如果你未曾讀過;Linux;FAQ;與相關文件,諸如;Linux;Installation;HOWTO;與;Linux;Installation;Guide;,那麽你不應該嘗試建造開機磁片。如果你只需要緊急時用的;bootdisk;,下載一個別人事先完成的;bootdisk;拿來用會;更;為容易。請參考下面的;Pre-made;bootdisks;以得知在哪裡可以找到這些東西。;



--------------------------------------------------------------------------------


--------------------------------------------------------------------------------

3.;Bootdisks與開機流程;--;Bootdisks;and;the;boot;process

bootdisk;基本上是放在軟碟片內的一個小型而自足的;Linux;系統。它必須執行許多和完整又;full-size;的;Linux;系統相同的功能。在建造;bootdisk;之前,你應該了解基本的;Linux;開機流程。我們在此只做基本的介紹,但已足夠讓你了解本文之後的內容。很多細節與替代選項已被省略。;


3.1;開機流程;--;The;boot;process;

所有;PC;系統開始開機流程都是藉由執行;ROM;(明確地說,就是;BIOS);中的程式,從開機磁碟機的第;0;磁區、第;0;磁柱載入可供開機的磁區。開機磁碟機通常是第一台軟碟機;(如;DOS;的;A槽;與;Linux;的;/dev/fd0)。接著;BIOS;會嘗試執行這個磁區。在大部分可開機的;disks;上,第;0;磁區、第;0;磁柱包含以下兩者之一:;


開機載入程式;(boot;loader;,如;LILO)的程式碼,它會找出;kernel;所在位置,接著載入並執行它以啟動開機程序。;
一個作業系統;kernel;的開頭;(start);,諸如;Linux;。;
如果一個;Linux;kernel;已利用;raw-copied;的方式置入一張磁片內,那麽這張磁片的第一個磁區就是;Linux;kernel;本身的第一個磁區。這個磁區將從開機設備載入;kernel;的剩馀部分以繼續開機流程。;

一旦;kernel;載入完畢,一些基本設備也完成初始化;(initialization);。然後系統將嘗試從某個設備載入以及掛上;(mount);root;filesystem;。所謂的;root;filesystem;只是一個被掛上當作;``/'';目錄的;filesystem;。;kernel;必須被告知可從哪裡找到此;root;filesystem;;如果;kernel;在那裡找不到一個可載入的影像檔;(image);,系統就會停止運作;(halt);。;

在某些開機情況下;--;常常是
copyright © 萬盛學電腦網 all rights reserved