Debian でのカーネルコンパイルのメモ

久しぶりに自分でカーネルをコンパイルしてみました。その時のメモを残しておきます。

Debian Busterはカーネルバージョンが4.19のままです。今回は5.2.5にしてみました。

コンパイル環境の準備

sudo apt-get install build-essential libncurses-dev fakeroot dpkg-dev
sudo apt-get build-dep linux

カーネル・ソースの入手

The Linux Kernel Archives から最新のソースを入手します。

カーネルソースを展開します。例えば

xzcat linux-XXX.tar.xz | tar xvf -

コンパイルオプションの設定: config

/boot にあるconfig-X.XX.XX-hogeをカーネルソース・ディレクトリに.config という名前でコピーします。

cp /boot/config-X.XX.X-hoge-amd64 /path/to/linux-X.XX.X/.config

.config の編集

CONFIG_SYSTEM_TRUSTED_KEYSを空にしないとコンパイルできません。

CONFIG_SYSTEM_TRUSTED_KEYS=""

あとは以下のようにしておきました:

# CONFIG_MODULE_SIG is not set
# CONFIG_MODULE_SIG is not set
# CONFIG_DEBUG_INFO is not set

古いconfigを新しいカーネルで使うために内容を更新する必要があります。それには次を実行します:

make oldconfig 

コンパイル!

nice make -j n bindeb-pkg LOCALVERSION=-foo-bar

“-j”オプションは並列処理の数を指定します。

LOCALVERSIONも指定できます。

コンパイルはCore i7 8700 の場合、10分くらいで終わります。

インストール

linux-headers-X.XX.X_amd64.deb, linux-libc-dev-X.XX.X_amd64.deb をインストールしてから linux-X.XX.X_amd64.debをインストールします。

参考にしたページ

Debian/Ubuntuでカーネルの設定(.config)を変えて再構築(ビルド)する