[ 前のページ ] [ 概要 ] [ 著作権表示 ] [ 目次 ] [ 次のページ ]

Debian GNU/Linux 2.2 のインストール (ARM)
章 6 インストーラのブート


この章では、まず初めに Debian のブートに関する一般的な情報について 説明した上で、個々のインストール方法についてそれぞれ節を設けて説明し、 最後にトラブルシューティングに関するアドバイスについて述べます。


6.1 ブートパラメータの引数

ブートパラメータは、周辺機器の正確な制御を保証するために、 一般的に用いられる Linux カーネルのパラメータです。 カーネルはたいてい周辺機器の情報を自動的に検出します。しかし、 場合によってカーネルには少々の補助が必要です。

ブートパラメータに関する完全な情報は、 Linux ブートプロンプト HOWTO にあります。この節では最も重要なパラメータの概略のみを扱います。

このシステムを初めてブートする場合は、デフォルトのブートパラメーター を試して (つまり、パラメーターになにも引数を設定しないで)、 正確に動作するかどうかを確認してください。 おそらくそれで問題はないでしょう。もしなにか問題があったら、 あとでリブートし、お使いのハードウェアに関する情報をシステムに 伝えるために必要になる、特別なパラメータを調べてください。

カーネルがブートする際そのプロセスの最初のほうで、 Memory: availablek/totalk available というメッセージが表示されるでしょう。 total は利用可能な全メモリー量をキロバイト単位で表しています。 もしこれが、実際に搭載している RAM の量と一致しなかったならば、 mem=ram というパラメータが必要でしょう。 ram のところには、実際に搭載しているメモリー量を、 キロバイト単位なら ``k''、メガバイト単位なら ``m'' を付加して当てはめます。 例えば mem=8192kmem=8m も 8MB の RAM を意味します。

お使いのモニタが白黒表示しかできないものでしたら、 ブート引数に mono を使ってください。 そうしなければ、インストールの際、標準でカラー表示が用いられます。

ブートの際にシリアルコンソールを使っているならば、 通常カーネルはこちらを自動検出します。 ただ、シリアルコンソール経由でブートしたいコンピュータに、 ビデオカード (フレームバッファ) とキーボードがあるならば、 カーネルに console=デバイス名 という引数を 渡す必要があるかもしれません。 デバイス名の箇所には、お使いになる シリアルデバイスを当てはめますが、 こちらは普通 ``ttyS0'' のようなものになるでしょう。

繰り返しますが、ブートパラメータに関する完全な情報は、 Linux ブートプロンプト HOWTO にあります。こちらにはマイナーなハードウェアに関する情報もあります。 また雑多な共通事項に関しては、ブートプロセスに関するトラブルシューティング, Section 6.6 にて説明します。


6.2 カーネルのスタートアップメッセージの解説

一連のブート作業が行われている間、 「〜が見つかりません can't find something」や、 「〜がありません something not present」、 「〜は初期化できません can't initialize something」、あるいは 「このリリースのドライバは、〜に依存しています this driver release depends on something」 といったたくさんのメッセージが表示されるかもしれません。 これらのメッセージのほとんどは、気にする必要のないものです。 というのも、これらのメッセージは、 インストーラのカーネルがさまざまな周辺機器に幅広く対応するように 構築されているために、表示されるものだからです。 明らかに、可能な限りあらゆる周辺機器を装備したようなコンピュータは 存在しません。そのためオペレーティングシステムは、 実際には搭載されていない周辺機器を探そうとしていくらか文句を言っているのです。 また、システムが短時間停止しているかに見えることもあるかもしれません。 このことは、実際にシステムに搭載されていないデバイスからの反応を、 カーネルが待っていることから起きることです。 もし、システムのブートに我慢できないほど時間がかかる場合は、 独自のカーネルを構築してください。(新しいカーネルのコンパイル, Section 8.4 をご覧ください。)


6.3 ハードディスクからのブート

場合によっては、既存のオペレーティングシステムからブートなさりたい かもしれません。 インストーラを他の方法を用いてブートすることは可能ですが、 基本システムはディスクからインストールしてください。


6.3.1 Linux パーティションからのインストール

ext2fs パーティション、あるいは Minix パーティションから Debian をインストールすることもできます。 こちらのインストール方法は、例えばすでにインストールされた Linux システムを Debian で完全に置き換える場合に適切です。

Debian のインストールのパーティションと、インストールのパーティションは、別にしなければならないことにご注意ください。 (すなわち、//usr/lib などそのすべてを別にしてください。)

既存の Linux パーティションからインストールする場合は、 以下の説明にしたがってください。

  1. 以下の一連のファイルを入手し、それらを Linux パーティションにある ディレクトリに置いてください。
  2. パーティションからインストールをする際、 他のブート方法のうち都合のよいものを用いることができます。 以下では、フロッピーでブートしていると仮定していますが、 もちろんどんなインストーラをどんな方法でブートしても構いません。
  3. ディスクイメージからフロッピーを作成する, Section 5.6.4で説明したように、Rescue Floppy を作成します。 また Driver Floppies が必要になることも覚えておいてください。
  4. Rescue Floppy をフロッピードライブに挿入して、 コンピュータをリブートしてください。
  5. 以下の節はとばして、インストーラのブート, 章 6をご覧ください。


6.4 CD-ROM からのインストール

もしブート可能な CD ドライブをお持ちで、お使いのアーキテクチャやシステムが CD-ROM からのブートをサポートしているなら、フロッピーはまったく必要ありません。

CD-ROMからブートできない場合でも、Debian の基本システムを CD-ROM からインストールすることは可能です。 単に他のインストール方法の一つを用いてブートしてください。 つまり、基本システムや追加パッケージをインストールするときに、 ``基本システムのインストール'', Section 7.12 の説明にしたがって、CD-ROM ドライブをインストールシステムとして選択すればよいのです。


6.5 TFTP からのブート

と TFTP サーバの二つのサーバを設定する必要があります。

簡易ファイル転送プロトコル Trivial File Transfer Protocol (TFTP) は、ブートイメージをクライアントに提供するために用いられます。 理論的には、これらのプロトコルが用意されていれば、 どんなプラットフォームのいかなるサーバでも利用できます。 この節の例では、SunOS 4.x、SunOS 5.x (別名 Solaris) と GNU/Linux 用のコマンドを紹介します。


6.5.1 BOOTP の設定

GNU/Linux から利用できる BOOTP サーバには、 CMU bootpd と ISC dhcpd の二つがあります。 これらはそれぞれ Debian GNU/Linux の bootp および dhcp パッケージに収録されています。

CMU bootpd を利用するには、まず最初に /etc/inetd.conf にある適切な行を (加えるなり) コメントから外すなりしなければなりません。 そのためには Debian GNU/Linux の場合、 update-inetd --enable bootps を実行してから、 /etc/init.d/inetd reload を実行すればよいでしょう。 その行は以下のようになっているはずです。

     bootps         dgram   udp     wait    root    /usr/sbin/bootpd        bootpd -
     i -t 120

次に /etc/bootptab ファイルを作成しなければなりません。 こちらは、古きよき BSD の printcap(5) および、 termcap(5)disktab(5) ファイルと似た、 暗号形式になっています。 より詳しい情報については、bootptab(5) man ページをご覧ください。 なお、CMU bootpd を利用する場合、 クライアントのハードウェア (MAC) アドレスを調べておかなければなりません。

一方、ISC dhcpd を利用しての BOOTP の設定はとても簡単です。 というのも ISC dhcpd は、BOOTP クライアントを DHCP クライアントの特別な一例として適切に扱ってくれるからです。 ブートイメージのファイル名や、 クライアント対クライアントで NFS ルートのパスなどを オプションとして指定したい場合や、 ご自分のマシンに BOOTP や DHCP を使って 固定アドレスを割り当てたい場合を除けば、 クライアントのハードウェア (MAC) アドレスを調べる必要はまったくありません。 クライアントが所属するサブネットの設定ブロックに allow bootp 命令を追加した上で、 /etc/init.d/dhcpd restart として dhcpd を再起動するだけで結構です。


6.5.2 TFTP サーバを有効化する

TFTP サーバを用意するためには、 最初に tftpd が動作するようになっているかを確認してください。 普通 /etc/inetd.conf に以下の行を付け加えれば、 tftpd が動作するように設定できます。

     tftp dgram udp wait root /usr/etc/in.tftpd in.tftpd -l /boot

このファイルをご覧になって、in.tftpd の引数として使われているディレクトリを覚えておいてください。 後で必要になります。 in.tftpd のバージョンによっては、 -l オプションを用いることで、 システムログにすべてのリクエストを記録することができます。 こちらはブートエラーを診断するのに有益です。 もし /etc/inetd.conf に変更が必要だったならば、 このファイルに変更があったことを、 実行中の inetd のプロセスに伝える必要があります。 Debian マシンなら /etc/init.d/netbase reload (potato/2.2 以降のシステムでは /etc/init.d/inetd reload) を実行し、 また他のマシンでは、inetd のプロセス ID を探して、 kill -1 inetd のプロセス ID を実行してください。


6.5.3 TFTP イメージの設置

次に、必要な TFTP ブートイメージ tftpboot.imgシステムファイルインストールの解説, Section 5.4 で探し、それを tftpd ブートイメージディレクトリに置いてください。 一般的にこのディレクトリは、Debian では /boot に、 他のオペレーティングシステムでは /tftpboot になります。 そうしたら、このファイルから、 tftpd が特定のクライアントのブートに用いる ファイルにリンクを張らなければなりません。 残念ながら、そのファイル名のつけられ方に明確な標準というものはなく、 それは、TFTP クライアントによって異なってきます。

ただたいてい、TFTP クライアントが探すファイルは、 クライアントの IP アドレス (16 進数)-クライアントのアーキテクチャ となります。 クライアントの IP アドレス (16 進数) を算定するには、クライアントの IP アドレスの各バイトを取り出し、 それを 16 進数に変換してください。 お手元のマシンに bc プログラムがあれば、 このプログラムを使うこともできます。 この場合、最初に出力に 16 進数を使うよう設定するために obase=16 を発行して、それからクライアントの IP アドレスの各要素を一つずつ入力します。 クライアントのアーキテクチャに関しては、 いくつかの値を試してみてください。 一旦その名前が限定できたら、 ln /boot/tftpboot.img /boot/ファイルネーム のようにして、リンクを張ってください。

さあ、実際にお使いのシステムをブートする準備をしてください。

NOT YET WRITTEN


6.5.4 TFTP および NFS ルートを用いてインストールする

RAM ディスクに余分なものをロードせず、 新たに作成した nfs-root ファイルシステムからブートすることから、 こちらの方法は 「メモリの少ないシステムへの TFTP によるインストール」 とよく似ています こちらの方法では、tftpboot イメージへのシンボリックリンクを カーネルイメージ (例えば linux-a.out) へのシンボリックリンクに 置き換える必要があります。 ネットワーク越しのブートに関する本文書の著者の経験はもっぱら、 同じサーバにすべてのデーモンが動作している RARP/TFTP に基づいたものです。 (sparc ワークステーションは、tftp リクエストを 先に送っておいた rarp リクエストに応答するサーバに返します。) しかし、Linux は BOOTP プロトコルもサポートしていますが、 この文書の著者は、それをどのように設定するのか知りません :-((。 このマニュアルにそれが同様に付記される必要はあるでしょうか?


6.6 ブートプロセスに関するトラブルシューティング

もし何か問題があって、ブートプロセスの最中にカーネルがハングしたり、 実際に搭載してある周辺機器やドライブが正確に認識されなかった場合は、 まず最初に、ブートパラメータの引数, Section 6.1 の説明の通りにブートパラメーターを 確認してください。

またこのような問題は、増設したカードや周辺機器を取り外すことで 解決できることもよくあります。こちらも試してみて、 もう一度ブートしてみてください。

もしまだ何か問題がある場合は、バグレポートを提出してみてください。 これは、submit@bugs.debian.org 宛に電子メールで送ってください。 なお、その電子メールの先頭行には必ず以下の記述を付け加えてください。

     Package: boot-floppies
     Version: version

version のところに、お使いの boot-floppies パッケージのバージョンを必ず書き添えてください。 もしそのバージョンがご不明の場合は、そのフロッピーをダウンロード した日付を、どのセクション ( ``stable'' や ``frozen'' など) からダウンロードしたかを添えて、書いてください。

バグレポートには以下のような情報を添えてください。

     architecture: arm
     model:        お使いになっているハードウェアのモデル名
     memory:       RAM の量
     scsi:         もしあれば、SCSI ホストアダプタの名前
     cd-rom:       CD-ROM のモデル名とインターフェースの種類 (例えば ATAPI)
     network card: もしあれば、ネットワークインターフェースカードの名前
     pcmcia:       PCMCIA デバイスの詳細

問題の性質にもよりますが、インストール先のディスクが IDE ディスクなのか SCSI ディスクなのか、また、オーディオのような他の周辺機器、ディスク容量、 ビデオカードのモデル名などの情報を書き添えることも有益でしょう。

バグレポートの際には、カーネルがハングした際最後に表示される カーネルメッセージを添えて、何が問題なのかを説明してください。 また、問題が起きるまでにシステムに対して行ったことも記述してください


[ 前のページ ] [ 概要 ] [ 著作権表示 ] [ 目次 ] [ 次のページ ]
Debian GNU/Linux 2.2 のインストール (ARM)
version 2.2.25, 07 June, 2001
Bruce Perens
Sven Rudolph
Igor Grobman
James Treacy
Adam Di Carlo