Linuxの場合も同じ問題があります。すべてのLinuxシステムの起動プロセスの詳細な説明しかし、Solarisスタイルを強調してください。ホストの電源ボタンを押すことからログインプロンプトまで、Solarisの起動順序について詳しく説明する詳細なドキュメントを準備しています。
ここで正しい答えを1つの参照位置に統合して整理することができれば良いと思います。開始プロセスに関する注目すべき詳細を含めてください。すべての時点で文書が完成したら、ここに文書の詳細を投稿して質問のリンクを更新します。
ディスクからの起動、USBからの起動、ネットワーク上のrootfs(/)を持つディスクレスクライアントのネットワーク起動など、考えられるすべてのシナリオを考慮します。
答え1
3つの段階に分けてみます。ハードウェアに関する情報を見つけるファームウェア、ファームウェアが提供する情報を取得してドライバ、モジュールを見つけてロードするために使用するカーネル、最終的にすべてを案内するために必要なすべてのステップを含むオペレーティングシステムのステップ指定サービスを提供できる完全に動作するオペレーティングシステムとアプリケーションを作成する方法です。
1) ファームウェア
- x86/64: BIOS ロード、デバイス設定、起動デバイスの選択 (net/disk/cd/usb)
- SPARC:nvramはOpenBootをロードし、デバイスを設定し、起動デバイス(net/disk/cd/usb)を選択します。
2) カーネル
- 以下は、ブートメディアがnetの場合はSPARCでRARP / bootpを初期化するための予備ステップです。ブートデバイスが明示的にDHCPを使用するように設定されている場合(boot net:dhcpなど)、SPARCのDHCPの予備ステップです。 x86/64側には、PXEというプロセスであるDHCPを使用するための予備ステップもあります。 RARP/bootp は PXE 用のオプションではありません。 SPARC メソッドと x86_64 メソッドの両方が IP アドレスを設定し、ネットワークのコアとメディアの場所に関する情報を取得するために使用されます。
- カーネルはブートメディア(net/disk/cd/usb)からロードされます。
3) オペレーティングシステム
- カーネルロード。この段階では、基本が確立されます。ブートカーネルは、ローカルファイルシステム自体をマウントするのに十分な情報があるまで、ブートアーカイブを使用して個々のファイルをロードし、ファイルアクセス操作は適切なドライバによって処理されます。
- SMFは、カーネルがオペレーティングシステムを初期サービスマイルストーンで起動したときに機能します。これは通常マルチユーザーサーバーのマイルストーンですが、シングルユーザーモードで起動する場合は、シングルユーザーのマイルストーンにすることができます。オペレーティングシステムの初期化のこの部分は、すべてのサービスをロードします。必須サーバーが正常に稼働できるようにします。
- 初期段階が達成されると、SMF機能によって追加(オプション)サービスが開始されます
svc.startd
。起動プロセスの「アプリケーション層」と考えればいいのです。ここで、SSH、Apache、Weblogic、Sendmail、または使用中の他のアプリケーションが起動します。これは、前の箇条書きのように、カーネルではなく管理者が必要と考えるサービスです。
これは必要なほど詳細ではないかもしれませんが、始めるのに良い基礎になります。 Oracleや他の企業には、ブートプロセスのさまざまな部分を非常に詳しく扱うオンラインマニュアルがあります。良いスタートになるかもしれません第7章SPARCおよびx86ベースの起動、Google で「solaris boot order」をすばやく検索すると、以前のバージョンの Solaris と最新バージョンの起動順序を比較するドキュメントが表示されます。
答え2
以下はx86の起動順序の説明です。
- 開いている
- BIOSはハードウェアの自己テスト/初期化を実行します。
- これにより、ユーザーはプロセスを中断してBIOS設定を変更したり、起動するデバイスを選択したりできます。
- 起動デバイスがNETの場合は、Tim Kennedyの詳細な回答を参照してください。
- 起動デバイスがDISKまたはUSBの場合、MBRがロードされ、メディア上のブートローダの最初のステップが実行されます。代替ブートローダを使用できるLinuxとは異なり、これは常にGRUBの最初のステップです。 GRUBのステップ1は、ステップ2がどこにあるかを知って実行します。
- 起動デバイスがCD / DVDメディアの場合は、GRUBステップ2を直接ロードします。
- 使用するmenu.lstを選択します。特にZFSでは、複数のブート環境で複数のメニューを使用できます。
- デフォルトまたは代替アイテムから選択できるブートメニューをユーザーに提供します。この段階で、ユーザーはカーネルに渡されたオプションを追加または変更するなど、アイテムを編集することもできます。 CLIもここで利用可能です。
- Grubはカーネルをロードし、カーネルに置き換えられます。
- そこで何が起こっているのかは、アーキテクチャ(SPARCまたはx86)に関係なく同じであり、すでにTimの答えで説明されています。
Solaris は、ZFS ブートをサポートするために拡張された GRUB バージョンを使用します。