Tips

Linux カーネルの再構築 ~第1回~
2015.11.14

Linux カーネルの再構築 ~第1回~

<h1>カーネル再構築手順</h1>

<strong>
今回はCentOS6.6を使用して試しています。
カーネルのメジャーバージョンがそれほど変わらない 2.6系で確認しています。
rootユーザで操作しています。
</strong>

参考
http://qiita.com/zkangaroo/items/a3e1cd4b4d28a7c12e14
<h2>カーネル再構築に必要なファイルのインストール</h2>

1
# yum install ncurses-devel

<strong>
カーネルのソースダウンロード場所
http://vault.centos.org/6.6/os/Source/SPackages/
</strong>
<h2>カーネル本体のダウンロード</h2>

下記のコマンドでカーネルをダウンロードをします。

<h2>カーネルを解凍してコンパイル</h2>
下記のコマンドでダウンロードをしたファイルを解凍します。

1
rpm2cpio kernel-2.6.32-504.el6.src.rpm | cpio -id

解凍してできたファイル

1
2
   ↓これがカーネルのソースファイル
mv linux-2.6.32-504.el6.tar.bz2 /usr/src/kernel

回答したディレクトリに移動して、下記のようにして .config ファイルを作成します。

1
2
3
4
5
6
7
8
9
cd /usr/src/kernel
 
tar -xjvf linux-2.6.32-279.22.1.el6.tar.bz2
 
cd linux-2.6.32-279.22.1.el6
 
cp /boot/config-2.6.32-504.el6.i686 .config
 
make oldconfig

make oldconfig をして作成したファイル内の下記の部分を修正しないと make 時にエラーが出るようです。
下記の部分を make menuconfig コマンドを使用して修正します。

1
2
3
4
5
6
7
make menuconfig
[*] Enable loadable module support  --->
   [*]   Module signature verification (EXPERIMENTAL)
   [ ]   Module signature verification (EXPERIMENTAL)   //無効化
-*- Cryptographic API  --->
   [*]   In-kernel signature checker (EXPERIMENTAL) 
   [ ]   In-kernel signature checker (EXPERIMENTAL)     //無効化

カーネルコンパイルを始めます。

1
make

<h2>カーネルのインストール</h2>

以下の様なワーニングが表示されましたが、一応モジュールはインストールできているようです。

1
2
3
4
make modules_install
  INSTALL /lib/firmware/iwlwifi-3160-7.ucode
make[1]: warning:  Clock skew detected.  Your build may be incomplete.
  DEPMOD  2.6.32-watanabe

最後にカーネルに名前をつけてインストールをします。
以下の installkernel コマンドを使用すると、インストール作業に必要な設定などを行って保存してくれます。

1
2
3
4
5
6
installkernel 2.6.32-watanabe /usr/src/kernels/linux-2.6.32-504.el6/arch/x86/boot/bzImage /usr/src/kernels/linux-2.6.32-504.el6/System.map
stem.map
ERROR: modinfo: could not find module vmhgfs
ERROR: modinfo: could not find module vsock
ERROR: modinfo: could not find module vmci
ERROR: modinfo: could not find module vmxnet

新しいカーネルで起動すると、起動時にVM系のモジュールでエラーは出ていたが、一応起動には成功しました。
次回はカーネルのバージョンを 4.0.7(この記事作成時点での最新版)にして確認したいと思います。

 

Linux認定資格 LPICを取るなら・・

Linux資格 「LPIC Lv1」徹底解説 連載目次

Recent News

Recent Tips

Tag Search