debian-uefi-certs.pemが存在しない

久しぶりのカーネルのコンパイルをして怒られた話。
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

debian-uefi-certs.pem の取得

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 でモジュールを最小限に

いちいちパッケージなんか要らない。ビルドもサクッと終わらせたいという人は
localmodconfig で現在のシステムで使用されているモジュールのみをビルド対象にして

$ make localmodconfig
$ make -j3
$ sudo make modules_install
$ sudo make install

というように、パッケージを作らない手もある。


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-11-25 (金) 15:57:13