購入

IMG_5261JPG
デジカメのバッテリーが完全にイカレたのでちょっと前に購入。 ソニーストアのクーポンがあったのでそちらで買おうかと思ったが、ヨドバシで現金で買った方が安いのな。 そして、買った次の日にさらなる値下げがあったのはヒミツ。


11行でFreeBSD 9.0-RELEASEをUSBメモリにインストールする。

9.0-RELEASEからは配布がtxz形式になったので連結する手間が省けた分だけ簡単に。なんかもうインストーラとか煩わしいだけな気がしてきた。

1)USBのストレージから起動できるPCがあること

2)既にFreeBSDがinstallされてるマシンがあること

3)ftp//ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/9.0-RELEASE/ あたりから base.txzと kernel.txzを持ってきてどこかに置いてあること(この例では /usr/freebsd-dist)

4)USBメモリをいれると/dev/da0に見えること

# dd if=/dev/zero of=/dev/da0 bs=1m count=1
# gpart create -s gpt da0
# gpart add -s 64K -t freebsd-boot da0
# gpart add -t freebsd-ufs -l freebsd da0
# gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 da0
# newfs /dev/da0p2
# mount /dev/da0p2 /mnt
# cd /mnt
# tar xvfzp /usr/freebsd-dist/base.txz
# tar xvfzp /usr/freebsd-dist/kernel.txz
# echo '/dev/da0p2 / ufs rw,noatime 0 0' > /mnt/etc/fstab


以上でおしまい。最低限のことしかしてないんで、もう少しこだわれますが、基本はこんな感じ。

以下駄文

FreeBSDのルータなんかほとんどHDDに書きにいかないようにできるわけで、ルータくらいならUSBメモリ onlyのPCでいいんじゃね?と思ったが、FreeBSDの8だと(少なくとも8.1-RELEASEまでは)起動したあとrootをマウントするところでこける。

これはUSBメモリが使えるようになるまで時間がかかるのに、その分待たないからで、カーネルにrootをマウントする前に数秒waitを入れるパッチをいれればいいというところまでは気がついた。

オイラはこれを sys/kern/vfs_mount.cの vfs_mountroot内の root_mount_prepare()の次あたりに

pause("mount root", 2*hz);

とか書いてカーネルを再構築して対処していたわけですが、最近改めて調べてみたら

/boot/loader.conf に kern.cam.boot_delay=10000

と書くというやり方があるそうな。(こちらのほうがカーネルの再構築がないからスマート)

9.0ではこのあたりが大きく書き直されていて、こんなことをしなくても良いようになったようです。

追記

動いているFreeBSDなんてネーヨ!って人は

ftp://ftp.jp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/9.0/

あたりから起動用のimgをゲットしてなんとかしてUSBメモリに書き込んだりCDに書き込んで起動させる。 でもってそれからブートしたのちLiveCDまたはshellにおとして、インストールしたいUSBメモリをつっこむ。

それが da0 または da1に見えるはずなので、適当に読み替えて頑張ってください。


青森にもgoogle street viewがきたらしい

実家が丸見えだw

オヤジの車も