kernel コンパイル

たまにしかやらないから手順を忘れます。

# cd /usr/src/linux
# make menuconfig

kernel をバージョンアップする場合は、既存の .config をコピーしてから make menuconfig する。

CONFIG_LOCALVERSION を設定する

俺ルールです。場所は “General setup” 直下です。うちの環境では -web1.20170406.01 みたいな値をセットしてます。そうすると、デフォルトの名前の後ろに追加されるので “kernel-4.9.6-gentoo-r1-web1.20170406.01” みたいな名前のカーネルになるので、例えば……

# ls /lib/modules
4.4.39-gentoo-web1.20170122.01  4.9.6-gentoo-r1-web1.20170205.01
4.4.39-gentoo-web1.20170122.04  4.9.6-gentoo-r1-web1.20170406.01
4.4.39-gentoo-web1.20170123.01

……こんな感じで並びます。

/root/ に config を保存する

設定を変更して <Exit> する前に <Save> を2回実行します。

  1. .config
  2. /root/kernel-4.9.6-gentoo-r1-web1.20170406.01.config

1回目は /usr/src/linux 下に、2回目はバックアップとしてkernel に付けた名前と同名で保存してます……趣味です。

# make -j7 && make modules_install
# mount /boot
# cp /usr/src/linux/arch/x86_64/boot/bzImage /boot/kernel-4.9.6-gentoo-r1-web1.20170406.01

ここでもkernel に付けた名前を使うようにしてます。

# grub-mkconfig -o /boot/grub/grub.cfg
# systemctl reboot

とか

# reboot

とかで再起動して、バージョンを確認します。

# uname -r
4.9.6-gentoo-r1-web1.20170406.01
  • wiki/linux/compile_kernel
  • 最終更新: 2019/02/17 15:59