Edited at

最新版のLinuxカーネルをコンパイルしてインストールする for CentOS7.3

More than 1 year has passed since last update.

細心のカーネルモジュールをインストールする方法です。

CentOS7.3に4.10.12のカーネルをソースからコンパイルしてインストールする方法をお伝えします。

カーネルのソースは以下から確認可能です。

http://www.kernel.org/


バージョン情報

製品
バージョン

ディストリビューション
CentOS7

インストールカーネル
4.10.12


事前準備

make menuconfigを実行するために、あらかじめ以下をインストールしておく

また、OpenSSLも状況によっては必要なのでインストールしておく

rpm -ivh ncurses-devel-5.9-13.20130511.el7.x86_64.rpm

OpenSSL(1.0.x)をインストールする(ソースからコンパイル)for CentOS 7.2


カーネルモジュールのインストール

cd /usr/local/src

wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.10.12.tar.xz
tar Jxvf linux-4.10.12.tar.xz
cd linux-4.10.12

既存のカーネルコンパイル情報をコピーする

cp /usr/src/kernels/3.10.0-514.el7.x86_64/.config .

カーネルパラメーターを変更したい場合は、menuconfigを実行しパラメーターを変更する

make mrproper

make menuconfig

インストール

make -j 4

make modules_install
make install

※昔は以下をやる必要があったが、いまは自動でやってくれる。

make bzImage

mkinitrd /boot/initramfs-4.10.12.img 4.10.12


確認と起動確認

/bootを確認する

[root@localhost boot]# ls

System.map
System.map-3.10.0-514.el7.x86_64
System.map-4.10.12
config-3.10.0-514.el7.x86_64
grub
grub2
initramfs-0-rescue-67735d0e0a0f4a088d2270b1605cc7c9.img
initramfs-3.10.0-514.el7.x86_64.img
initramfs-3.10.0-514.el7.x86_64kdump.img
initramfs-4.10.12.img
initrd-plymouth.img
symvers-3.10.0-514.el7.x86_64.gz
vmlinuz
vmlinuz-0-rescue-67735d0e0a0f4a088d2270b1605cc7c9
vmlinuz-3.10.0-514.el7.x86_64
vmlinuz-4.10.12

「vmlinuz-4.10.12」と「initramfs-4.10.12.img」が存在することを確認する。


自動起動するカーネルジュールを選択する。

現行の自動起動設定を確認する

grub2-editenv list

#出力結果↓
saved_entry=CentOS Linux (3.10-0-514.el7.x86_64) 7 (Core)

一度再起動して起動メニューを確認する

image

今回は、1番上のカーネルモジュールから起動したい。

一番上は、番号「0」になるため、パラメーターは0を投入

grub2-set-default 0

grub2-editenv list

#出力結果↓
saved_entry=0

尚、「/etc/grub2.cfg」ファイルを操作することはない。


参考

http://enakai00.hatenablog.com/entry/2015/11/27/152442