カテゴリー: JP : 技術研究

以 USB 安裝 FreeBSD [by chen]

FreeBSD:: 以 USB 安裝 FreeBSD
by thinker

—-

USB 容易取得

目前 FreeBSD 6.0 只提供對 1.44″ 軟碟和 CD 兮開機片,來裝 FreeBSD。不過, 1.44″ 兮磁片已經真少郎佇用,如 CD 開機片又無法多次使用,只是製造垃圾而已。USB 是一種方便的兮方法,USB disk 比 floppy 較簡單取得。

利用 FreeBSD CD 開機片

咱要用 USB 來安裝 FreeBSD,首先要做 USB 兮開機磁碟。但是 FreeBSD distribution 目前只提供, 1.44″ floppy 和 CD 開機片。咱只好改造 FreeBSD 兮開機片,改成可以放佇 USB disk。floopy 被分成三片,因為 kernel 兮 size 太大,無法擠入去一片 floppy 內,所以將 kernel 分割成三部分。若是用 floppy 兮開機片來改造,咱就要重新組合出 kernel。為著減少麻煩,咱是 CD 開機片來改造。

download CD 開機片

CD 開機片兮 image 放佇 FTP 兮 releases/i386/ISO-IMAGES/ 目錄下面。咱以 freebsd.nctu.edu.tw 兮 6.0 開機片為例,就放佇 ftp://freebsd.csie.nctu.edu.tw/pub/releases/i386/ISO-IMAGES/6.0/ 下面兮 6.0-RELEASE-i386-bootonly.iso 這個檔案。將之傳轉來,以 root 權限

mdconfig -a -t vnode -f 6.0-RELEASE-i386-bootonly.iso

將之當成 memory disk 使用 (mdconfig(8))。並將之以 cd9660 兮 type mount 起來;

mount -t cd9660 md0 mount_point_1/

假使 memory disk 是 md0,將之 mount 在 mount_point_1 這個目錄。

製作 USB disk 兮 image

假使汝兮 USB disk 總共有 524288 個 sector (heads * sectors/track * tracks/cylinder),那麼

dd if=/dev/zero of=USB-IMAGE bs=512 count=524288

將之當成 memory disk md1

mdconfig -a -t vnode -f USB-IMAGE

並使用 disklabel 割成單一個磁碟

disklabel -w -B /dev/md1 # -B 將 bootstrap code 寫入開機磁區
# (stage 1, stage 2)
disklabel -e -A /dev/md1 # 留下第一個 cylinder 第一個 track
# 其餘空間都給 partition a

譬如;

# size offset fstype [fsize bsize bps/cpg]
a: 524272 16 4.2BSD 512 4096 26664
c: 524288 0 unused 0 0 # “raw” part, don’t edit

接落來,作成 BSD 兮 filesystem;

newfs /dev/md1a

將之

mount /dev/md1a mount_point_2/

mount 在 mount_point_2 目錄。

copy 開機片兮內容

將 CD image 兮內容,對 mount_point_1 copy 到 mount_point_2

cp -Rp mount_point_1/ mount_point_2/

umount

將 CD image 和 USB disk 兮 image 攏 umount

mdconfig -d -u md0
mdconfig -d -u md1
umount mount_point_1
umount mount_point_2

傳到 USB disk 上

用 dd 將 USB-IMAGE 寫入 USB disk

dd if=USB-IMAGE of=/dev/ad0 bs=512

完成

用 USB 開機,開始網路安裝吧!

http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/90

Continue reading