640 lines
23 KiB
Text
640 lines
23 KiB
Text
<!-- $FreeBSD$ -->
|
||
<!-- The FreeBSD Documentation Project -->
|
||
<!-- Translate into Chinese by foxfair@FreeBSD.org -->
|
||
<!-- English Version: 1.18 -->
|
||
|
||
<sect>
|
||
<heading>安裝 FreeBSD<label id="install"></heading>
|
||
|
||
<sect1>
|
||
<heading>我該下載哪些檔案以取得 FreeBSD?</heading>
|
||
|
||
<p>通常你只需要一張軟碟 image 檔,<em>floppies/boot.flp</em>,把它拷
|
||
貝到 1.44MB 軟碟片上然後啟動它,再去下載其他的部份(安裝程序會管
|
||
理你的 TCP/IP 連線,以及 tapes,光碟機,軟碟機,DOS 分割區,及
|
||
其他只要是安裝過程中需要用到的事物)。
|
||
|
||
<p>若你只需要自己下載 distributions(可迅速的由 DOS 檔案系統來安裝)
|
||
,以下是我們建議你抓來安裝的 distributions:
|
||
|
||
<itemize>
|
||
<item> bin/<newline>
|
||
<item> manpages/<newline>
|
||
<item> compat*/<newline>
|
||
<item> doc/ <newline>
|
||
<item> src/ssys.* <newline>
|
||
</itemize>
|
||
|
||
<p>安裝程序的完整指令,以及更多普遍性安裝時會碰到的問題可以在
|
||
<url url="../../handbook/install.html"
|
||
name="Handbook entry on installing FreeBSD.">這裡找到。
|
||
|
||
<sect1>
|
||
<heading>救命!啟動的軟碟 image 檔無法塞到一片單獨的軟碟片裡!
|
||
</heading>
|
||
|
||
<p>一張 3.5 英吋(1.44MB)軟碟片可以容納 1474560 位元組的資料。
|
||
啟動的 image 檔就剛好是這個大小。
|
||
<p>在準備啟動軟碟片時常見的錯誤有:
|
||
<itemize>
|
||
<item>使用 <tt>FTP</tt> 時沒有使用 <tt>binary</tt> 模式下載軟碟
|
||
image。
|
||
<p>某些 FTP client 軟體它們內定的傳輸模式是 <tt>ascii</tt>
|
||
並且試著更改任何的 end-of-line 字元,以符合這個 client 系統
|
||
本身的轉換。大部分情形下這必然會毀損啟動 image 檔,檢查一下
|
||
你下載的啟動 image 檔大小:如果這不是<em>完全地</em>與 server
|
||
端上的大小相同,那麼你的下載程序就有問題。
|
||
<p>解決方法:在你連接上 server 但尚未開始下載映像檔之前,
|
||
看到 FTP 命令提示號時打 <tt>binary</tt>。
|
||
|
||
<item>使用 DOS 的 <tt>copy</tt> 命令(或等效的 GUI 工具)來把啟
|
||
動 image 檔傳送到軟碟片。
|
||
<p>類似像 <tt>copy</tt> 的程式,在啟動 image 檔被建立並且直接
|
||
開機後並沒有功用。映像檔裡有完整的磁碟內容,磁軌對磁軌,這代
|
||
表著你無法用磁片上固定的檔案去取代它。
|
||
你必須把它傳送到軟碟片的``raw''上,使用低階化工具(像是
|
||
<tt>fdimage</tt> 或 <tt>rawrite</tt>),這些在
|
||
<url url="../../handbook/install.html" name="installation guide to
|
||
FreeBSD">裡面多有描述。
|
||
</itemize>
|
||
|
||
<sect1>
|
||
<heading>安裝 FreeBSD 的指令在哪裡?</heading>
|
||
|
||
<p>你可以在這裡找到安裝指令。
|
||
<url url="../../handbook/install.html"
|
||
name="Handbook entry on installing FreeBSD.">
|
||
|
||
<sect1>
|
||
<heading>要執行 FreeBSD 我還需要什麼?</heading>
|
||
|
||
<p>你需要一台 386 或更好的 PC,包含 5MB 或更多的 RAM 以及至少 60MB
|
||
的磁碟空間。可以僅使用一個低階的 MDA 圖形卡,如果你要執行 X11R6
|
||
,就需要 VGA 或更好的視訊卡。
|
||
|
||
<p>亦參考這個章節 <ref id="hardware" name="Hardware compatibility">
|
||
|
||
<sect1>
|
||
<heading>我只有 4MB RAM,那我能安裝 FreeBSD 嗎?</heading>
|
||
|
||
<p>FreeBSD 2.1.7 是最後一個可在 4MB 系統上被安裝的版本。新版的
|
||
FreeBSD,像是 2.2,需要至少 5MB 來安裝它在一個全新的系統上。
|
||
|
||
<p>FreeBSD 的所有版本,包括 3.0,都能在 4MB 的記憶體下執行,不
|
||
過安裝時不能只用 4MB。如果你想這樣,你可以在安裝時加入額外的
|
||
記憶體,然後等系統可以執行後,換回 4MB。或是你可以把你的磁碟
|
||
機切出一個 4MB 以上置換空間,安裝好系統後再把置換空間砍掉。
|
||
|
||
<p>FreeBSD 2.1.7 也有不能在 4MB 安裝的情形。正確的說,應該是指
|
||
不能在基本的 640kB 加上 3MB 延伸記憶體裡安裝。如果你的主機板
|
||
可以重新找回在 640kB 到 1MB 範圍中那些``遺失''的記憶體,那麼
|
||
或許你還是可以把 FreeBSD 2.1.7 裝起來。
|
||
|
||
<p>試著進入你的 BIOS 設定選單並找一個``remap''選項,把它打開。
|
||
你或許也該把 ROM shadowing 給關掉。
|
||
|
||
<p>只在安裝時使用 4MB 可能容易一點,建立一個只有你需要的選項的
|
||
核心程式,然後就可以只用 4MB。
|
||
|
||
<p>你也可以安裝 2.0.5 然後再把你的系統用 2.1.7 安裝程式裡
|
||
``upgrade''的選項升級到 2.1.7 版本。
|
||
|
||
<p>安裝後如果你建立一個自訂的核心,這將會在 4MB 下執行。曾有
|
||
人成功的用 2MB 開機(不過系統幾乎不能用 :-))。
|
||
|
||
<sect1>
|
||
<heading>
|
||
我該怎麼製作自訂的安裝軟碟片?
|
||
</heading>
|
||
|
||
<p>目前你無法*只*製作一個自訂的安裝軟碟片。你必須做出整個全新的
|
||
release 系統,這裡面就包括你的安裝軟碟片。某些在
|
||
<tt>/usr/src/release/floppies/Makefile</tt> 裡的程式碼假設能讓
|
||
你*只*做出那些軟碟片,但是事實上還不行。
|
||
|
||
<p>要做出自訂的 release 版本,請遵循 <ref id="custrel" name="here">
|
||
的指令。
|
||
|
||
<sect1>
|
||
<heading>我可以在我的 PC 上擁有超過一個以上的作業系統嗎?</heading>
|
||
|
||
<p>請參考 <url url="../tutorials/multios/multios.html"
|
||
name="The multi-OS page.">
|
||
|
||
<sect1>
|
||
<heading>Windows 95 可以跟 FreeBSD 並存嗎?</heading>
|
||
|
||
<p>先安裝 Windows 95,然後再裝 FreeBSD。FreeBSD 的啟動管理員
|
||
會接著管理啟動 Win95 和 FreeBSD 的工作。假使你第二個才去裝
|
||
Win95,它將會問都不問的粗魯地把你的啟動管理員覆寫過去。假
|
||
如這已經發生,請看下一節。
|
||
|
||
<sect1>
|
||
<heading>
|
||
Windows 95 把我的啟動管理員殺掉了!我該怎麼把它救回來?
|
||
</heading>
|
||
|
||
<p>你可以用以下兩種方法之一來重新安裝 FreeBSD 的啟動管理員:
|
||
|
||
<itemize>
|
||
<item>執行 DOS,進入你的 FreeBSD distributions 的 tools/ 目錄
|
||
並找到 <bf>bootinst.exe</bf>。你可以這樣執行它:
|
||
|
||
<p><bf>bootinst.exe boot.bin</bf>
|
||
|
||
<p>這樣啟動管理員將會再次被安裝。
|
||
|
||
<item>用 FreeBSD 啟動軟碟片再次開機然後進入 Custom 安裝選單
|
||
項目,選擇 Partition,選擇那個包含啟動管理員的磁碟機(大多是
|
||
第一個),然後當分割區編輯器(partition editor)出現時,第一件
|
||
事(意思就是:不要做任何更改) 先選擇 (W)rite。會出現確認的詢
|
||
問,回答 yes,然後當你看到 Boot Manager 的選擇提示時,確定
|
||
你選的是"Boot Manager"這項。
|
||
這會把啟動管理員重新寫回磁碟裡。跳離安裝選單然後就跟正常情形
|
||
一樣重新啟動硬碟。
|
||
</itemize>
|
||
|
||
<sect1>
|
||
<heading>我可以在一個有壞軌(bad blocks)的磁碟上進行安裝嗎?</heading>
|
||
|
||
<p>FreeBSD 的 bad block (<htmlurl
|
||
url="http://www.FreeBSD.org/cgi/man.cgi?bad144" name="bad144">
|
||
命令) 處理並非 100&percnt 完全(用圖形化來看),而且很不幸我要告
|
||
訴你假如你有一個 IDE 或 ESDI 裝置包含大量的 bad blocks,那麼
|
||
FreeBSD 可能不適合你!這表示,對其他大多數的 IDE 系統可能有
|
||
用,你可能想在放棄前先嘗試看看。
|
||
|
||
<p>如果你有一個有 bad blocks 的 SCSI 裝置,請看 <ref id="awre"
|
||
name="this answer">.
|
||
|
||
<sect1>
|
||
<heading>當我啟動安裝軟碟片時,奇怪的事情發生了!</heading>
|
||
|
||
<p>如果你看到奇怪的事情,像是機器停住了或是當你試著從安裝磁片起
|
||
動時突然自動重新開機了,這裡有三個問題你該先問問自己:-
|
||
|
||
<enum>
|
||
<item>你是否使用一個新的,剛格式化過,沒有任何錯誤的軟碟片(可
|
||
以是一張全新剛拆封的,而非是那種已經你的床下躺了三年,是雜誌贈
|
||
送的封面磁片)?
|
||
|
||
<item>你是否用 binary 模式下載軟碟映像檔?
|
||
(不用不好意思,就算是我們之中最好的一個人也曾意外的把 binary
|
||
檔用 ASCII 模式下載至少一次!)
|
||
|
||
<item>如果你正在使用像是 Windows95 或 Windows NT 這幾種新型的
|
||
作業系統,你有沒有把系統關機然後啟動到最原始狀態,只有 DOS?
|
||
這些 OS 看起來會阻礙那些直接操作硬體的程式,像是建立磁碟的程式
|
||
,只要在 GUI 環境下的 DOS shell 就會導致這個問題。
|
||
</enum>
|
||
|
||
<p>也有過報告有關 Netscape 會導致下載啟動軟碟的問題,因此如果你
|
||
可以,最好使用別種不同的 FTP client 。
|
||
|
||
<sect1>
|
||
<heading>救命!我不能從 tape 安裝!</heading>
|
||
|
||
<p>如果你從 tape 安裝 2.1.7,你必須用每個 tar blocksize 是 10
|
||
(5120 bytes)建立這個 tape。內定的 tar blocksize 是 20(10240
|
||
bytes),然而用這種內定大小建立的 tape 無法用來安裝 2.1.7R;
|
||
如果你用這種 tapes,你會看到有關資料記錄區大小過大的抱怨訊
|
||
息。
|
||
|
||
<sect1>
|
||
<heading>用一條並聯線(PLIP)連接兩台 FreeBSD。
|
||
</heading>
|
||
|
||
<p>找一條 laplink 線,確定兩邊電腦的核心都支援 lpt 驅動程式。
|
||
|
||
<verb>
|
||
$ dmesg | grep lp
|
||
lpt0 at 0x378-0x37f irq 7 on isa
|
||
lpt0: Interrupt-driven port
|
||
lp0: TCP/IP capable interface
|
||
</verb>
|
||
|
||
<p>把 laplink 線插入並聯界面上。
|
||
|
||
<p>用 root 身分在兩台電腦上設定 lp0 的網路界面參數。舉例,如果
|
||
你想用 max 連接 moritz:
|
||
|
||
<verb>
|
||
max <-----> moritz
|
||
IP Address 10.0.0.1 10.0.0.2
|
||
</verb>
|
||
|
||
max 端應該這樣開始:
|
||
<verb>
|
||
# ifconfig lp0 10.0.0.1 10.0.0.2
|
||
</verb>
|
||
|
||
moritz 則這樣:
|
||
|
||
<verb>
|
||
# ifconfig lp0 10.0.0.2 10.0.0.1
|
||
</verb>
|
||
|
||
<P>好了!也請你看看 lp(4) 和 lpt(4) 的 manpages。
|
||
|
||
<P>你也該把這些主機加到 /etc/hosts 裡面。
|
||
|
||
<verb>
|
||
127.0.0.1 localhost.my.domain localhost
|
||
10.0.0.1 max.my.domain max
|
||
10.0.0.2 moritz.my.domain moritz
|
||
</verb>
|
||
|
||
<P>用以下方法檢查是否有正常動作:
|
||
|
||
on max:
|
||
|
||
<verb>
|
||
$ ifconfig lp0
|
||
lp0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500
|
||
inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000
|
||
</verb>
|
||
|
||
<verb>
|
||
$ netstat -r
|
||
Routing tables
|
||
|
||
Internet:
|
||
Destination Gateway Flags Refs Use Netif Expire
|
||
moritz max UH 4 127592 lp0
|
||
</verb>
|
||
|
||
<verb>
|
||
$ ping -c 4 moritz
|
||
PING moritz (10.0.0.2): 56 data bytes
|
||
64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms
|
||
64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms
|
||
64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms
|
||
64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms
|
||
|
||
--- moritz ping statistics ---
|
||
4 packets transmitted, 4 packets received, 0% packet loss
|
||
round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms
|
||
</verb>
|
||
|
||
<sect1>
|
||
<heading>
|
||
我可以在我的膝上型電腦用 PLIP(Parallel Line IP)安裝嗎?
|
||
</heading>
|
||
|
||
<p>用 laplink 並聯線連接兩台電腦以使用這個特性:
|
||
|
||
<verb>
|
||
+----------------------------------------+
|
||
|A-name A-End B-End Descr. Port/Bit |
|
||
+----------------------------------------+
|
||
|DATA0 2 15 Data 0/0x01 |
|
||
|-ERROR 15 2 1/0x08 |
|
||
+----------------------------------------+
|
||
|DATA1 3 13 Data 0/0x02 |
|
||
|+SLCT 13 3 1/0x10 |
|
||
+----------------------------------------+
|
||
|DATA2 4 12 Data 0/0x04 |
|
||
|+PE 12 4 1/0x20 |
|
||
+----------------------------------------+
|
||
|DATA3 5 10 Strobe 0/0x08 |
|
||
|-ACK 10 5 1/0x40 |
|
||
+----------------------------------------+
|
||
|DATA4 6 11 Data 0/0x10 |
|
||
|BUSY 11 6 1/0x80 |
|
||
+----------------------------------------+
|
||
|GND 18-25 18-25 GND - |
|
||
+----------------------------------------+
|
||
</verb>
|
||
|
||
<p>請參考 Mobile Computing 網頁的 <ref id="pao" name="this note">。
|
||
|
||
<sect1>
|
||
<heading>
|
||
我該怎麼使用一個磁碟裝置的 geometry?<label id="geometry">
|
||
</heading>
|
||
|
||
<p>(一台磁碟的"gromrtry",我們指的是這台磁碟上 cylinders, heads
|
||
和 sectors/track 的數目 - 為了方便且稱之為 C/H/S。這是 PC 的
|
||
BIOS 用來讀/寫磁碟的依據)。
|
||
|
||
<p>為了某些理由,這似乎會導致很多困擾。首先,一台 SCSI 裝置的
|
||
<tt /physical/ geometry 跟 FreeBSD 在使用的 disk blocks 是完
|
||
全無關的。事實上,並沒有所謂"physical geometry"這種東西,這
|
||
是指磁碟機上磁區密度的變化 - 製造商要求是"真實的"physical
|
||
geometry 通常是指,他們所能找出浪費最少空間的 geometry 結果。
|
||
對 IDE 磁碟來說,FreeBSD 使用 C/H/S 方式工作,但是所有現在
|
||
的磁碟已經在內部參考時把它轉換成 block 了。
|
||
|
||
<p>另外就是所謂的<tt /logical/ geometry - 這是當 BIOS 問"你的
|
||
geometry 是什麼?"的時候,所得到的答案並且把它用來存取磁碟。
|
||
當開機時 FreeBSD 使用 BIOS 資料,讓這個正確是相當重要的。另外
|
||
,如果你在同一個磁碟機上有一個以上的作業系統,他們必須都同意
|
||
grometry,否則你在開機時會有大問題!
|
||
|
||
<p>對 SCSI 磁碟機來說,geometry 的使用是依靠啟動控制器來支援
|
||
extended translation (這通常稱之為"對>1GB DOS 磁碟機
|
||
的支援或"類似的稱呼)。如果不支援,那麼使用 N cylinders,64
|
||
heads 和 32 sectors/track,這裡'N'是指磁碟機的 MB 容量。舉例
|
||
來說,一個 2GB 的磁碟機應該假設它有 2048 cylinders,64 heads
|
||
和 32 sectors/track。
|
||
|
||
<p>如果它確定<tt /是/ 打開的(通常提供這種方法在 MSDOS 下有某些限
|
||
制),並且磁碟容量超過 1GB,使用 M cylinders, 每個 track 63 sectors
|
||
(*而非* 64),以及 255 heads,這裡 'M' 是每 MB 的磁碟容量除以
|
||
7.844238 (!)。所以我們的這個範例,2G 磁碟機就有 261 cylinders,
|
||
每個 track 63 sectors 以及 255 heads。
|
||
|
||
<p>如果你不確定以上這個,或是 FreeBSD 在安裝過程中要偵測 geometry
|
||
的正確性時失敗了,最簡單的解決方法通常是在磁碟上建立一個小的 DOS
|
||
分割區。正確的 geometry 應該能被偵測到(而且如果你不想保留它,
|
||
你總是可以在分割區編輯器裡把這個 DOS 分割區移除掉,或是把它留下
|
||
來,給程式化網路卡使用或隨你高興怎麼用它)。
|
||
|
||
<p>另外,有一個免費而有用的公用程式叫 ``<tt/pfdisk.exe/'' 隨著
|
||
FreeBSD 散播出來(位於 FreeBSD CDROM 的 <tt>tools</tt> 子目錄
|
||
下或是在大多數的 FreeBSD ftp 站台內可找到),這個程式可用來找
|
||
出另一作業系統正在使用磁碟機上的哪塊 geometry。然後你就可以在
|
||
分割區編輯器裡面輸入它。
|
||
|
||
<sect1>
|
||
<heading>當我分割磁碟機時有任何限制嗎﹖</heading>
|
||
|
||
<p>是的。你必須確認你的 root 分割區是在 1024 cylinders 之內,讓
|
||
BIOS 可以從其中啟動核心。(注意:這是 PC 的 BIOS 功能限制,而不
|
||
是 FreeBSD 的)
|
||
|
||
<p>對 SCSI 裝置來說,這通常暗示著 root 分割區將放在開始的 1024
|
||
MB(或是開始的 4096MB,如果 extended translation 是打開的 - 請
|
||
參考前一節)。對 IDE 來說,相關的部份是 504MB。
|
||
|
||
<sect1>
|
||
<heading>
|
||
可以使用磁碟管理程式(disk managers)嗎﹖或是,我有一個巨大的磁碟機!
|
||
</heading>
|
||
|
||
<p>FreeBSD 認識 Ontrack Disk Manager 並且允許使用它,其他的 disk
|
||
managers 則不在支援之列。
|
||
|
||
<p>如果你只想在磁碟機上使用 FreeBSD 那麼你根本不需要 disk manager。
|
||
只要把磁碟設定成 BIOS 能抓到的最大空間(通常是 504 megabytes),那麼
|
||
FreeBSD 應該就可以算出你事實上擁有多少空間。如果你正使用一個 MFM
|
||
控制器來控制的老磁碟,你可能需要明白的告訴 FreeBSD 要使用多少個
|
||
cylinders。
|
||
|
||
<p>如果你想在磁碟上使用 FreeBSD 和另一個作業系統,你可能不需要
|
||
disk manager:只要確定 FreeBSD 的啟動分割區跟其他作業系統的
|
||
slice 都位於開始的 1024 cylinders 內。如果你相當地小心,一個
|
||
20 megabytes 的啟動分割區應該就夠了。
|
||
|
||
<sect1>
|
||
<heading>
|
||
當我啟動 FreeBSD,我看到 ``Missing Operating System''
|
||
<label id="missing_os">
|
||
</heading>
|
||
|
||
<p>這是一個典型的情形,有關 FreeBSD 以及 DOS 或其他在磁碟處理方法
|
||
上有衝突的 OS <ref id="geometry" name="geometry.">。你需要重新
|
||
安裝 FreeBSD,但是請遵照上面所提到的指令應該就可以了。
|
||
|
||
<sect1>
|
||
<heading>我看不到 boot manager 的 'F?' 提示號。</heading>
|
||
|
||
<p>這是前一頁所描述問題的另一個徵兆。你的 BIOS geometry 和 FreeBSD
|
||
的 geometry 設定不相同!如果你的控制器或 BIOS 支援 cylinders
|
||
translation (通常被標示成``>1GB drive support''),試著把這個
|
||
設定打開然後重新安裝 FreeBSD。
|
||
|
||
<sect1>
|
||
<heading>
|
||
我有 >16MB RAM。這會導致任何問題嗎﹖<label id="bigram">
|
||
</heading>
|
||
|
||
<p>從效能的角度來看,不會。FreeBSD 2.X 內含 bounce buffers,這允許
|
||
你的 bus mastering controller 存取超過 16MB。(注意如果你正使用
|
||
ISA 裝置這應該是必需的,儘管一個或兩個更早的 EISA 和 VLB 裝置也
|
||
可能需要它)。
|
||
|
||
<p>也請參考 <ref id="reallybigram" name=">64M machines">
|
||
這節,假如你有這麼多記憶體,或你使用的是 Compaq 或是其他能處理
|
||
這麼多有用記憶體的機器。
|
||
|
||
<sect1>
|
||
<heading>我需要安裝完整的原始程式(sources)嗎﹖</heading>
|
||
|
||
<p>通常是不需要。然而,會強烈建議你至少安裝 ``<tt/base/'' 這個
|
||
source kit,這包含數個這裡簡單描述過的檔案,還有 ``<tt/sys/''
|
||
(kernel) source kit,這包含核心程式的 sources。系統裡面不需
|
||
要有 sources 才能操作,然而,除了 kernel-configuration 程式
|
||
<htmlurl url="http://www.FreeBSD.org/cgi/man.cgi?config"
|
||
name="config">以外。缺少核心的 sources,我們的建築架構是設定
|
||
成讓你可以從別處如 NFS 來掛上唯獨的原始程式,因此還是可以製
|
||
作新的 binaries。(因為 kernel-source 的限制,我們建議你不要
|
||
直接把它掛在 <tt>/usr/src</tt> 下,最好用其他適合的符號性重
|
||
複連結到 source tree 的上層架構。)
|
||
|
||
<p>線上擁有 sources 並知道如何建立一個系統,將會讓你在升級今後
|
||
FreeBSD 的 releases 版本更容易一點。
|
||
|
||
<p>要實際的選擇 sources 的一個子集合,在你在系統安裝工具的
|
||
Distributions 選單時,使用 Custom 選單項目。<tt>src/install.sh</tt>
|
||
script 將會把 sources distribution 的部份安裝進去,主要是看
|
||
你傳入哪些參數。
|
||
|
||
<sect1>
|
||
<heading>我需要建立一個核心嗎﹖</heading>
|
||
|
||
<p>建立一個新的核心在 FreeBSD 安裝過程中是絕對必需的一個步驟。
|
||
但新版 releases 帶來一個更友善的核心設定工具指令的好處。在
|
||
FreeBSD 啟動提示號(boot:)時,使用 "-c" flag 你就會進入一個設
|
||
定螢幕,這允許你做常見 ISA 卡的核心設定。
|
||
|
||
<p>仍然建議你最後建立一個核心,只包含你需要的驅動程式,這是為了
|
||
節省一點 RAM,但是對大多數的系統來說這卻不是嚴格的要求。
|
||
|
||
<sect1>
|
||
<heading>我不是住在美國,那我可以使用 DES 嗎﹖</heading>
|
||
|
||
<p>如果對你來說使用 DES 格式的加密技術不是絕對需要的,你可以使
|
||
用 FreeBSD 的內定加密技術,有<bf/更好/ 的安全性,並且沒有額外
|
||
的限制。FreeBSD 2.0 的密碼現在使用內定的 <bf/MD5/-based 加以
|
||
混合,要用自動破解密碼的程式去破解它,比起 DES 需要使用更多
|
||
CPU 強化性以便用自動密碼破解器,它還允許更長的密碼。今日不使
|
||
用 <bf/MD5/-based 加密技術的唯一理由是在 FreeBSD 和非 FreeBSD
|
||
系統上使用相同的密碼項目。
|
||
|
||
<p>因為 DES 加密演算法不能由 US 合法輸出到國外,非 US 使用者不
|
||
應該從 US FTP 站台下載這個軟體(<tt/secrdist/的任一部份)。
|
||
|
||
<p>然而另外還有個有效的 libcrypt,原始程式基本上由澳洲的
|
||
David Burren 寫成。這個程式碼目前在某些非 US FreeBSD mirror
|
||
站台上可以找到。這個沒有限制的 libcrypt 原始程式,以及使用它
|
||
的 binaries 程式,可以在以下 FTP 站台獲得:
|
||
|
||
<descrip>
|
||
<tag/South Africa/
|
||
<tt>ftp://ftp.internat.FreeBSD.org/pub/FreeBSD</tt><newline>
|
||
<tt>ftp://storm.sea.uct.ac.za/pub/FreeBSD</tt>
|
||
|
||
<tag/Brazil/
|
||
<tt>ftp://ftp.iqm.unicamp.br/pub/FreeBSD</tt>
|
||
|
||
<tag/Finland/
|
||
<tt>ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt</tt>
|
||
</descrip>
|
||
|
||
<p>非 US 的 <tt/securedist/ 可以當限制性 US <tt/securedist/
|
||
的完全替代。這個 <tt/securedist/ package 安裝方法跟 US
|
||
package 完全一樣(細節請參考安裝須知)。如果你要裝 DES 加密法
|
||
你應該儘可能地在安裝其他軟體之前先裝好它,再裝其他軟體。
|
||
|
||
<p>非 US 使用者請勿從 USA 下載任何加密軟體。這會導致站台的管理
|
||
者因為被下載的軟體惹上數個法律性的困難。
|
||
|
||
<p>一個非 US 的 Kerberos distribution 亦正在發展中,現行版本通
|
||
常可由匿名 FTP <tt>braae.ru.ac.za</tt> 來獲得。
|
||
|
||
<p>也有一個 <ref id="mailing" name="mailing list"> 專門用來討論
|
||
非 US 加密軟體。欲獲得更多資訊,寄一封內含單獨一行訊息說
|
||
``<tt/help/'' 的 email 給:
|
||
|
||
<tt><majordomo@braae.ru.ac.za></tt>.
|
||
|
||
<sect1>
|
||
<heading>
|
||
啟動軟碟開始讀了可是卻停在``Probing Devices...''螢幕。
|
||
</heading>
|
||
|
||
<p>如果你安裝了 IDE Zip 或 Jaz 裝置,移除它並重新試一遍。
|
||
啟動軟碟片可能會被這些裝置混淆了。當系統安裝好以後你可以再
|
||
把它接回來。希望這在之後的 release 版本可以被修正。
|
||
|
||
<sect1>
|
||
<heading>當我安裝好重新啟動系統後,我看到``panic: cant mount root''
|
||
的錯誤訊息。
|
||
</heading>
|
||
|
||
<p>這個錯誤是因為啟動區塊跟核心程式對磁碟裝置的認知不相同。通常這個
|
||
錯誤會出現在雙磁碟的 IDE 系統,硬碟放在 master,或是在分離的
|
||
IDE 控制器上只有單一磁碟機,但是 FreeBSD 裝在 secondary IDE 上
|
||
。當核心指定第二個磁碟控制器的第一個磁碟機 wd2 時,啟動 block
|
||
卻認為系統裝在 wd1(第二個 BIOS 磁碟機)。偵測完裝置後,核心程式
|
||
試著把啟動 block 認為的啟動磁碟(wd1) mount 起來,事實上卻是 wd2
|
||
,所以失敗了。
|
||
|
||
<p>要修正這個問題,以下幾種方法之一都可以解決:
|
||
|
||
<enum>
|
||
<item>當 Boot: 提示號出現時,輸入: <tt>1:wd(2,a)kernel</tt>
|
||
然後按 Enter。如果系統開始了,就執行以下命令:
|
||
<verb>
|
||
echo "1:wd(2,a)kernel" > /boot.config
|
||
</verb>
|
||
讓它變成內定的 boot string。
|
||
<item>把 FreeBSD 磁碟機移到 primary IDE controller,因此硬碟機是
|
||
連續的。
|
||
<item><url url="../../handbook/kernelconfig.html" name="Rebuild
|
||
your kernel,"> 修改有關 wd 設定的行數:
|
||
|
||
<verb>
|
||
controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
|
||
disk wd0 at wdc0 drive 0
|
||
# disk wd1 at wdc0 drive 1 # comment out this line
|
||
|
||
controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
|
||
disk wd1 at wdc1 drive 0 # change from wd2 to wd1
|
||
disk wd2 at wdc1 drive 1 # change from wd3 to wd2
|
||
</verb>
|
||
|
||
安裝新的核心程式。
|
||
如果你移動你的磁碟機,並希望把先前的設定恢復,只要把磁碟用預期
|
||
的設定置換回來然後重新開機。你的系統應該就能成功的啟動。
|
||
</enum>
|
||
|
||
<sect1>
|
||
<heading>記憶體的限制是什麼﹖</heading>
|
||
|
||
<p>對記憶體來說,(理論上)限制是 4 gigabytes。1 gigabytes 已被測試
|
||
過;一般你不可能買到可以支援超過這個數目的 i386 PC。
|
||
|
||
<sect1>
|
||
<heading>ffs 檔案系統的限制是什麼﹖</heading>
|
||
|
||
<p>對 ffs filesystems 而言,最大理論值限制在 8 terabytes(2G blocks
|
||
),或當使用內定 8K block 大小時,限制是 16TB。還有,軟體限制是
|
||
1 terabytes,但如果是經過修改的檔案系統上 4 terabytes 是可能(並
|
||
且存在)的。
|
||
|
||
<p>單一 ffs 檔案的大小最大是趨近 1G blocks(4TB) - 假如 block 大小是
|
||
4K。
|
||
|
||
<verb>
|
||
maxfilesize
|
||
----------------------------------
|
||
2.2.7 3.0
|
||
fs block size -stable -current works should-work
|
||
------------- ------- -------- ----- -----------
|
||
4K 4T-1 4T-1 4T-1 4+T
|
||
8K 32+G 8T-1 32+G 16T-1
|
||
16K 128+G 16T-1 128+G 32T-1
|
||
32K 512+G 32T-1 512+G 64T-1
|
||
64K 2048+G 64T-1 2048+G 128T-1
|
||
</verb>
|
||
|
||
<p>當 fs block 大小是 4K,triple indirect block 運作並且所有的事情
|
||
都應該以表示成使用 triple indirect block 的最大 fs block 來作限
|
||
制(近似於 1K^3 + 1K^2 + 1K),但在 fs block 數目上卻有一個(錯誤)
|
||
的 1G-1 限制。對 fs block 數目的限制應該是 2G-1。在 fs block
|
||
數目接近 2G-1 時有點錯誤,但當 fs block 大小是 4K 時這個 block
|
||
數目是不能達到的。
|
||
|
||
<p>block 大小如果是 8K 或更大,fs block 數目應該限制在 2G-1,但實
|
||
際 fs block 數目卻限制在 1G-1,除了在 -stable 時 triple indirect
|
||
blocks 是無法達到的,所以最多 fs block 數目的限制可以表示成用
|
||
double indirect blocks(近似於(blocksize/4)^2 + (blocksize/4))
|
||
,且在 -current 下超過這個限制可能會導致問題產生。使用正確的
|
||
2G-1 block 限制的確會導致問題發生。
|
||
|
||
<sect1>
|
||
<heading>我該怎麼在軟碟上放入 1TB 檔案?</heading>
|
||
|
||
<p>我自己就在軟碟片上放好幾個 :-)。檔案的最大容量事實上跟磁碟最大
|
||
的容量並沒有密切相關。磁碟的最大容量是 1TB,這是一個檔案大小可
|
||
以超過磁碟容量的一個特色。
|
||
|
||
<p>以下範例會在一個使用整個 32K 空間這樣小的 root partition 磁碟
|
||
上建立一個大小是 8T-1 的檔案(3 indirect blocks and 1 data block
|
||
)。dd 指令需要讓 dd 能在一個大檔案下執行。
|
||
|
||
<verb>
|
||
ttyv0:bde@alphplex:/tmp/q> cat foo
|
||
df .
|
||
dd if=/dev/zero of=z bs=1 seek=`echo 2^43 - 2 | bc` count=1
|
||
ls -l z
|
||
du z
|
||
df .
|
||
ttyv0:bde@alphplex:/tmp/q> sh foo
|
||
Filesystem 1024-blocks Used Avail Capacity Mounted on
|
||
/dev/sd0a 64479 27702 31619 47% /
|
||
1+0 records in
|
||
1+0 records out
|
||
1 bytes transferred in 0.000187 secs (5346 bytes/sec)
|
||
-rw-r--r-- 1 bde bin 8796093022207 Sep 7 16:04 z
|
||
32 z
|
||
Filesystem 1024-blocks Used Avail Capacity Mounted on
|
||
/dev/sd0a 64479 27734 31587 47% /
|
||
ttyv0:bde@alphplex:/tmp/q> exit
|
||
</verb>
|
||
|
||
<p>Bruce Evans, September 1998
|
||
|
||
<sect1>
|
||
<heading>在啟動新的 kernel 時,看到 "archsw.readin.faild" 這個錯誤訊息
|
||
</heading>
|
||
|
||
<p>在啟動 loader 之前會看到 "|" 這個符號在轉,這時可以按任何鍵中斷,然
|
||
後再指定要載入那個 kernel。仔細來說,你已經更新 kernel 的原始碼、也用它
|
||
做了新的 kernel,但卻 *沒有重新 make world*。我們不支援這麼做,請先
|
||
make world,再更新 kernel。
|
||
|
||
</sect>
|
||
|