細心のカーネルモジュールをインストールする方法です。
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)
今回は、1番上のカーネルモジュールから起動したい。
一番上は、番号「0」になるため、パラメーターは0を投入
grub2-set-default 0
grub2-editenv list
#出力結果↓
saved_entry=0
尚、「/etc/grub2.cfg」ファイルを操作することはない。