|
次のページ
前のページ
目次へ
2. 起動時引数の概要
この節ではカーネルに対して起動時引数を渡すことのできるソフトの例をいくつか 紹介します。また、どのように引数が処理されるのか、起動時引数にはどのよ うな制限があるのか、引数がどのようにしてしかるべきデバイスに渡されるの かも説明します。 起動時引数では空白を使ってはならず、空白は各々の引数を分けるため だけに使う点を肝に命じておいてください。ある一つの引数に値のリス トを渡す時には、値はコンマで区切ります。くどいようですが、空白では ありません。以下の例を見てください。
ether=9,0x300,0xd0000,0xd4000,eth0 root=/dev/hda1 *正しい* ether = 9, 0x300, 0xd0000, 0xd4000, eth0 root = /dev/hda1 *誤り* 一度 Linux カーネルが起動し、動作していれば、起動時に指定されたコマン
ドライン引数は単に
2.1 LILO (LInux LOader)Werner Almesberger による LILO (LInux LOader)プログラムは、もっともよく 使われている起動プログラムです。このプログラムは様々なカーネルを起動 でき、設定情報をテキストファイルで持っています。ほとんどの Linux の配布は、デフォルトの起動プログラムとして LILO を使っています。LILO は DOS、 OS/2、Linux、FreeBSD などを起動できます。ぜんぜん難しい点はなく、 非常に柔軟です。 よく見る設定は、コンピュータを起動した直後に LILO が 「LILO:」と
いうプロンプトを出して停止するものです。その後数秒間、利用者からの
入力を待ち、入力が無ければデフォルト指定されたシステムを起動します。
よく使われているシステムラベルとしては、
LILO: linux root=/dev/hda1 LILO には良くできた文書がついています。また、ここで説明する起動時引数
に関しては、引数を LILO の設定ファイルに追加するための
2.2 LoadLin他によく使われる Linux 起動プログラムとしては、`LoadLin' があります。 これは DOS のプログラムであり、必要な資源がそろっているものと仮定して、DOS プ ロンプトから(起動時引数つきで) Linux カーネルを起動します。これは、 DOS から Linux を起動したい人にとって便利です。 また、LoadLin はメーカーが提供している DOS ドライバを使って特定の状
態に設定しなければならないハード
ウェアを持っているときにも便利です。よくある例としては、DOS ドライバ
を使って特定のレジスターをいじらないと SB 互換にならない 「SoundBlaster
互換」カードがあります。DOS で起動してメーカー提供のドライバを使用
し、その後で この他にも、Linux を起動するプログラムがいくつかあります。全てのプログ
ラムを見たいなら、お近くの Linux 関連 FTP ミラーサイト に行って、
2.3 The ``rdev'' ユーティリティカーネル起動時引数には、カーネルイメージ自身の中にデフォルト値を持っている
ものがあります。ほとんどのシステムには rdev は普通は swapdev, ramsize, vidmode, rootflags のような別名を 持っています。これら 5 つは rdev で変更できる設定です。つまり swap デ バイス、RAM disk 引数、デフォルトのビデオモード、root デバイスの読み出 し専用/読み書き両用の設定を変更できます。
2.4 カーネルによる引数の分類方法ほとんどの起動時引数は次のような形式です: name[=value_1][,value_2]...[,value_11] ここで、"name" は、その後ろに続く値が(もしあれば)カーネルのどの部分に 適用されるかを表す一意なキーワードです。 起動時引数を複数与えるには、上の形式の引数を単に空白で区切って 与えます。付け加えておきますと、11 個の制限は本当にある点に注意してく ださい。というのも、現在のコードはコンマで区切られた引数を 1 キーワー ドあたり 11 個しか取り扱えないからです。(しかし、ほとんどないような複 雑な状況の場合には、同じキーワードをもう一度使うことによって、もう 11 個まで引数を追加できます。ただし、setup 関数がこれを許すと仮定してですが)。 もうひとつ付け加えると、カーネルはこのリストを最大 10 個までの コンマで区切られた整数型引数と、残りの文字列という形に分割 してしまいます。したがって、ドライバが 11 番目の引数を 自分で文字列から整数に変換しない限り、11 個の整数を引数として 渡すことはできません。 分類は大部分 それから、カーネルは setup 関数(
2.5 環境変数の設定"foo=bar" という形式を持っており、前述のように setup 関数に受け付けら
れなかった引数は、設定すべき環境変数と解釈されます。
例えば、
2.6 `init' プログラムへの引数の引渡しカーネルに受け入れられず、環境変数とも解釈されなかった引数は全てプロセ
ス 1 に引き渡されます。プロセス 1 は普通
次のページ 前のページ 目次へ |
[ |