久しぶりのカーネルのコンパイルをして怒られた話。
debian-uefi-certs.pem がない言われてとコンパイルが中断。
"Debian 管理者ハンドブック" の "8.10. カーネルのコンパイル" を参考に
以下はbullseyeの手順
$ sudo apt-get install build-essential libncurses-dev $ sudo apt-get build-dep linux
$ sudo apt-get install linux-source $ mkdir ~/kernel; cd ~/kernel $ cp /usr/src/linux-source-5.10.tar.xz . $ tar -xaf linux-source-5.10.tar.xz $ cp /boot/config-5.10.0-19-amd64 linux-source-5.10/.config
$ cd linux-source-5.10 $ make oldconfig
https://salsa.debian.org/kernel-team/linux/-/blob/master/debian/certs/debian-uefi-certs.pemから入手して配置する。
$ mkdir -p debian/certs/ $ cp ~/debian-uefi-certs.pem debian/certs/
$ make -j3 bindeb-pkg
bindeb-pkgはバイナリパッケージのみ
deb-pkg はソースパッケージも作る
$ ls -1 ../*.deb ../linux-headers-5.10.149_5.10.149-1_amd64.deb ../linux-image-5.10.149-dbg_5.10.149-1_amd64.deb ../linux-image-5.10.149_5.10.149-1_amd64.deb ../linux-libc-dev_5.10.149-1_amd64.deb
$ cd .. $ sudo dpkg -i linux-headers-5.10.149_5.10.149-1_amd64.deb $ sudo dpkg -i linux-image-5.10.149_5.10.149-1_amd64.deb $ sudo dpkg -i linux-libc-dev_5.10.149-1_amd64.deb
いちいちパッケージなんか要らない。ビルドもサクッと終わらせたいという人は
localmodconfig で現在のシステムで使用されているモジュールのみをビルド対象にして
$ make localmodconfig $ make -j3 $ sudo make modules_install $ sudo make install
というように、パッケージを作らない手もある。