インストール用にブートパーティションと暗号化パーティションをマウントします。
- 「/mnt」に暗号化パーティション「/dev/ada0p4」をマウントする
- ディレクトリ「/mnt/boot2」を作成する
- 「/mnt/boot2」にディレクトリ「boot」を作成する
- 「/mnt」に移動する
- シンボリックリンク「boot」に「boot2/boot」リンクする
- 「/mnt/boot2」にブートパーティションをマウントする
- ディレクトリ「boot」を「boot2」に作成する
- 「fstab」を「/tmp/bsdinstall_etc/」に作成する(bsdinstallが/etcにコピーします)
- ディレクトリ「boot2/boot/keys」を作成する
- 「boot2/boot/keys」に暗号鍵ファイル「ada0.key」を移動します
# mount /dev/ada0p4 /mnt
# mkdir /mnt/boot2
# cd /mnt
# ln -s boot2/boot boot
# mount /dev/ada0p2 /mnt/boot2
# mkdir /mnt/boot2/boot
エディタ等で「fstab」を作成する
# mkdir boot2/boot/keys
# mv boot2/ada0.key boot2/boot/keys/
"/tmp/bsdinstall_etc/fstab"
/dev/ada0p2 /boot2 ufs rw,noatime 1 1
/dev/ada0p4.eli / ufs rw,noatime 1 1
/dev/ada0p3.eli none swap sw 0 0
「exit」で抜けるとbsdinstallがインストールを継続します。
インストールが終了してネットワーク等の設定が終了したら、再起動する前にshellに入り、「/boot/loader.conf」を編集します。
- geom eliモジュールを読み込む
- ルートの場所を「/dev/ada0p4.eli」にする
- 暗号鍵ファイルの場所を「/boot/keys/ada0.key」にする
- メッセージバッファを4MBにする
"/boot/loader.conf"
geom_eli_load="yes"
vfs.root.mountfrom="ufs:/dev/ada0p4.eli"
geli_ada0p4_keyfile0_load="yes"
geli_ada0p4_keyfile0_type="ada0p4:geli_keyfile0"
geli_ada0p4_keyfile0_name="/boot/keys/ada0.key"
kern.msgbufsize="4194304"
以上の設定で、再起動するとブート途中でgeliがパスワードを問い合わせてくるので入力すると
システムが起動します。
その後、初期設定を行えば終了です。
ただ、portsのsamba 4.1でgaminを利用してファイルの更新検知を利用しようとすると、エラーが出てしまいVFSモジュールを読み込めずsambaが起動しません
とりあえず、VMで構築したsanbaでも再現するので、更新検知なしで使用することにしました。
最後にCrystalDiskMark 3.0.3の結果を貼っておきます。ディスクキャッシュが効いているようで読み込みはルート暗号化なしと同じような結果が出ています
-----------------------------------------------------------------------
CrystalDiskMark 3.0.3 Shizuku Edition x64 (C) 2007-2013 hiyohiyo
Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]
Sequential Read : 104.502 MB/s
Sequential Write : 69.696 MB/s
Random Read 512KB : 97.348 MB/s
Random Write 512KB : 62.622 MB/s
Random Read 4KB (QD=1) : 8.012 MB/s [ 1956.1 IOPS]
Random Write 4KB (QD=1) : 2.618 MB/s [ 639.0 IOPS]
Random Read 4KB (QD=32) : 8.774 MB/s [ 2142.0 IOPS]
Random Write 4KB (QD=32) : 2.670 MB/s [ 651.8 IOPS]
Test : 1000 MB [Y: 32.9% (1180.1/3589.7 GB)] (x3)
Date : 2014/10/03 6:50:09
OS : Windows 8.1 Pro [6.3 Build 9600] (x64)

こちらのページは typo などもなくとてもまともなもので、しかも日本語だったのでとても参考になりました。
ありがとうございました。
私もgeli on rootを試してみようと思って、参考資料を探していたら
古めの情報だったりして、困ったので記事にしてみました。
参考になったら幸いです。
なお、当初Journaled Softupdateで作成したのですが、
現状スナップショットが作成できず、
dumpでLオプションが使用できないので、
Softupdateで運用していますが、
4TBのHDDでスナップショット作成に
2〜3分かかります。
仮想マシンでZFSを試したら結構よさげで、
ZFSに移行する方法を模索中だったりします。
(新しいHDDを用意してコピーするのが手っ取り早そうなのですが…)
こんなblogですがよろしくお願いします。
同じく仮想マシンでテスト中ですが、結構よさそうな感じです。
zfs なのでもちろんスナップショットは瞬時に作成できます。
ご参考まで。