Linux Tips

Fedora Core 2でカーネルを再構築するには

北浦訓行
2004/7/1

 Fedora Core 2でカーネルを再構築する手順は、従来と異なっている。ここでは、USB接続のメモリカードリーダ/ライタを使うにはで必要になる「CONFIG_SCSI_MULTI_LUN」パラメータの設定を例に、Fedora Core 2のカーネル再構築手順を説明する。

注:カーネルの再構築に失敗するとシステムが起動しなくなる恐れがあるため、バックアップを取るなどの措置を行い、自己責任で行っていただきたい。

 最初に、カーネルの再構築を行うディレクトリに移動して、Makefileをバックアップする。

# cd /usr/src/linux-2.6.6-1.435/
# cp Makefile Makefile.org

 そして、Makefileの以下の2個所を修正する。Makefileを修正しておくと、修正前のカーネルと修正後のカーネルのどちらで起動するかをGRUBで選択できるようになる。そのため、システムが起動しなくなる危険性が低くなる。

EXTRAVERSION = -1.435custom
         ↓
EXTRAVERSION = -1.435-LUNs

#export  INSTALL_PATH=/boot
         ↓
export  INSTALL_PATH=/boot

 「EXTRAVERSION =」の行は修正しなくても問題ないのだが、どのような内容を修正したかを分かりやすくするために変更した。

 次に、再構築環境の初期化を行う。環境の初期化は、make mrproperコマンドを実行する。

# make mrproper

 初期化が終わったら、設定ファイルを作成する。具体的には、/usr/src/バージョン/configsディレクトリに、CPUタイプ別に用意されているデフォルトの設定ファイルを、.configというファイルにコピーする。

 Fedora Core 2の場合、以下のような設定ファイルが用意されている。例えば、i586はPentium、i686はPentium II以降のインテルCPU(Celeronを含む)を示している。また、smpはSMP構成のシステムのことだ。

# ls configs
kernel-2.6.6-i586-smp.config  kernel-2.6.6-ppc64iseries.config
kernel-2.6.6-i586.config      kernel-2.6.6-ppc8260.config
kernel-2.6.6-i686-smp.config  kernel-2.6.6-s390.config
kernel-2.6.6-i686.config      kernel-2.6.6-s390x.config
kernel-2.6.6-ia64.config      kernel-2.6.6-x86_64-smp.config
kernel-2.6.6-ppc.config       kernel-2.6.6-x86_64.config
kernel-2.6.6-ppc64.config

 Celeronを搭載したPCの場合、kernel-2.6.6-i686.configをコピーする。

# cp configs/kernel-2.6.6-i686.config .config

 次に、カーネルパラメータを設定する。よく使われるのは、make menuconfigやmake xconfig、make gconfigだろう。menuconfigは、コンソールやターミナルエミュレータ上で設定するときに使う。xconfigやgconfigは、X Window System上で設定を行うときに使う。xconfigはQtペース、gconfigはGTK+ベースなので、使用しているシステムに合ったものを使うといいだろう。

make gconfigの画面

make xconfigの画面(画像をクリックすると拡大表示します)

 設定が終わったら、以下のコマンドを実行してカーネルとモジュールのコンパイルを行う。

# make bzImage && make modules

 最後に、モジュールとカーネルのインストールを行う。カーネルのインストールは、installkernelコマンドを利用する。installkernelコマンドのオプションとして、カーネルバージョン(例では「2.6.6」)とMakefileの「EXTRAVERSION =」に指定した名前(例では「-1.435-LUNs」)を指定する。これにより、GRUBのメニューに新カーネルが追加される。

# make modules_install
# installkernel 2.6.6-1.435-LUNs arch/i386/boot/bzImage System.map

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間