休日に合わせてカーネル再構築しようと情報収集していたんだが、いざカーネル再構築始めたらドハマリした。オリジナルカーネルがビルドできない、オリジナルカーネルがビルドできてもALTQが動作してないと表示される、カーネルの再構築自体が私の環境では2時間以上掛かる事もあり、それだけで休日が潰れた。並行作業として色々とやりたい事もあったんだがなぁ・・・
結果として思ったようなカーネル再構築は出来たのだが、素直にハンドブック通りに実行するのが確実だな。
https://www.freebsd.org/doc/ja_JP.eucJP/books/handbook/kernelconfig.html
まずはカーネルのコピー
私の場合はamd64のカーネルを使用しているので、sysの後のディレクトリはamd64になる。
cd /usr/src/sys/amd64/conf/
cp GENERIC MYKERNEL
カーネルの内容を確認し、必要ならば編集。
vi MYKERNEL
カーネルを変更した事が分かるよう「ident GENERIC」の部分を「ident MYKERNEL」に変更しておく。
私の場合はPFとALTQの設定を記入する事になる。
device pf
device pflog
device pfsync
options ALTQ
options ALTQ_CBQ
options ALTQ_CODEL
options ALTQ_RED
options ALTQ_RIO
options ALTQ_HFSC
options ALTQ_CDNR
options ALTQ_PRIQ
options ALTQ_FAIRQ
ここまで終わったら一旦終了。
カーネルビルド
cd /usr/src
make buildkernel KERNEL=MYKERNEL
make installkernel KERNEL=MYKERNEL
特にエラーもなく終了したらOSを再起動。
reboot
再起動後の確認
uname -a
pfctl -vf /etc/pf.conf
カーネル編集で「ident」の項目を「MYKERNEL」に変更しているはずなのに「GENERIC」と表示されているのが気になるが、PFの設定確認にて「No ALTQ support in kernel」の表示が消えているので、問題なくオリジナルカーネルが適用されていると分かる。
と言う事で、今回は終了する。