Index: head/ja_JP.eucJP/books/handbook/boot/chapter.xml =================================================================== --- head/ja_JP.eucJP/books/handbook/boot/chapter.xml (revision 47902) +++ head/ja_JP.eucJP/books/handbook/boot/chapter.xml (revision 47903) @@ -1,1096 +1,1051 @@ - FreeBSD の起動のプロセス + &os; の起動のプロセス この章では 起動 ブートストラップ (bootstrap) 計算機を起動しオペレーティングシステムをロードするプロセスは、 ブートストラッププロセス、 もしくは単に 起動 と呼ばれます。 - FreeBSD の起動プロセスを使えば、 + &os; の起動プロセスを使えば、 システムをスタートするときに起きることをかなり柔軟にカスタマイズすることができます。 同じ計算機にインストールされた別のオペレーティングシステムを選択することもできますし、 同じオペレーティングシステムの違うバージョンを選択することも、 インストールされた別のカーネルを選択することさえできます。 - この章では、指定できる設定オプションと FreeBSD - の起動プロセスのカスタマイズ方法について詳しく述べます。 - この章では FreeBSD カーネルがスタートし、デバイスを検出し、 - &man.init.8; を起動するまでに起きることすべてを扱います。 - どの最中のことだかはっきりしていない人のために補足すると、 - テキストの色が明るい白から灰色に変わるまでに起きていることです。 + この章では、指定できる設定オプションついて詳しく説明します。 + &os; カーネルがスタートし、デバイスを検出し、 + &man.init.8; を起動するまでに起きることすべてを含む + &os; の起動プロセスのカスタマイズ方法について説明します。 + これは、起動メッセージのテキストの色が、 + 明るい白から灰色に変わるまでに起きています。 この章を読むと、以下のことが分かります。 - どのように FreeBSD のブートストラップシステムが構成され、 - そしてそれらが互いにどう関係しているのか + &os; + のブートストラップシステムの構成およびそれらが互いにどう関係しているのか - 起動プロセスを制御するために FreeBSD + 起動プロセスを制御するために &os; のブートストラップの各要素に付加できるオプション &man.device.hints.5; の基本的な記述方法 - x86 限定 - - この章では Intel x86 システム上で動作する FreeBSD + この章では Intel x86 システム上で動作する &os; の起動プロセスだけを扱います。 起動時の問題 計算機の電源を入れ、オペレーティングシステムをスタートさせるのには、 おもしろいジレンマがあります。定義により、 計算機は、オペレーティングシステムが起動するまでは、 ディスクからプログラムを動かすことも含めて、 - 何をどうすればよいかまったく知りません。では、 + 何をどうすればよいかまったく知りません。 計算機はオペレーティングシステムなしにディスクからプログラムを実行することができず、 オペレーティングシステムのプログラムがディスク上にあるのなら、 どうやってオペレーティングシステムを起動するのでしょうか? この問題はほらふき男爵の冒険 という本の中に書かれている問題ととてもよく似ています。 登場人物がマンホールの下に半分落っこちて、 靴紐 (ブートストラップ) をつかんで自分を引っぱり、持ち上げるのです。 計算機の黎明期には、ブートストラップ という用語でオペレーティングシステムをロードする機構のことを指していたのですが、 いまはこれを縮めて ブート (起動) と言います。 BIOS 基本入出力システム (Basic Input/Output System) BIOS x86 ハードウェアでは、基本入出力システム (Basic Input/Output System: BIOS) にオペレーティングシステムをロードする責任があります。 オペレーティングシステムをロードするために、 BIOS がハードディスク上のマスターブートレコード (Master Boot Record: MBR) を探します。 MBR はハードディスク上の特定の場所になければなりません。 BIOS には MBR をロードし起動するのに十分な知識があり、 オペレーティングシステムをロードするために必要な作業の残りは、 場合によっては BIOS の助けを得た上で MBR が実行できることを仮定しています。 マスターブートレコード (Master Boot Record: MBR) ブートマネージャ (Boot Manager) ブートローダ (Boot Loader) MBR 内部のコードは、 通常ブートマネージャと呼ばれます。 とりわけユーザとの対話がある場合にそう呼ばれます。 その場合は、通常もっと多くのブートマネージャのコードが、 ディスクの最初のトラック または OS のファイルシステム上におかれます (ブートマネージャはブートローダ と呼ばれることもありますが、 - FreeBSD はこの言葉を起動のもっと後の段階に対して使います)。 + &os; はこの言葉を起動のもっと後の段階に対して使います)。 よく使われるブートマネージャには、 boot0 (Boot Easy とも呼ばれる &os; 標準のブートマネージャ), Grub, GAGLILO 等があります (MBR 内に収まるのは boot0 だけです)。 ディスク上にインストールされているオペレーティングシステムが 1 つであれば、標準の PC MBR で十分です。 この MBR はディスク上の最初の起動可能な (アクティブな) スライスを探し、 そのスライスにあるコードを起動してオペレーティングシステムの残りをロードします。 デフォルトで &man.fdisk.8; がインストールする MBR は、このような MBR です。/boot/mbr を基にしています。 - ディスク上にオペレーティングシステムを複数インストールしているなら、 - 別のブートマネージャ - (複数のオペレーティングシステムの一覧を表示できて、 - 起動するオペレーティングシステムを選択できるようなもの) - をインストールするとよいでしょう。 - このようなブートマネージャの中から 2 つを次の節で説明します。 + ディスク上に複数のオペレーティングシステムが存在しているのなら、 + 複数のオペレーティングシステムの一覧を表示できて、 + 起動するオペレーティングシステムを選択できるような、 + 別のブートマネージャをインストールすることもできます。 + 次の節では 2 つのブートマネージャについて説明します。 - FreeBSD ブートストラップシステムの残りは 3 段階に分かれます。 + &os; のブートストラップシステムの残りは 3 段階に分かれます。 第 1 ステージは MBR によって起動されるもので、 MBR は計算機を特定の状態にするために必要なことだけ知っていて、 第 2 ステージを起動します。 第 2 ステージでは、第 3 ステージを起動する前に、 もうちょっとやることができます。 第 3 ステージでオペレーティングシステムのロード作業を完了します。 - 起動作業がこれらの 3 段階に分かれているのは、 + 起動作業が 3 段階に分かれているのは、 PC の規格がステージ 1 とステージ 2 で実行できるプログラムのサイズに制限を課しているからです。 これらの作業をつなぎ合わせることによって、 - FreeBSD はより柔軟なローダ (loader) を提供しているのです。 + &os; はより柔軟なローダ (loader) を提供しているのです。 カーネル (kernel) init その後カーネルが起動し、デバイスの検出と初期化を開始します。 そしてカーネルの起動が終わると、制御はユーザープロセスの &man.init.8; へ移されます。&man.init.8; はまずディスクが利用可能であることを確かめ、 ファイルシステムのマウント、 ネットワークで利用するネットワークカードのセットアップ、 - そして通常 FreeBSD システムで初期時に起動されるすべてのプロセスの起動、 + そして起動時に &os; システムで起動されるように設定されたプロセスの起動、 といったユーザーレベルでのリソース (資源) 設定を行ないます。 ブートマネージャと起動ステージ ブートマネージャ ブートマネージャ マスターブートレコード (MBR) MBR やブートマネージャのコードは起動プロセスの第 0 ステージと呼ばれることがあります。 - この節では前述の 2 つのブートマネージャ、 + この節では 2 つのブートマネージャ、 boot0LILO について説明します。 <application>boot0</application> ブートマネージャ - FreeBSD のインストーラや &man.boot0cfg.8; - がデフォルトでインストールする - MBR は、/boot/boot0 を基にしています - (boot0 は非常に単純なプログラムです。 - MBR にあるプログラムは、 - スライステーブルと末尾の識別子 0x55AA - があるため、446 - バイトの大きさでなければならないという制限があるためです)。 - ハードディスクに boot0 + &os; のインストーラや &man.boot0cfg.8; + がインストールする MBR は、 + /boot/boot0 を基にしています。 + boot0 のサイズと機能は、 + スライステーブルおよび MBR 末尾の識別子 0x55AA + のため、446 バイトの大きさに制限されます。もし、 + boot0 と複数のオペレーティングシステムをインストールした場合、 - 起動時に以下のような画面が出るでしょう。 + 起動時に以下のようなメッセージが表示されます。 + <filename>boot0</filename> のスクリーンショット - F1 DOS + F1 Win F2 FreeBSD -F3 Linux -F4 ?? -F5 Drive 1 Default: F2 他のオペレーティングシステム、特に &windows; は、 - 既存の MBR を自らの MBR で上書きしてしまうことで知られています。 + &os; の後にインストールを行うと、既存の MBR を上書きしてしまいます。 もしそうなってしまったら、 - もしくは既存の MBR を FreeBSD の MBR で置き換えたいのなら、 + もしくは既存の MBR を &os; の MBR で置き換えたいのなら、 次のコマンドを使ってください。 &prompt.root; fdisk -B -b /boot/boot0 device device は起動するデバイス名で、 たとえば 1 番目の IDE ディスクは ad0、 2 番目の IDE コントローラに接続されている 1 番目の IDE ディスクは ad2、1 番目の SCSI ディスクは da0 などとなります。 - MBR の設定をカスタマイズしたい場合は &man.boot0cfg.8; - を使ってください。 + MBR の設定をカスタマイズしたい場合は、&man.boot0cfg.8; + を参照してください。 LILO ブートマネージャ - このブートマネージャをインストールして FreeBSD - を起動するようにするには、まず Linux を起動して + このブートマネージャをインストールして &os; + を起動するようにするには、Linux を起動して /etc/lilo.conf - コンフィグレーションファイルに以下を追加してください。 + コンフィグレーションに以下を追加してください。 other=/dev/hdXY table=/dev/hdX loader=/boot/chain.b label=FreeBSD - 上記において、FreeBSD のプライマリパーティションとドライブを + &os; のプライマリパーティションとドライブを Linux の識別子を使って指定してください。 X を Linux のドライブ文字に、また Y を Linux のプライマリパーティション番号に置き換えてください。 - SCSI ドライブを使っているのであれば、 + SCSI ドライブに対しては、 /dev/hd を - /dev/sd - のように読み替えてください。 + /dev/sd に変えてください。 同じドライブ上に両方のオペレーティングシステムが置いてあるなら、 行は不要です。 - これで /sbin/lilo -v - を実行するとシステムに新しい変更が反映されます。 - 画面のメッセージを見て確認しておきましょう。 + 次に /sbin/lilo -v + を実行して、新しい変更を反映してください。 + 画面のメッセージを見て変更を確認してください。 起動ステージ 1 <filename>/boot/boot1</filename> と起動ステージ 2 <filename>/boot/boot2</filename> 概念上、第 1 ステージと第 2 ステージはハードディスクの同じ領域上の同一のプログラムの部分部分です。 スペースの制約のため 2 つに分割されていますが、 いつも一緒にインストールされます。 インストーラまたは bsdlabel - は、両者を 1 つにまとめたファイル - /boot/boot をコピーします (下記参照)。 + は、両者を 1 つにまとめた + /boot/boot をコピーします。 第 1 ステージと第 2 ステージは、ファイルシステムの外部、 起動スライスの最初のトラックに置かれ、 先頭が最初のセクタにきます。 boot0 またはその他のブートマネージャは、 起動プロセスを続けるために必要なプログラムがそこにあると想定しています。 使用されるセクタの数は、/boot/boot の大きさから簡単に分かります。 boot1 は 512 バイトの大きさでなければならないという制限があるので、 非常に単純なプログラムです。 このプログラムは boot2 を検索し、 - 実行するため、そのスライスの情報を保持する FreeBSD + 実行するため、そのスライスの情報を保持する &os; の BSD ラベル に関する最低限の情報だけを持っています。 boot2 はもう少し高機能です。 - これは FreeBSD のファイルシステム上でファイルを見つける能力を持ち、 + これは &os; のファイルシステム上でファイルを見つける機能を持ち、 実行するカーネルやローダを指定するための簡単なインタフェースを提供します。 - ローダ (loader) - はさらに高機能なもので、 - 使いやすく簡単な起動設定が行なえる手段を提供します。 - boot2 は通常それを起動します。 - 以前の boot2 には、 - カーネルを直接起動する機能しかありませんでした。 + boot2 により起動される + ローダ (loader) + はさらに高機能で、起動設定が行なえる手段を提供します。 <filename>boot2</filename> のスクリーンショット >> FreeBSD/i386 BOOT Default: 0:ad(0,a)/boot/loader boot: - もし仮にインストールされた boot1 と - boot2 を変更したいのであれば、 - &man.bsdlabel.8; を使ってください。 + &man.bsdlabel.8; を用いて、 + インストールされた boot1 と + boot2 を変更できます。 &prompt.root; bsdlabel -B diskslice diskslice は起動するディスクとスライスで、 たとえば最初の IDE ディスクの 1 番目のスライスは ad0s1 となります。 Dangerously Dedicated Mode - &man.bsdlabel.8; を使うとき、 - ad0 のようにディスク名だけを指定すると、 - スライスを持たない危険な専用ディスクを作成してしまいます。 - これはまず間違いなく、あなたがやりたいことではないでしょうから、 - 必ず Return キーを押す前に - &man.bsdlabel.8; コマンドを二重にチェックしてください。 + ad0 のようにディスク名だけを指定すると、 + &man.bsdlabel.8; は、スライスを持たない + 危険な専用ディスクを作成してしまいます。 + これはおそらく、あなたが望んでいることではないでしょうから、 + Return キーを押す前に、 + &man.bsdlabel.8; に与える diskslice + の部分を二重にチェックしてください。 起動ステージ 3 <filename>/boot/loader</filename> ブートローダ (boot-loader) ローダは三段階の起動プロセスの最終段階です。 ローダは通常、ファイルシステム上の /boot/loader として存在しています。 ローダは、 - よりさまざまなコマンド群をサポートした強力なインタプリタによって提供される簡易組み込みコマンド群を利用することで、 - ユーザが利用しやすい設定手段となるように設計されています。 + よりさまざまなコマンド群をサポートした強力なインタプリタによって提供される組み込みコマンド群を利用することで、 + インタラクティブな設定手段となるように設計されています。 ローダプログラムの処理の流れ ローダは初期化の際にコンソールとディスクの検出を行ない、 どのディスクから起動しているかを調べます。 そして必要な変数を設定してからインタプリタを起動し、 スクリプトからコマンドを送ったり手でコマンドを入力したりできます。 ローダ ローダの設定 ローダは次に /boot/loader.rc を読み込み、通常、変数の標準値を定義した /boot/defaults/loader.conf と、そのマシンにローカルな変数を定義した /boot/loader.conf を読み込みます。 loader.rc はそれらの変数にもとづき、 選択されたモジュールとカーネルをロードします。 ローダは最後に、標準設定で 10 秒のキー入力待ち時間を用意し、 入力がなければカーネルを起動します。 - 入力があった場合、簡易コマンド群が使えるプロンプトが表示され、 + 入力があった場合、コマンド群が使えるプロンプトが表示され、 ユーザは変数を調整したり、 すべてのモジュールをアンロードしたり、 モジュールをロードしたりすることができます。 その後、最終的な起動や再起動へ移行します。 ローダの組み込みコマンド もっともよく使われるローダのコマンドを以下に示します。 - 利用可能なコマンドをすべて知りたい場合、 + 利用可能なコマンドをすべて知りたい場合には、 &man.loader.8; を参照してください。 autoboot seconds seconds で与えられた時間内に入力がなければ、 カーネルの起動へと進みます。 カウントダウンを表示し、標準設定では 10 秒間です。 boot -options kernelname すぐにカーネルの起動へ進みます。 オプション、カーネル名が指定されている場合は、 それらが使われます。 unload コマンドを実行後、 カーネル名をコマンドラインから指定することができます。 unload を実行しないと、 一度読み込まれたカーネルが使われます。 boot-conf すべてのモジュールの設定を、 - 起動時と同じように変数にもとづいて自動的に行ないます。 - このコマンドは、まず unload を行なって、 - 変数—普通 kernel - など—を変更した場合にのみ有効に働きます。 + 起動時と同じように指定された変数 + (最も多いのは kernel) + にもとづいて自動的に行ないます。 + このコマンドは、変数を変更する前に、 + 最初に unload + を行なった場合にのみ有効に働きます。 help topic /boot/loader.help を読み込み、ヘルプメッセージを表示します。 - topic に - index が指定された場合、利用可能な - topic を表示します。 + topic に index が指定された場合、 + 利用可能な topic の一覧を表示します。 include filename 指定されたファイル名のファイルを処理します。 ローダはファイルを読み込み、行単位で解釈します。 エラーが発生した場合、 include コマンドの実行はその時点で停止します。 load -t type filename 指定されたファイル名のカーネル、 カーネルモジュール、あるいは type に指定された種類のファイルをロードします。 - ファイル名以降に指定された引数はファイルへと渡されます。 + filename + 以降に指定された引数はファイルへと渡されます。 ls -l path 指定された path にあるファイルを表示します。 path が指定されていなければ、ルートディレクトリを表示します。 が指定されていればファイルサイズも表示されます。 lsdev -v モジュールがロード可能なすべてのデバイスを表示します。 もし が指定されていれば、 より詳細な出力がされます。 lsmod -v ロード済みのモジュールを表示します。 が指定されていれば、 より詳細な内容が出力されます。 more filename LINES 行を表示するごとに停止しながら指定されたファイルを表示します。 reboot すぐにシステムを再起動します。 set variable set variable=value ローダの環境変数を設定します。 unload すべてのロード済みモジュールを削除します。 ローダの使用例 次にあげるのは、ローダの実践的な使用例です。 + シングルユーザモード + - 普段使っているカーネルをシングルユーザモードシングルユーザモードで起動します。 + 普段使っているカーネルをシングルユーザモードで起動します。 boot -s 普段使っているカーネルとモジュールをアンロードし、 古い (もしくは別の) カーネルをロードします。 unload load kernel.old kernel.GENERIC とすると、 - インストールディスクに入っていた - generic カーネルを指定することができます。 - また、直前にインストールされていたカーネル (たとえば、 - カーネルを自分で設定したり、 - アップグレードしたりした場合) を指定するには - kernel.oldkernel.old とします。 + インストール時のデフォルトカーネルを指定できます。 + また、システムをアップグレードしたり、 + もしくはカスタムカーネルを設定した場合に、 + 直前にインストールされていたカーネルは、 + kernel.oldkernel.old で指定できます。 - 普段のカーネルで使っているモジュールを - 指定したカーネルでロードする場合は、下のようにします。 + 普段のカーネルで使っているモジュールを指定したカーネルでロードする場合は、 + 次のようにします。 unload set kernel="kernel.old" boot-conf - カーネルの設定スクリプト (通常、 - カーネル起動時に設定される内容を自動化するスクリプト) - をロードします。 + カーネルの自動設定スクリプトをロードします。 load -t userconfig_script /boot/kernel.conf 起動時のスプラッシュスクリーン Joseph J. Barbish 寄稿: - スプラッシュスクリーンは、オリジナルのブートメッセージに比べ、 - ビジュアル的により魅力的な画面を提供します。 - この画面は、コンソールログインプロンプトまたは X - ディスプレイマネージャのログインプロンプトが出るまで表示されます。 + スプラッシュスクリーンは、 + これまでとは別の起動画面を表示します。 + スプラッシュスクリーンは、 + コマンドラインまたはグラフィカルなログインプロンプトが表示されるまで、 + 起動時の検出メッセージやサービスのスタートアップメッセージを隠します。 &os; には、2 つの基本環境があります。 ひとつは、レガシーなバーチャルコンソールコマンドライン環境です。 システムの起動が終わったら、 コンソールにログインプロンプトが表示されます。 - 2 つ目の環境は、X11 デスクトップのグラフィカル環境です。X11 と - GNOME, - KDE または - XFce のような - デスクトップ環境 - のどれかをインストールすると、startx - コマンドで X11 デスクトップが起動します。 + 2 つ目の環境は、Xorg + により提供されるグラフィカル環境です。 + Xorg の章では、 + グラフィカルディスプレイマネージャやグラフィカルログインマネージャのインストールおよび設定方法について説明しています。 - ユーザによっては、 - 伝統的なテキストベースのログインプロンプトより、 - X11 グラフィカルログインスクリーンが好まれます。 - &xorg; の XDM, - GNOME の - gdm および - KDE の - kdm のような - (そして Ports Collection からインストール可能な他の) - ディスプレイマネージャは、 - コンソールにログインプロンプトを表示するかわりに、 - グラフィカルなログインスクリーンを提供します。 - ログイン後、グラフィカルなデスクトップをユーザに提供します。 - - コマンドラインの環境では、 - スプラッシュスクリーンは、 - ブート時の検出結果のメッセージや、 - タスクのスタートアップメッセージを、 - ログインプロンプトが表示されるまで隠します。 - X11 の環境では、ユーザは、ビジュアル的によりきれいな - (µsoft; &windows; または、非 unix 型のシステム) - のスタートアップに似たような、スタートアップを経験します。 - スプラッシュスクリーン機能 スプラッシュスクリーン機能は、 256 色のビットマップ (.bmp), ZSoft PCX (.pcx) または - TheDraw (.bin) - ファイルに対応しています。 - さらに、標準の VGA アダプタで動かすには、 - スプラッシュイメージは 320x200 + TheDraw (.bin) 形式に対応しています。 + 標準の VGA アダプタで動かすには、 + スプラッシュイメージファイルは 320x200 ピクセル以下の解像度である必要があります。 (最大解像度 1024x768 ピクセルまでの) - もう少し大きなイメージを使いたい場合には、&os; に - VESA サポートを追加してください。 - 起動時に VESA モジュールを読み込むか、 - カーネルコンフィグレーションファイルに - VESA オプションを追加して、 - カスタムカーネルを構築 ( を参照) することで有効にできます。 - VESA のサポートにより、 + もう少し大きなイメージを使いたい場合には、 + システムの起動時に + VESA モジュールをロードしてください。 + カスタムカーネル + に対しては、VESA + カーネルコンフィグレーションオプションを追加してください。 + VESA のサポートをロードすることで、 フルスクリーンでスプラッシュスクリーンを表示できるようになります。 スプラッシュスクリーンは、起動プロセスの間、 画面に表示されますが、 キーボードから何かのキーを押すことで、 いつでもやめることができます。 スプラッシュスクリーンは、 - X11 の外でのデフォルトでもあります。 + スクリーンセーバのデフォルトでもあります。 一定期間使われないと、 - 画面がスプラッシュスクリーンに変わり、 - イメージの強さが、明るくから暗くなるように変化し、 - それが繰り返されます。 - このデフォルトのスプラッシュスクリーン - (スクリーンセーバ) の振る舞いは、 + スプラッシュスクリーンが表示され、 + イメージの輝度が、明るくから暗くなるように変化し、 + そのサイクルが繰り返されます。 + スプラッシュスクリーンセーバの設定は、 /etc/rc.confsaver= 行を追加することで変更できます。 + いくつかのビルトインのスクリーンセーバが用意されており、 + &man.splash.4; で説明されています。 saver= オプションは、 - いくつかのビルトインのスクリーンセーバが用意されていて、 - 選ぶことが出来ます。 - 完全な一覧は、&man.splash.4; マニュアルページで見ることができます。 - デフォルトのスクリーンセーバーは - warp と呼ばれるものです。 - /etc/rc.conf で指定する - saver= オプションは、 - は仮想コンソールにのみ 適用されるということに気をつけてください。 - X11 ディスプレイマネージャには影響しません。 + 仮想コンソールにのみ適用され、 + グラフィカルディスプレイマネージャには影響しません。 スプラッシュスクリーンを有効に設定していても、起動時には、 ブートオプションメニューや、 タイムウェイトカウントダウンプロンプトなどのブートローダメッセージは表示されます。 http://artwork.freebsdgr.org のギャラリから、 サンプルのスプラッシュスクリーンファイルをダウンロードできます。 sysutils/bsd-splash-changer port をインストールすると、 起動時にスプラッシュイメージのコレクションからランダムに一枚が選択されます。 スプラッシュスクリーン機能を有効にする - スプラッシュスクリーン (.bmp, - .pcx または .bin) - ファイルは、ルートパーティション、たとえば + スプラッシュスクリーン .bmp, + .pcx または .bin + イメージは、ルートパーティション、たとえば /boot - ディレクトリに置く必要があります。 + に置く必要があります。 デフォルトのブートディスプレイの解像度 - (256 色、320x200 ピクセル以下) の場合には、 + 256 色、320x200 ピクセル以下の場合には、 以下を含むように /boot/loader.conf を編集してください。 splash_bmp_load="YES" bitmap_load="YES" bitmap_name="/boot/splash.bmp" 1024x768 ピクセルまでの、より大きなビデオ解像度の場合には、 以下を含むように /boot/loader.conf を編集してください。 vesa_load="YES" splash_bmp_load="YES" bitmap_load="YES" bitmap_name="/boot/splash.bmp" 上の例では、スプラッシュスクリーンに /boot/splash.bmp を使うことを想定しています。 PCX ファイルを使う場合は、 以下を使ってください。 また、解像度によっては vesa_load="YES" 行を追加してください。 splash_pcx_load="YES" bitmap_load="YES" bitmap_name="/boot/splash.pcx" - バージョン 8.3 では、 - TheDraw - 形式によるアスキーアートを使うことができます。 + &os; 8.3 からは、TheDraw + 形式によるアスキーアートを使うことができるようになりました。 splash_txt="YES" bitmap_load="YES" bitmap_name="/boot/splash.bin" ファイル名は上記のような splash に限られているわけではありません。 - 先ほど紹介したファイル形式であれば、 + 対応している形式であれば、 splash_640x400.bmpbluewave.pcx といった、どのような名前でも構いません。 他に興味を持ちそうな loader.conf のオプションを以下で紹介します。 beastie_disable="YES" カウントダウンのプロンプトを除き、 ブートオプションメニューを表示しません。 ブートオプションメニューの画面は利用できませんが、 タイムウェイトカウントダウンプロンプトが表示されている時に、 オプションを選択することで対応するブートオプションを設定できます。 loader_logo="beastie" - このオプションは、 - これまでのリリースのようにカラーの beastie ロゴと共に、 - ブートオプションメニューの右側に表示されている単語 + このオプションは、カラーの beastie + ロゴと共にブートオプションメニューの右側に表示されている単語 (デフォルトでは &os;) を置き換えます。 より詳細な情報については、&man.splash.4;, - &man.loader.conf.5; および &man.vga.4; - マニュアルページをご覧ください。 + &man.loader.conf.5; および &man.vga.4; をご覧ください。 カーネル起動時の応答 カーネル (kernel) 起動時の応答 - カーネルがローダ (通常は) - かboot2 - (ローダを迂回して) によってロードされると、 - 起動フラグを調べます。 - もし起動フラグがあれば、それに応じて動作を調整します。 + カーネルがデフォルトの + ローダ + もしくはローダを迂回して boot2 + によって読み込まれると、起動フラグが調べられます。 + もし起動フラグがあれば、それに応じて動作が調整されます。 カーネル起動フラグ カーネル (kernel) 起動フラグ 良く使われる起動フラグは次のとおりです。 カーネル初期化中に、 ルートファイルシステムとしてマウントするデバイスを尋ねます。 CDROM から起動します。 起動時にカーネルコンフィグレーションを行なう UserConfig を実行します。 シングルユーザモードで起動します。 カーネル起動時により詳細な情報を表示します。 - 起動フラグはこの他にもあります。 - それらについては &man.boot.8; を参照してください。 + 上記以外の起動フラグの詳細については、 + &man.boot.8; を参照してください。 Device Hints TomRhodes寄稿: device.hints - 起動プロセスの間に &man.loader.8; は + システムの最初のスタートアップ時に、&man.loader.8; は &man.device.hints.5; を読み込みます。 このファイルにはカーネル起動の環境変数が格納されており、 これらの環境変数は device hints と呼ばれることがあります。device hints はデバイスを設定するためにデバイスドライバが使用します。 device hints は ステージ 3 - ブートローダ でも設定できます。変数は - set コマンドを用いて追加したり、 - unset コマンドを用いて削除できます。 - show コマンドを用いて一覧を見ることもできます。 - /boot/device.hints に設定されている変数は - このときに上書きすることができます。 - ローダで設定した device hints の効果は一時的なものであるため、 + ブートローダ プロンプトでも設定できます。変数は + set を用いて追加したり、 + unset を用いて削除できます。 + show を用いて一覧を見ることもできます。 + /boot/device.hints に設定されている変数は、 + 上書きすることもできます。 + ブートローダで設定した device hints の効果は一時的なものであるため、 次回起動するときには無効になります。 システムが起動すると、&man.kenv.1; - コマンドでカーネル環境変数をダンプすることができます。 + コマンドですべてのカーネル環境変数をダンプすることができます。 /boot/device.hints は 1 行につき一つの変数を設定でき、行頭の # はその行がコメントであることを示しています。 書式は次の通りです。 hint.driver.unit.keyword="value" ステージ 3 ブートローダ で設定するときの書式は次の通りです。 set hint.driver.unit.keyword=value - driver はデバイスドライバの名前、 + ここで、driver はデバイスドライバの名前、 unit はデバイスドライバのユニット番号、 keyword はヒントキーワードです。 キーワードは次の設定を指定します: at: デバイスがどのバスに接続されているか指定します。 port: 使用する I/O ポートの開始アドレスを指定します。 irq: 使用する IRQ を指定します。 drq: 使用する DMA チャネルを指定します。 maddr: 使用する物理メモリアドレスを指定します。 flags: デバイスに対してさまざまなフラグを設定します。 disabled: 1 が設定されていると、そのデバイスは無効になります。 デバイスドライバはこのリスト以外の変数を設定できるかもしれませんし、 - このリスト以外の変数を必要とするかもしれません。 - したがって、デバイスドライバのマニュアルを読むことをおすすめします。 + このリスト以外の変数を必要とするかもしれないので、 + ドライバのマニュアルを読むことをおすすめします。 より多くの情報を知りたければ、&man.device.hints.5;, - &man.kenv.1;, &man.loader.conf.5;, &man.loader.8; - などのマニュアルを参照してください。 + &man.kenv.1;, &man.loader.conf.5; および &man.loader.8; + を参照してください。 init: プロセス制御の初期化 init カーネルの起動が完了すると、&man.init.8; というユーザプロセスに制御が移されます。 これは /sbin/init、 もしくは loaderinit_path 変数で指定される場所にあります。 自動再起動 (automatic reboot)の動作 自動再起動では、 システム上で利用できるファイルシステムの一慣性を確認します。 もしそれに問題があって &man.fsck.8; - がその不一致を修復できなければ、管理者に直接対処させるため + が UFS ファイルシステムの不一致を修復できなければ、 + 管理者が問題を直接解決できるように、 &man.init.8; はシステムを シングルユーザモード へと移行させます。 シングルユーザモード シングルユーザモード コンソール (console) - このモードには、 - 自動再起動の処理中か、 - ユーザが起動時に オプションを指定した場合、 + このモードには、自動再起動の処理中か、 + ユーザが起動時に を指定した場合、 あるいは loaderboot_single 変数を設定することによって移行します。 - また、 - マルチユーザモードから - 再起動オプション () - や停止 (halt) オプション () なしで - &man.shutdown.8; を呼び出すとこのモードに移行します。 + マルチユーザモード + から または なしで + &man.shutdown.8; を呼び出すことでもこのモードに移行できます。 /etc/ttys でシステムコンソール consoleinsecure に設定されている場合、 システムはシングルユーザモードに移行する前に root のパスワードを入力するように求めます。 <filename>/etc/ttys</filename> の insecure コンソール # name getty type status comments # # If console is marked "insecure", then init will ask for the root password # when going to single-user mode. # # 訳) console に "insecure" という印をつけると、シングルユーザモードへ移行する # 際に init が root のパスワードを要求するようになります。 # console none unknown off insecure insecure コンソールとは、 - あなた自身、コンソールが物理的に安全でないと考えていて、 + コンソールが物理的に安全でないと考えられるため、 root - のパスワードを知る人だけがシングルユーザモードを使えるようにしたいという意味であり、 - コンソールを安全でない状態で使いたいという意味ではありません。 - そのため、安全性を求めるならば - secure でなく + のパスワードを知る人だけがシングルユーザモードを使えるという意味です。 + そのため、この安全性を求めるならば、 + デフォルトの secure でなく insecure を選んでください。 マルチユーザモード マルチユーザモード &man.init.8; がファイルシステムが正常であると判断するか、 ユーザがシングルユーザモードを終了すると、 + linkend="boot-singleuser">シングルユーザモード + でのコマンドを終了すると、 システムはマルチユーザモードへ移行し、 リソースの設定を始めます。 リソース設定 (rc) rc ファイル群 リソース設定システムはデフォルト設定を /etc/defaults/rc.conf から、 そのシステム独自の細かな設定を /etc/rc.conf から読み込みます。 そして /etc/fstab - に記述されるシステムファイルシステムをマウントし、 - ネットワークサービスの開始、 - さまざまなシステムデーモンの開始、 + に記述されるシステムファイルシステムをマウントします。 + その後、ネットワークサービス、 + さまざまなシステムデーモン、 そして最後に、ローカルにインストールされた package - の起動スクリプトの実行へと進みます。 + の起動スクリプトを実行します。 - リソース設定システムに関する参考資料は、&man.rc.8; にあります。 - これはスクリプトそのものを調べることと同じくらい優れたものです。 + リソース設定システムについてもっと知りたい場合には、 + &man.rc.8; を参照してください。また、 + スクリプトそのものを実行してみてください。 シャットダウン動作 shutdown &man.shutdown.8; を用いてシステムを意図的にシャットダウンした場合、 &man.init.8; は /etc/rc.shutdown というスクリプトの実行を試みます。 そして、すべてのプロセスへ TERM シグナルを送り、続いてうまく終了できなかったプロセスへ KILL シグナルを送ります。 - 電源管理機能を持ったシステムで稼働している FreeBSD - では shutdown -p now コマンドによって、 - 直ちに電源を落とすことができます。FreeBSD を再起動するには、 - shutdown -r now を実行するだけです。 + 電源管理機能を持ったシステムで稼働している &os; + では shutdown -p now によって、 + 直ちに電源を落とすことができます。&os; システムを再起動するには、 + shutdown -r now を実行してください。 &man.shutdown.8; を実行するには、 root であるか、operator グループのメンバでなければなりません。&man.halt.8; や - &man.reboot.8; コマンドを利用することもできますが、 - より多くの情報を知るために、それらと &man.shutdown.8; - のマニュアルページを参照してください。 + &man.reboot.8; を利用することもできます。 + より多くの情報を知るために、それらのマニュアルページや + &man.shutdown.8; を参照してください。 電源管理機能には &man.acpi.4; - がカーネルに組み込まれているか、 - モジュールが読み込まれていることが必要です。 + がモジュールとして読み込まれるか、 + カスタムカーネルにコンパイルされて静的に組み込まれている必要があります。