This is an archive of past FreeBSD releases; it's part of the FreeBSD Documentation Archive.

ローダ(loader): 起動ステージ 3

5.3. ローダ(loader): 起動ステージ 3

ローダは三段階の起動プロセスの最終段階です. ローダは通常, ファイルシステム上の /boot/loader として存在しています.

Note: /boot/boot0, /boot/boot1, /boot/boot2 というファイルがありますが, これらは MBR, 起動セクタ, ディスクラベルの実際のコピーではありません.

ローダは, よりさまざまなコマンド群をサポートした 強力なインタープリタによって提供される簡易組み込みコマンド群を利用することで, ユーザが利用しやすい設定手段となるように設計されています.

5.3.1. ローダプログラムの処理の流れ

ローダは初期化の際にコンソールとディスクの検出を行ない, どのディスクから起動しているかを調べます. そして必要な変数を設定してからインタープリタを起動し, 簡易コマンドを解釈します.

ローダは次に /boot/loader.rc を読み込み, 通常, 変数の標準値を定義した /boot/defaults/loader.conf と, そのマシンにローカルな変数を定義した /boot/loader.conf を読み込みます. loader.rc はそれらの変数にもとづき, 選択されたモジュールとカーネルをロードします.

ローダは最後に, 標準設定で 10 秒のキー入力待ち時間を用意し, 入力がなければカーネルを起動します. 入力があった場合, 簡易コマンド群が使えるプロンプトが表示され, ユーザは変数を調整したり, すべてのモジュールをアンロードしたり, モジュールをロードしたりすることができます. その後, 最終的な起動や再起動へ移行します.

この処理に関するより技術的な説明は loader(8) にあります.

5.3.2. ローダの組み込みコマンド

簡易コマンド群は, 次のようなもので構成されています.

autoboot seconds

seconds で与えられた時間内に入力がなければ, カーネルの起動へと進みます. カウントダウンを表示し, 標準設定では 10 秒間です.

boot [-options] [kernelname]

すぐにカーネルの起動へ進みます. オプション, カーネル名が指定されている場合は, それらが使われます.

boot-conf

すべてのモジュールの設定を, 起動時と同じように変数にもとづいて自動的に行ないます. このコマンドは, まず unload を行なって, 変数--普通 kernel など--を変更した場合にのみ有効に働きます.

help [topic]

/boot/loader.help を読み込み, ヘルプメッセージを表示します. topicindex 指定された場合, 利用可能な topic を表示します.

include filename ...

指定されたファイル名のファイルを処理します. ローダはファイルを読み込み, 行単位で解釈します. エラーが発生した場合, include コマンドの実行はその時点で停止します.

load [-t type] filename

指定されたファイル名のカーネル, カーネルモジュール, あるいは type に指定された種類のファイルをロードします. ファイル名以降に指定された引数はファイルへと渡されます.

ls [-l] [path]

指定された path にあるファイルを表示します. path が指定されていなければ, ルートディレクトリを表示します. -l が指定されていればファイルサイズも表示されます.

lsdev [-v]

モジュールがロード可能なすべてのデバイスを表示します. もし -v が指定されていれば, より詳細な出力がされます.

lsmod [-v]

ロード済みのモジュールを表示します. -v が指定されていれば, より詳細な内容が出力されます.

more filename

LINES 単位でスクロールを停止しながら指定されたファイルを表示します.

reboot

すぐにシステムを再起動します.

set variable, set variable=value

ローダの環境変数を設定します.

unload

すべてのロード済みモジュールを削除します.

5.3.3. ローダの使用例

次にあげるのは, ローダの実践的な使用例です.