筆者について
FreeBSDを通じてOSSにささかな貢献を。
- 日本xrdpユーザ会発起人
- xrdp developer
- FreeBSD developer
OSS活動をご支援いただける方を募集しています
2013-04-03 kern/172952
■ FreeBSD 9.1-RELEASE ZFS root 環境で reboot すると All buffers synced. で固まる?
表題の通り。stable ブランチで既に修正されているようなのでカーネルだけ 9-STABLE に上げてみたら発生しなくなった。
リモートから reboot して帰ってこないと結構困るので助かった。
特にいじってない GENERIC カーネルなのでサクッとソースツリーを更新して、ツールチェーン作って、カーネル作って、新しいカーネルで再起動。
# svnup -h svn0.us-west.freebsd.org -b base/stable/9 -l /usr/src # cd /usr/src # make kernel-toolchain # make buildkernel # make installkernel
installkernel のところでなんか言われた。
ERROR: Required auditdistd user is missing, see /usr/src/UPDATING.
UPDATING の通りに mergemaster -p して auditdistd のユーザを作ると installkernel できた。
20121218: With the addition of auditdistd(8), a new auditdistd user is now depended on during installworld. "mergemaster -p" can be used to add the user prior to installworld, as documented in the handbook.
新しいカーネルをインストールしたので reboot するも、この時点ではまだ古いカーネルで起動していたのでまた All buffers synced. の後で固まる。ここまでは想定通り。新しいカーネルで起動したことを確認して、もう1回 reboot して固まらないことを確認する!今度は固まらなかった。めでたしめでたし。
$ uname -v FreeBSD 9.1-STABLE #3: Thu Apr 4 02:45:29 JST 2013 root@icepick.vmeta.jp:/usr/obj/usr/src/sys/GENERIC $ sudo shutdown -r now
■ IPFIREWALL_FORWARD のオプションが廃止されデフォルトでオンになっていた
カーネルネタをもうひとつ。All buffers synced. の対応のために /usr/src/UPDATING を読んでいて発見しました。
20121102: The IPFIREWALL_FORWARD kernel option has been removed. Its functionality now turned on by default.
ipfw の forward ルールを使用するためには IPFIREWALL_FORWARD をオンにしてカーネルを再構築する必要がありましたが、9.1-RELEASE の1ヶ月ほど前にデフォルトでオンになるように変更されたみたいです。
地味といえば地味ですがうれしい変更です。この仕様変更により FreeBSD で動作するネットワーク利用者認証ゲートウェイシステム Opengate などを導入するにあたって、カーネルの再構築が不要になり GENERIC カーネルがそのまま使えるようになります。
squid で透過型プロキシを構築するときなどでも、GENERIC カーネルがそのまま使えます。
カーネルだけを 9-STABLE に上げたものの、カーネルと world のバージョンがずれていると nvidia-driver とか virtualbox-ose-kmod とかがビルドできなかったり、いろいろ不都合があるので結局 world も STABLE にしてしまいました。