2016年5月2日月曜日

今使っているUbuntuのカーネルのコンパイル

ある人が作ったドライバのパッチを当てたくてUbuntuのカーネルをコンパイルする必要があり、今使っているカーネルのカンタンなコンパイル方法ないかと探したらありました。

Ubuntu wikiのBuildYourOwnKernel

手順書けば、


# cd /usr/src
# apt-get source linux-image-$(uname -r)
# apt-get build-dep linux-image-$(uname -r)
# cd linux-4.4.0 (Ubuntu16.04.LTSの場合)
# fakeroot debian/rules clean
# fakeroot debian/rules binary-headers binary-generic
# cd ..
# apt-get -f install
# dpkg -i linux-*.deb


最後の行は、他に/usr/srcの下に*.debファイルがあるようならファイル名指定で。
Ubuntu16.04LTSでやったところ、以下の6つのdebファイルができました。


linux-headers-4.4.0-21-generic_4.4.0-21.37_amd64.deb
linux-headers-4.4.0-21_4.4.0-21.37_all.deb
linux-image-4.4.0-21-generic_4.4.0-21.37_amd64.deb
linux-image-extra-4.4.0-21-generic_4.4.0-21.37_amd64.deb
linux-tools-4.4.0-21-generic_4.4.0-21.37_amd64.deb
linux-cloud-tools-4.4.0-21-generic_4.4.0-21.37_amd64.deb


apt-get -f installの行は手順にありませんが、最後の2つのdebファイルlinux-tools-...debとlinux-cloud-tools-...debのインストールがコケたため追記しました。

Ubuntu16.04LTS、Ubuntu14.04.4LTSで確認済みです(2016/05/02現在)。