この節では、Debian のインストールに先立って必要となる ハードウェアの設定について見ていきます。 通常この作業では、システムのファームウェアの設定をチェックし、 場合によってはその設定を変更することになります。 「ファームウェア」は、ハードウェアが利用する中核的なソフトウェアで、 電源投入後のブートプロセスの間に起動される、最も重要なものです。 あなたが使うことになる Debian GNU/Linux の信頼性に影響を与えうる、 既知のハードウェアの諸問題についても、同様に取り扱っていく予定です。
BIOS はマシンのブートに必要となる基本的機能を提供し、 OS がハードウェアにアクセスできるようにするものです。 これからインストールしようとしているマシンでも、 恐らく BIOS を設定できるようなメニューがついていると思います。 インストールの前に、BIOS が正しく設定されているかどうかを 必ず 確認してください。 さもないとシステムが不意にクラッシュしたり、 Debian のインストールができなくなるかもしれません。
この節の残りの部分は、http://www.faqs.org/faqs/pc-hardware-faq/part1/ の 「CMOS 設定メニューを呼び出すにはどのキーを押せばよいのでしょうか?」 という質問への答から引用したものです。 BIOS (あるいは ``CMOS'') 設定メニューの呼び出し方は、 BIOS ソフトウェアの製造者によって異なります。
POST (Power on self test: 電源投入時の自己診断テスト) の表示中に Delete キーを押す
POST の表示中に、 Ctrl-Alt-Esc か、Delete キーを押す
POST の表示中に、Esc キーを押す
Ctrl-Alt-Delete の後、 Ctrl-Alt-Insert を押す
Ctrl-Alt-Esc または Ctrl-Alt-S または F1
他の BIOS ルーチンの起動に関する情報は、 http://www.tldp.org/HOWTO/mini/Hard-Disk-Upgrade/install.html にあります。
Intel x86 マシンの中には、 BIOS に CMOS 設定メニューを持たないものもあります。 これらでは、ソフトウェアの CMOS 設定プログラムを必要とします。 使っているマシン用のインストールディスクや診断ディスクを持っていない場合は、 シェアウェアやフリーウェアのプログラムを試してみてください。 ftp://ftp.simtel.net/pub/simtelnet/msdos/ を探してみましょう。
多くの BIOS 設定メニューでは、 システムを起動するデバイスを選択できるようになっています。 この設定は次のようにしましょう。 まず起動可能なオペレーティングシステムを A: (最初のフロッピーディスク) から探し、 続いて CD-ROM デバイスがあるならそこから (おそらく D: や E: でしょう)、 そして続いて C: (最初のハードディスク) から探すようにします。 この設定なら、フロッピーディスクからも CD-ROM からも起動できます。 Debian のインストールに最も良く用いられるのはこの両者ですから。
最近の SCSI コントローラを使っていて、そこに CD-ROM を接続している場合、 普通はその CD-ROM から起動できます。 そのために必要なのは、 コントローラの SCSI-BIOS で CD-ROM からのブートを有効にするだけです。
その他一般的なオプションは、USB ストレージ (USB メモリースティックや USB キーとも呼ばれます) から起動することです。 いくつかの BIOS は USB ストレージのディレクトリから直接起動できますが、 できないのもあります。USB デバイスから起動するために、 「Removable drive」 や 「USB-ZIP」 から起動するよう BIOS の設定をする必要があるかもしれません。
ここでは、起動順序の設定方法について少々詳しく説明します。 Linux のインストールが終ったら、起動の順序を元に戻し、 マシンがハードウェアから起動するようにしておきましょう。
コンピュータが起動するときに BIOS メニューに入るための キーを押してください。Delete キーのことが多いでしょうが、 正しいキーストロークはハードウェアの文書で確認してください。
BIOS 設定メニューから起動順序 (boot sequence) の設定項目を探してください。 場所は BIOS によって異なりますが、 対象はドライブをリストしているフィールドです。
IDE マシンでは C, A, CDROM または A, C, CDROM となっていることが 多いと思います。
C はハードディスクで、A はフロッピードライブです。
この起動順序を変更して、CD-ROM またはフロッピーが先に来るようにしてください。 通常は Page Up と Page Down キーを使うと、 指定できる選択肢が順に現れます。
変更を保存します。保存方法は画面の説明に従ってください。
コンピュータが起動するときに、 キーを押して SCSI 設定ユーティリティに入ってください。
SCSI 設定ユーティリティに入るのは、 システムの電源が入り、メモリチェックが終わり、 BIOS メニューの起動方法に関するメッセージが出た後になります。
キーストロークはユーティリティによって異なります。 Ctrl-F2 のことが 多いでしょうが、正しいキーストロークはハードウェアの文書で確認してください。
起動順序を変更する項目を探してください。
その項目で、CD ドライブの SCSI ID がリストの先頭に来るようにしてください。
変更を保存します。保存方法は画面の説明に従ってください。 F10 を押すことになる場合が多いと思います。
BIOS によっては CD の速度を自動的に設定できるものがあります (Award BIOS もそうです)。この設定は避けるべきで、 代わりに、一番遅い速度を選ぶようにしましょう。 これが原因で「シークに失敗しました (seek failed)」という エラーメッセージが、出ることがあります。
システムが extended メモリ (XMS) と expanded メモリ (EMS) の両方をサポートとしている場合は、 extended メモリをできるだけ多く、expanded メモリをできるだけ小さくしましょう。 Linux に必要なのは extended メモリで、 expanded メモリは使えません。
BIOS のウィルス警告機能の類は一切使用しないでください。 ウィルス防御用のボードや特別なハードウェアがある場合は、 Linux が動いている間は無効にするか、 さもなければ物理的に取り外してください。 これらは Linux と互換性がありません。 それに Linux にはファイルシステムの許可属性機能と カーネルのメモリ保護機能があるため、 ウィルスはほとんど存在しません。 [3]
あなたのマザーボードでは、恐らく shadow RAM (または BIOS キャッシュ) が使えるはずです。 この場合は ``Video BIOS Shadow'' とか ``C800-CBFF Shadow'' などの設定があるはずです。 shadow RAM は、すべて 無効 にしてください。 shadow RAM は、マザーボードやコントローラカード上の ROM への アクセスを高速にするために利用されるものですが、 Linux は起動した後にはこれらの ROM を使いません。 Linux には自前の、より高速な 32 ビットソフトウェアがあり、 これらを ROM 内部の 16 ビットプログラムの代わりに使うからです。 shadow RAM を無効にすると、 その一部を通常のメモリとしてプログラムから利用できます。 shadow RAM を有効にしたままだと、 Linux のハードウェアのアクセスが邪魔されてしまうかもしれません。
BIOS に ``15-16 MB Memory Hole'' というような設定があったら、 それは無効にしておいてください。 16MB 以上のメモリがある場合は、 Linux はこの領域にもメモリがあるものとして動作します。
Intel Endeavor マザーボードでは、 ``LFB'' とか ``Linear Frame Buffer'' とかいう設定がある、 というレポートを受けています。これの設定は ``Disabled'' と ``1 Megabyte'' から選べるようになっていますが、 設定は ``1 Megabyte'' にしてください。 無効 (Disabled) にすると、インストールフロッピーが正しく読み込まれず、 システムがクラッシュしてしまいます。 現時点では、このデバイスでなにが起こっているのか、 私たちは理解していません。わかっているのは、 単にこの設定では動き、そうでないと動かない、ということだけです。
マザーボードが Advanced Power Management (APM) に対応していたら、 これを有効にして、電源管理を APM が制御するようにしてください。 また doze, standby, suspend, nap, sleep の各モードは無効にし、 ハードディスクの power-down タイマーも無効にしてください。 Linux はこれらのモードの制御を自分で実行でき、 電源管理の仕事を BIOS よりもうまく行うことができます。 ただし、インストールフロッピーディスクにあるカーネルは APM を使いません。 Linux の APM ドライバを設定すると、 あるラップトップのシステムがクラッシュするという報告があったからです。 いったん Linux をインストールしたあとには、 独自に設定した Linux カーネルを構築できます。 この手順については、項8.5. 「新しいカーネルのコンパイル」 をご覧ください。
多くの人たちが、例えば 90 MHz の CPU を 100 MHz で動作させるようなことに挑戦しています。 これはうまくいく時もありますが、温度などの要因に敏感で、 実際にシステムに損傷を与えることもあります。 この文書の著者は、自分のシステムを 1 年間オーバークロックで動作させたことが ありますが、その後カーネルのコンパイル中に gcc が 予期しないシグナル (unexpected signal) で中断するようになってしまいました。 この問題は CPU の速度を普通に戻すことで解決しました。
メモリモジュールの不良 (あるいはデータを改変してしまうその他のハードウェア障害) が起きた場合、最初にやられるのは gcc コンパイラであることが 多いようです。 gcc は膨大なデータ構造を構築し、それを繰り返し使うからです。 このようなデータ構造にエラーが生じると、不正な命令が実行されてしまったり、 存在しないアドレスへのアクセスを発生させたりします。 この結果として、gcc が予期しないシグナルで中断するのです。
本当に優れたマザーボードでは、パリティ付き RAM がサポートされており、 システムがエラーを検出したときに教えてくれます。 ただ残念なことに、これらもエラーを訂正する機能までは持っていません。 したがって、一般的に RAM の不良を知らせた時点でクラッシュしてしまいます。 それでも、黙ってデータにエラーを混ぜ込んでしまうよりは、 知らせてくれた方がよいでしょう。 結局最も良いシステムは、パリティをサポートしたマザーボードと 本物のパリティ付きメモリモジュールの組合せ、ということになります。 項2.4.3. 「似非ないし仮想パリティ RAM」 をご覧ください。
本物のパリティ付き RAM を持っていて、マザーボードがそれに対応しているのなら、 メモリがパリティエラーを起こしたときの割り込み発生を BIOS 設定で 有効にしてください。
多くのシステムには ターボ スイッチがついており、 これを用いると CPU の速度が制御できます。高速の設定を選んでください。 ターボスイッチ (または CPU 速度のソフトウェア制御) を BIOS で設定できるようなら、 これは無効にして、常にシステムを高速モードで動作するようにしてください。 ある特定のシステムでは、Linux がハードウェアの自動検出をしている間に、 ターボスイッチのソフトウェア制御を間違って変更してしまう、 という報告も受けています。
Cyrix の CPU を使っているユーザは、 インストールの間はキャッシュを無効にしなければなりません。 キャッシュを有効にしておくとフロッピーディスクのエラーが起こります。 キャッシュが無効になっているとシステムが かなり 遅くなるので、 この場合インストールが終了したら、 忘れずに再びキャッシュを有効にしてください。
私たちは、 この問題が必ずしも Cyrix の CPU の欠陥によるものだとは考えていません。 もしかしたら、Linux 側で回避可能なことなのかもしれません。 この問題は引き続き調査していきます。 以下は技術的な好奇心をもつ人向け: おそらく 16 ビットから 32 ビットコードへ切り替わった後に、 キャッシュが不正になる問題ではないかと想像しています。
コンピュータに搭載している拡張カードの設定やジャンパを、 変更する必要もあるかもしれません。 カードによっては設定メニューを持つものもありますし、 ジャンパで設定するものもあります。 この文書ではすべてのハードウェアデバイスに対する 完全な情報を提供することはできませんが、 有益な情報を提供できればと望んでいます。
``mapped memory'' のついたカードの場合、そのメモリをマップする場所は、 0xA0000 - 0xFFFFF (640KB から 1MB の間) のどこかか、 あるいはシステムの RAM の全容量より 最低 1MB 上のアドレスにしなければなりません。
AT 形式のキーボードがなく、USB のものしかない場合、 BIOS 設定で legacy AT keyboard emulation を有効にする必要があります。 マザーボードのマニュアルを調べて、"Legacy keyboard emulation" とか "USB keyboard support" といった BIOS 設定に入ってください。 インストールシステムを起動するには、これを有効にしなければなりません。 これを有効にしてうまく行くようなら、そのまま先に進んでください。
このオプションがなければ、常に有効になっているのかもしれません。 その場合は先に進めます。 あるいは BIOS が、エミュレーションを一切サポートしていないのかもしれません (これは運が悪い場合)。
オプションがあって、それを有効にしても、 カーネルが起動してしばらくするとエミュレーションが効かなくなってしまう場合、 これも運が悪かったことになります。 "bf2.4" フレーバでは root フロッピーに USB モジュールが入っているので、 これを試してみることもできます。 フロッピーからインストールしている場合、 USB モジュールのロード前にキーボード入力が必要となります。 この場合は、ブートプロンプトに "keytimer" オプションを指定してください。
場合によっては、エミュレーションがハングした後、 数分経つとまた使えるようになることもあります。 ですのでしばらく待って、もう一度試してみてください。 この状態を治すには、Linux 自身の USB キーボードドライバをロードします。 これには "modconf" ("Configure Device Driver Modules" の段階) を用いて、 usb-uhci か usb-ohci モジュールをロードします。
Linux カーネルが、搭載されている RAM 容量の検出に失敗することがあります。 この場合の対処については 項5.2. 「ブートパラメータ」 をご覧ください。
[3] インストール終了後に、ブートセクタの保護は有効にしても構いません。 この機能は Linux のセキュリティを高めてくれはしませんが、 Windows での大惨事を防いでくれるかもしれません。 ブートマネージャが設定されたあとは、 マスタブートレコード (MBR) を変更する必要はありません。