在裝 FreeBSD 之前,要先打造最小化的 FreeBSD 作業系統 image 檔, 以便可以從硬碟上開機。 如此一來,新的系統就可以透過網路來操作, 而剩下來的安裝部分即可不必透過 console。
而 mfsBSD 這套工具就是用來打造小型的
FreeBSD image 檔。 mfsBSD (名字其中
“mfs” 就是 “memory file system”)所建造出來的
整套系統會透過 ramdisk 方式來運作。 由於此一特色,硬碟的部分就不受限,
因此可以用來安裝完整的 FreeBSD 作業系統。 mfsBSD
的首頁位於 http://people.freebsd.org/~mm/mfsbsd/
,
其中連結有該工具的最新 release 部分。
請注意:mfsBSD 內部運作方式的細節,不 在本文介紹範圍之內。 若對這方面有興趣的讀者,可至 mfsBSD 官網查閱相關文件。
首先下載最新的 mfsBSD 並解壓縮之, 然後切到解壓縮後的工作目錄,也就是 mfsBSD script 檔所在處:
#
fetch http://people.freebsd.org/~mm/mfsbsd/mfsbsd-latest.tar.gz
#
tar xvzf mfsbsd-1.0-beta1.tar.gz
#
cd mfsbsd-1.0-beta1/
在將 mfsBSD 開機之前, 有幾個重要設定要先設妥。 此時最重要的設定,很明顯就是網路設定。 到底網路怎麼設最好,則取決於所處的網路環境, 以及該網路卡會以哪一種驅動程式載入而定。 我們將會看到 mfsBSD 如何在任何網路情況下進行設定。
另一件重要事就是設定 root
密碼。
這點可以透過 conf/rootpw.conf
來完成。
請切記:該檔密碼是以明文方式存放,因此不建議放真正平常有在用的密碼。
然而這密碼只是臨時密碼而已,可以在之後開機時再做更換。
若對要裝的機器網卡為何還不知道是哪一款,但可以善加利用
mfsBSD 的自動偵測功能。
mfsBSD 的開機 script 會根據網卡的 MAC
位址範圍來偵測正確的驅動程式,像是下列的
conf/interfaces.conf
設定內容:
initconf_interfaces="ext1" initconf_mac_ext1="00:00:00:00:00:00" initconf_ip_ext1="192.168.0.2" initconf_netmask_ext1="255.255.255.0"
別忘了在 conf/rc.conf
內要加上
defaultrouter
的相關設定:
defaultrouter="192.168.0.1"
若已經知道網卡是哪一種,那麼要設定網路的話直接改
conf/rc.conf
會比較方便。
該檔設定語法與 FreeBSD 標準的 rc.conf(5) 是一致的。
舉個例子,若知道該機器網卡是用 re(4),那麼就在
conf/rc.conf
做下列類似設定:
defaultrouter="192.168.0.1" ifconfig_re0="inet 192.168.0.2 netmask 255.255.255.0"
打造 mfsBSD image 檔的過程相當簡單。
首先是把 FreeBSD 安裝光碟或者安裝用的 ISO image
檔丟到 /cdrom
。
為維持所有例子的一致,本文假設都是用 FreeBSD 7.0-RELEASE
ISO。 而把 ISO image 檔掛載到 /cdrom
目錄相當簡單,
就是用 mdconfig(8):
#
mdconfig -a -t vnode -u 10 -f 7.0-RELEASE-amd64-disc1.iso
#
mount_cd9660 /dev/md10 /cdrom
接著就開始打造可開機的 mfsBSD image:
#
make BASE=/cdrom/7.0-RELEASE
上述的 make
指令要在
mfsBSD 的最上層目錄執行,比方說 ~/mfsbsd-1.0-beta1/
。
現在 mfsBSD image 已經備妥, 要上傳到遠端機器的救急系統或者預先安裝的 Linux® distribution。 要完成這工作最適合的工具就是 scp:
#
scp disk.img root@192.168.0.2:.
為了能順利啟動 mfsBSD image,
要把檔案放在欲安裝機器的第一顆(可開機)硬碟上。
假設例子的第一顆開機硬碟代號為 sda
,
那麼作法就類似下面這樣:
#
dd if=/root/disk.img of=/dev/sda bs=1m
若一切順利,該 image 檔現在應該會在第一顆硬碟的
MBR 磁區並可以開始進行重開機了。 可以用
ping(8) 工具來檢測該機器開機完畢與否。 一旦 ping 到之後,
就可以透過 ssh(1) 連進去,並且用 root
以及剛設定的密碼登入。
本文及其他文件,可由此下載: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。
若有 FreeBSD 方面疑問,請先閱讀
FreeBSD 相關文件,如不能解決的話,再洽詢
<questions@FreeBSD.org>。
關於本文件的問題,請洽詢
<doc@FreeBSD.org>。