FreeBSD 9.1RC2 on ZFS

投稿日:

zfsなファイルシステムにFreeBSD 9.1RC2を入れたのでその記録。

手順は「Installing FreeBSD 9.0-RELEASE Root on ZFS using GPT」がベース。途中、ちょっと変えたので念のためすべてのメモを残しておく。

一応前提 (参考にしたページと違っているところ)。

  • HDD 1個、ada0として認識。これにzfsパーティション1つにしてインストール。
  • スワップ領域はパーティションではなくファイルで領域を確保する。

1. ブート

余っていた2GBのmicroSDカードをUSBのカードリーダに挿してPC接続。これに、”FreeBSD-9.1-RC2-amd64-memstick.img”を書き込んで、このSDカードから起動。

書き込みは、ChkFlshというフラッシュメモリをチェックしたりフォーマットしたりするツールを使用。他にもいろいろツールはあるはず。

2. インストーラ開始

9.0Rから採用されたbsdinstallでインストールを開始。途中のパーティションを設定するところで、”shell”を選択する。

3.パーティション作成

たぶん、一つ目の肝。今回はディスク1個なので、ミラーは組まない。最初のzpool createのところ、なぜか -f をつけないとエラーがでてだめだった(赤字のところ)。
# virtualbox上で同じことをしたら -f は無くても大丈夫だった。(2012/10/28)

# gpart create -s gpt ada0
# gpart add -s 64K -t freebsd-boot -l boot0 ada0
# gpart add -t freebsd-zfs -l disk0 ada0
# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0

# zpool create -f -o altroot=/mnt zroot /dev/gpt/disk0
# zfs create zroot/tmp
# chmod 1777 /mnt/tmp
# zfs create zroot/usr
# zfs create zroot/var
# zfs create zroot/home
# exit

exitと打つとインストーラに戻る。

4.インストール実行

いつも通りのインストールをする。コピーするファイルやらネットワークの設定やら、アカウント作成やら。

インストールが終わると、Shellを立ち上げるよう促されるけど、そこはexitですぐ抜ける。

5. Live CDオプションでrootログイン

後半の肝。次回のブート時にちゃんとzfsが見えるように設定する。

# echo 'zfs_enable="YES"' >> /mnt/etc/rc.conf
# echo 'zfs_load="YES"' >> /mnt/boot/loader.conf
# echo 'vfs.root.mountfrom="zfs:zroot"' >> /mnt/boot/loader.conf
# zfs unmount -a
# zpool export zroot
# zpool import -o cachefile=/tmp/zpool.cache -o altroot=/mnt zroot

# zfs set mountpoint=/ zroot
# cp /tmp/zpool.cache /mnt/boot/zfs/
# zfs unmount -a
# zpool set bootfs=zroot zroot
# zpool set cachefile='' zroot
# zfs set mountpoint=legacy zroot
# zfs set mountpoint=/tmp zroot/tmp
# zfs set mountpoint=/usr zroot/usr
# zfs set mountpoint=/var zroot/var
# zfs set mountpoint=/home zroot/home

最後のmountpointを設定するところはエラーが出るけど無視する。

6. 再起動してswapファイルを作る

無事再起動したらrootでログインしてswapファイルを作る。

# dd if=/dev/zero of=/swapfile bs=1m count=4096
# chmod 600 /swapfile
# echo 'swapfile="/swapfile"' >> /etc/rc.conf
# /etc/rc.d/addswap start

これで4GBのスワップ領域が有効になる。topコマンドあたりで確認可能。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です