Ubuntu 18.04で最新カーネルをビルドして使う

XPS 13でいろいろとデバイス上の問題が多発するので、ここは素直にカーネルのビルドにチャレンジする。昔はカーネルビルドは普通にやっていたけど、今はビルドしなくても特に問題が起こることもないし、平和な日々を送ってこれたが、XPSのせいで一変してしまった…。

というわけで、ビルド。ビルドの前に下準備が必要。この辺を参考にして、以下のものを入れておく。build-depをする前に/etc/apt/source.listは変更が必要。

$ sudo apt install kernel-package
$ sudo apt install git ccache fakeroot libncurses5-dev
$ sudo apt build-dep linux

準備ができたら、適当なディレクトリにカーネルのソースコードを持ってくる。www.kernel.orgを参照する。今回は5.3.1を入れてみる。

$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.3.1.tar.xz
$ tar Jxvf linux-5.3.1.tar.xz 
$ cd linux-5.3.1
$ cp /boot/config-`uname -r` .config
$ make oldconfig

make oldconfigをすると、差分のオプションを次々と聞かれる。Enterを押し続ければ、とりあえず、デフォルトで設定される。まぁ、ビルド後、うまくいかないものがあれば、make menuconfigして、変更すれば良いはず。

コア数が8の環境だと、CONCURRENCY_LEVELを+1にして、-jを2倍くらいにしておけば良いっぽい。(追記:ここによるとCONCURRENCY_LEVELは不要らしい)

$ sudo -s
# export CONCURRENCY_LEVEL=9
# make-kpkg -j 16 --rootcmd fakeroot --initrd --append_to_version=-codelibs --revision=001 kernel_image kernel_headers

–append_to_versionと–revisionは適当に設定する。あとは、しばらく待つ。速いマシンだと1時間くらいで終わるかも。

1階層上にdebパッケージができるので

# cd ..
# dpkg -i linux-headers-5.3.1-codelibs_001_amd64.deb linux-image-5.3.1-codelibs_001_amd64.deb 

という感じで、インストールして、あとはrebootして、カーネルが更新されているかをuname -rなどで確認すれば完了。

コメントを残す

メールアドレスが公開されることはありません。