カーネル再構築 – コンパイルとインストール

11月 14, 2009

Linux LPIC編。(第1章 Linuxカーネル)
カーネル再構築の手順のメモ。

1.カーネルソースの用意
/usr/srcディレクトリ以下にカーネルソースのtarボールを配置して展開する

2.カーネルコンフィグを設定
通常のソースインストールだとここで./configureを実行してMakefileが作成される
ところだが、Linuxカーネルの場合は特別。

カーネルコンフィギュレーションのコマンドには以下の数種類がある。

make config CUIで質問に答えていく
make menuconfig CUIでメニューから選択していく
make xconfig GUIでX(KDE)で操作
make gconfig GUIでX(GNOME)で操作
※CUIならmake menuconfigが良いらしい。


3.カーネル及びカーネルモジュールのコンパイル
make
makeをターゲットなしで実行すると、上記両方が実行される。

4.カーネル及びカーネルモジュールのインストール
make modules-install
make install

make installで実行されること

・カーネルを/boot以下に、バージョンをファイル名に付加してコピーする
・初期RAMディスクが必要な場合は作成する
・ブートローダーの設定ファイルに新しいカーネル用のエントリを追加する


make installが実行出来ない場合別途手作業での作業が必要となるが、ここでは省略。

ポイントメモ・カーネルソースコードの場所は一般的には /usr/src/linux-バージョン、
 Red HatやCentOSでは/usr/src/kernelsディレクトリ以下。
 LPICでは/usr/src/linuxとしている。

・カーネルの設定は/usr/src/linux/.configファイルに記録される

make oldconfigで現在のコンフィグに新しい設定を反映する。
 カーネルのバージョンアップ時以外は利用しない。


makeの主要ターゲットもメモしておこう。

clean .config以外の不要なファイルを削除する
mrproper 
カーネルソースツリーを初期化する。
.configやバックアップファイルも含めて不要なファイルを削除する
distclean 上記に加えてpatchが作成したファイルも削除する
defconfig デフォルト値を設定した.configを作成する
all すべてのビルドを実施
modules 動的なモジュールをすべてビルドする
rpm カーネルビルド後にRPMパッケージを作成する
rpm-pkg ソースRPMパッケージを作成する
binrpm-pkg ビルド済みカーネルとモジュールのRPMパッケージを作成
deb-pkg ビルド済みカーネルとモジュールのDebianパッケージを作成


重要そうなのはclean、mrporper、distcleanの違いかな?
最後のパッケージ関連はこんなん試験に出る?と思ったが、新出題範囲の項目に
あったような、なかったような気がしたので、一応書いておく。

次回はパッチ適用について。

出典
Linux教科書LPICレベル2(翔泳社)


LPIC記事一覧
↓ ↓ ↓
LPIC-index

Linux記事一覧はこちらをどうぞ
↓ ↓ ↓
Linux-index


Categories: LPIC