FreeBSD 11.0-RELEASEでzpoolをupgradeした後bootstrap codeが書けなかった件


先日リリースされた FreeBSD 11.0-RELEASE(-p1)にアップグレードしました。とはいってもそこは何時も通り freebsd-update upgrade かますだけなので割愛。

今回困ったのはそのあとのこと。普段は気にしないものの、メジャーアップグレードの時はzfsのstatusもちょっと気にするものです。
そしたら、久々にsupported features追加あるぞと仰る。おもむろにzpool upgradeかますわけですよ。そこまでは問題ない。
zfs rootな環境なので、次はbootstrap code書いとけよと親切に教えてくれるわけです。やはりその通りにしますよね。そしたらnot enough space言われるわけですよ。
嘘だろ?

(たぶんもう今後ないだろうけど)その時の対処のメモ。

参考: https://forums.freebsd.org/threads/57955/

では、bootstrap codeかけなかった、GPTパーティションを確認しましょう。
% gpart show
=> 34 419430333 vtbd0 GPT (200G)
34 128 1 freebsd-boot (64K)
162 8388608 2 freebsd-swap (4.0G)
8388770 411041597 3 freebsd-zfs (196G)

これ作った当時は確かまだインストーラーでzfs rootは指定できなかったので、自分でパーティション切ったはず。で64Kじゃ収まらなくなったらしい。
それより後にインストーラー使ってzfs root環境にしたマシンだと、bootパーティションは512Kになってるのでそれに倣う。
じゃぁどこからその容量捻り出すか。まぁswapしかないですよ。ほんのちょびっと減るのは我慢しましょう。

# swapoff -a
# gpart delete -i 1 vtbd0
# gpart delete -i 2 vtbd0
# gpart add -b 34 -s 512K -i 1 -t freebsd-boot -l gptboot0 vtbd0
# gpart add -b 1058 -i 2 -t freebsd-swap -l swap0 vtbd0
# gpart show
=> 34 419430333 vtbd0 GPT (200G)
34 1024 1 freebsd-boot (512K)
1058 8387712 2 freebsd-swap (4.0G)
8388770 411041597 3 freebsd-zfs (196G)
# swapon -a

swapoffするときにswapしてた容量分をメモリに戻せるようにメモリの空きを空けておくこと、削除するパーティションを間違えないこと。これさえ気を付ければ大丈夫。私もssh越しにドキドキしながらやりました。

しかし、なんで11.0-Rになって突然code容量がでかくなったんだろう。


コメントを残す

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