概要
Debianのカーネルをアップデートする際に,debファイルを用いることで,aptを用いてインストールをシンプルに行うことができる. また,カーネルのパッケージをdebファイルとして保持できるため,ロールバックも容易になる.
環境
Debian 9 stretch
make-kpkg
以前のDebianでは,kernel-package
に含まれるmake-kpkg
というコマンドを用いてカーネルをビルドすることが一般的であった.自分はその時代のことは知らないが,少なくともDebian wheezy
まではmake-kpkg
を用いる方法が一般的だった.
kernel-package の古き良き時代 Linux ビルドシステムに適切な Debian パッケージをビルドする能力がなかった時代、Debian パッケージをビルドするのに推奨されていた方法は kernel-package パッケージに含まれる make-kpkg を使うやり方でした。
しかし,現在のDebianではkernel-package
は廃止されているため,別の方法を用いる.
手順
- The Linux Kernel Archivesなどからソースを入手する.
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.2.tar.xz # 任意の場所で任意のバージョンを取得 tar -Jxvf linux-5.2.tar.xz cd linux-5.2.tar.xz
- ビルドに必要なパッケージをインストールする.
sudo apt-get install build-essential libncurses5-dev gcc libssl-dev bc
- 現在のカーネルの設定をコピーする
cp /boot/config-4.9.0-9-amd64 .config # .configという名前で保存する.
- 変更を加えたい箇所があれば,変更する
make menuconfig
この設定画面では,vimのように,/
を用いた検索をすることができる.設定項目は膨大なため,自分が行いたい設定がどこにあるか通常は見つけにくいが,検索を用いることで簡単に見つけることができる.
- 実際にビルドをする
make deb-pkg
これでビルドが完了すると,../
にファイルができる.
最後に,これらをインストールし,再起動する.
sudo dpkg -i ../linux-*.deb
sudo reboot
uname -a