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コマンドを実行する。
初期化が終わったら、設定ファイルを作成する。具体的には、/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 Squareフォーラム Linux Tipsカテゴリ別インデックス |
Linux & OSS 記事ランキング
本日
月間