Linux Kernelのビルドしてみる
はじめに
ただなんとなく、やってみたかったからやる。
カーネルビルドする。
参考にさせて頂いたサイト様
第526回 Ubuntuで最新のカーネルをお手軽にビルドする方法:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社
Ubuntu 18.04で最新カーネルをビルドして使う | 今日のひとこと
準備
必要なパッケージのインストール
sudo apt install -y kernel-package fakeroot libncurses5-dev
それとこれ
sudo apt build-dep linux
2つ目のはソースパッケージをビルドするときに必要なパッケージをインストールするコマンドらしい。
このコマンドを実行するためには、source.listのdeb-srcをコメント解除する必要がある。
source.listのコメント解除したらapt updateやらないと更新されないぞ、ハマった。。
ソースの取得
好きなカーネルのソースコードをとってくる。
カーネルの好みは無いから適当に今のstable(5.7.12)を持ってくることにした。
ダウンロードして解凍
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.7.12.tar.xz tar xvf linux-5.7.12.tar.xz cd linux-5.7.12/
コンフィグのコピー
今の環境のコンフィグファイルをコピーしてくる。
cp /boot/config-`uname -r` ./.config
差分オプションを設定する。
Enterでデフォルト値が設定される。
make oldconfig
ビルド
CONCURRENCY_LEVELは要らないような話を聞いたので設定しないでやってみることにする。
それ以外は参考サイトのそのまま実行する。
CPUとメモリリソースがハナクソなので-j 1でやる。
寝てる間にビルド走らせるから時間はかかっていい。
sudo make-kpkg -j 1 --rootcmd fakeroot --initrd --append_to_version=-codelibs --revision=001 kernel_image kernel_headers
ビルドが完了するとひとつ上のディレクトリに.debファイルが作成される。
こいつをインストールすると最新のカーネルに置き換えられる。
(今回はビルドしてみたかっただけなので、インストールはしない(作業PCだし不安定になったら困るので))