「カーネル2.4アップグレードガイド」
7 / 32
カーネルアップグレードに移ろう
繰り返すようであるが,カーネル2.4へのアップグレードに失敗すると起動しなくなったり,一部の機能が動作しなかったりなどの支障を来たすことがある。
そのような場合に備え,必要なファイルのバックアップを取っておいたり,緊急用の起動フロッピーディスク(ブートフロッピー)を作っておいて各自で対策を考えておいてほしい。
One Point!
前述したように,一部の機能のみが動作しない場合には,特定のプログラムがカーネル2.4に対応していないことが考えられる。その場合には,カーネルの問題ではなく,動作しないプログラムをアップデートすれば解決するだろう。また,一部の設定ファイルを変更すれば,対応できる場合もある。しかし,具体的にどのプログラムやどの設定ファイルを修正すべきなのかは,ディストリビューションによっても異なるし,設定されている環境(たとえばデバイスドライバなど)によっても違う。具体的に特定の機能が動作しなくなったのであれば,その機能を提供するプログラムをアップデートしてみたり,その機能を提供するプログラムのホームページに何らかの情報が掲載されていないか調べるのがよいだろう。その場合,gooや,Googleなどの検索サイトが役立つだろう。
カーネルを解凍して構築手順を整えよう
カーネルソースファイルを解凍して,インストールするための準備をしよう。
すでに説明した手順を追っていれば,カーネル2.4のソースファイルであるlinux-2.4.1.tar.gzが手元にあるはずだ。まずは,cdコマンドを使ってlinux-2.4.1.tar.gzを保存したディレクトリをカレントディレクトリとしよう。
$ cd linux-2.4.1.tar.gzをダウンロードしたディレクトリ名
次に,tarコマンドを使い,次のように操作する。
$ tar xzvf linux-2.4.1.tar.gz
注意
Linuxのカーネルのソースファイルは,通常,/usr/src/linuxディレクトリ以下に配置する。しかし,linux-2.4.1.tar.gzを展開する場合には,/usr/src/linuxディレクトリ直下に保存するのは避けたほうがよい。ここでの手順通りに行えば,/usr/srcディレクトリにカーネルファイルを置かない限りは,そのような結果にはならないはずである。/usr/src/linuxディレクトリ以下のファイルは,ほかのプログラムによって参照されて使われていることもあるため,カーネル2.4のソースファイルが上書きされると,後々現状のカーネル2.2環境へ戻ることもできなくなってしまう。
ここまでの作業が終わると,カレントディレクトリに「linux」というディレクトリができて,その中にカーネル2.4のソースファイルが解凍されているはずだ。そこで,cdコマンドを使い,展開されたlinuxディレクトリへ移動しよう。
$ cd linux
Makefileの変更
次に,linuxディレクトリにあるMakefileファイルをエディタで開き編集しよう。エディタは,viやmule(emacs)など,普段使っているものでかまわない。
Makefileファイルの70行目前後には,次のような行がある。
#exportINSTALL_PATH=/boot
この先頭の「#」(コメント)を削除して,次のように変更する(Fig.1)。
exportINSTALL_PATH=/boot
この作業を終えたら,ファイル保存をしてエディタを終了させよう。
One Point!
INSTALL_PATHは,カーネルをインストールするディレクトリを指定するものだ。本稿で扱う,Turbolinux Workstation 6.0,Red Hat Linux 6.2,Vine Linux 2.1などRedHat系のLinuxシステムでは,カーネルを/bootディレクトリに置くという決まりがあるため,この作業が必要となる。ディストリビューションによっては,/bootディレクトリではなく/(ルート)ディレクトリに置くものもある。その場合,Makefileファイルを変更する作業は不要だ。
Fig.1■Makefileファイルの変更点
mrproperで設定を標準状態にする
次にmakeコマンドにオプションmrproperを指定して実行しよう。
$ make mrproper
オプションmrproperは,カーネルの状態を標準に戻すための指定だ。以上で,カーネル2.4をインストールする準備が整った。
One Point!
make mrproperは,次に説明するカーネルの環境設定をデフォルト値に戻すための指示だ。よって厳密にいえば,カーネル2.4をはじめてインストールするときには必要ない。しかし念のため,make mrproperを実行しておくことを推奨する。なおmake mrproperを実行すると,カーネルの環境設定はすべて破棄される。よって,次に説明するmake config,make menuconfig,make xconfigなどで環境設定をしたあとにmake mrproperを実行すると,せっかく設定した内容が破棄されてしまうので注意したい。