やり方はたくさんあるんだと思うんだけど、いつもやってるゆとりな方法。
いつもここを見ているので、まとめておきたくなった。
http://kernhack.hatenablog.com/entry/2014/12/25/001336
make localmodconfig
make menuconfig
ccache make -j4 bzImage
ccache make -j4 modules
localmodconfig
で今ロードしているモジュールをビルドするように自動でconfigureしてくれる。つまり、今の環境のカーネルを入れ替えても動作するようなビルドをしてくれる。「本当に」動作するかは普段の行いと、1日一万回感謝のカーネルビルドをしているか否かと、メンテナーへの崇拝と、宇宙線の影響に依存する。
menuconfig
でcursesベースのGUI風画面でビルドの設定ができる。あらかじめncurses-develをインストールしておくこと。ここでカーネルのバージョン名を変えたりとかができる。"-mykernel"とかをつけておくと、grubが見やすくなる。先頭に"-"を付けておくとカッコいい。
bzImage
でカーネル本体のビルド、modules
は文字通りカーネルモジュールのビルド。nproc
などでCPUコア数を把握してから並列数を決めよう。ccache
を忘れると気付いたら出社時間になっているかもしれないから注意だ。
インストールは
make modules_install
make install
grub2-mkconfig -o /boot/grub2/grub.cfg