ちょっと古いPCに
Linuxをインストールしたときの記録

IBM製(まだ連想集団じゃない)のThinkPad R30にLinux(CentOS)を入れようとしたときの記録。
かなり手こずりました(^_^;)


まずは普通にCDからインストールしてみる。

理研とかのミラーサイトからCentOSのISOイメージファイルをダウンロードしておく。
DVDが読めるドライブなんてもちろん付いているわけがないので、CDイメージ(6枚分)をダウンロード。

# 本当なら、DVDイメージをダウンロードして、別のLinux機にマウントして、ftpとかNFSとかでネットワークインストール
  する方法(外部のサーバからのネットワークインストールより遥かに早い)とかもあるらしいけど、面倒なので却下。

ダウンロードしたら、念のためmd5sumのチェックをしておいた方がいいかも。
ISOファイルと同じところにある"md5sum.txt"をダウンロードし、 Windowsの場合は、このソフトを使ってチェックできます。
Linux/UNIXの場合は、ISOファイルと同じ場所に"md5sum.txt"を置き、以下のコマンドを実行すればチェックできます。
$ md5sum --check md5sum.txt

ISOファイルをダウンロードしたら、CDに焼いてインストール開始。
順調にインストールが進んでいくかと思いきや、問題発生!!
インストールの途中の "running /sbin/loader"というところで止まったまま、先に進まなくなってしまうのです。

ドライブの故障かと思ったのですが、CDからWindows2000をインストールすることは出来たので、
ドライブの問題ではないようです。

原因がさっぱり分からなかったので、別の方法でインストールを行うことにしました。


USBメモリからインストールしてみる。

このサイトの情報を参考にUSBメモリでブートして、その他のデータはネットワーク経由で取得するという方法を試してみる
ことにしました。
データサイズは、かなり小さい(8MBくらい)ので、用意するUSBメモリはどんなものでも大丈夫です(多分)。

USBをThinkPadに挿して、いざ起動してみました。
しかし、またもや問題発生!!
BIOSの起動デバイス選択メニューでUSBメモリが認識されていないのです。

…というわけでこの方法も無理でした。


最後の手段? PXEを使ったネットワークブート

CDでもダメ、USBでもダメ…
もう他に方法はないなとあきらめかけていたときに、PXEを使ったネットワークブートという方法があることを知りました。

この方法は、PCがネットワークブートに対応していなければ出来ません。
BIOSを見ればネットワークブートに対応しているかどうかわかります。(最近のPCはほとんど対応しているみたいですが)
幸いにも、このThinkPadはネットワークブートに対応していました。

# PCのBIOS画面のあたりで DHCP・・・・ という表示の出るPC(起動順番の設定によっては出ないこともあります)は
  多分ネットワークブート可能です。

このサイトの情報を参考に別のPC(Fedora7)にPXEブートをするための設定(DHCPサーバ, tftpサーバの設定など)
を行いました。

設定が完了し、ThinkPadを起動してみました。
今度はちゃんとブートローダーが起動し、PXEからCentOSのカーネルを読みに行こうとしてくれています。
今度こそうまくいっただろう

…と思いきやまたまたダメでした。
カーネルを読みにいってくれてはいるみたいなのですが、"Unable to locate configuration file"というメッセージが
表示され、止まってしまいます。

この方法もダメみたいです。(原因を突き止める気力も起きてきません)


もう一度CDでやってみる。(リベンジ)

このPCでは無理かもしれないと半分あきらめつつ、もう一度CDで試してみました。
ネットで調べていたら、こうすればうまくいくという情報が結構あったので、試してみることにしました。
いくつか見つけた情報を載せておきます。

  1. 接続されている機器(例えばPCIの拡張カードなど)があったら外してみる。
  2. 増設したメモリがあったら外してみる。
  3. ブート時に以下のオプションを指定してみる。
    • boot: linux text
    • boot: linux ide=nodma
    • boot: linux acpi=off noapic

このPCの場合、上の太字下線部分をやったらやっとインストールすることが出来ました。
しかし、ACPIを無効にしてインストールしたせいなのか、シャットダウンをしても電源断までされません。
ブートローダー(grub)のconfigファイルのカーネルの記述の部分にacpi=offという記載が入っているので、
ここをacpi=onにしてあげれば、電源断まで行われます。

# acpi=onにしたら、OSの起動が少し遅くなった気がします。


とりあえず、インストールがうまくいって一安心です(^_^;)
まさか、こんなに手こずるとは思いませんでした。
OSのセットアップ、各種サーバの設定については、「CentOSで自宅サーバ構築」を参考にさせてもらいました。


痛恨のtipo!!

一通りセットアップが終わってから、messegesファイルを見てみると、なんか変な記述が…
kernel: hdc: lost interrupt
何かと思って調べてみたら、"apic"というIntelのIOデバイスの割込コントローラが問題らしい。

さらに色々見ていたら、上のCDインストールのときに指定したオプションのスペルミスをしていたようだ。
本当なら、"noapic"としなければならないところを、"noacpi"とやってしまっていた!!(上の説明は修正済み)

# この設定を間違えていなければ、メッセージは表示されなかったかもしれない…

とりあえず、ブートローダー(grub)のconfigファイルのカーネルの記述の部分に"irqpoll"という記述を加えてあげれば
OKのようです。