人生は勉強ブログ

https://github.com/dooooooooinggggg

debファイルを用いてDebianのLinuxカーネルを簡単にアップデートする

概要

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は廃止されているため,別の方法を用いる.

手順

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

これで,Linuxカーネルのアップデートが完了する.

uname -a

参考