図1 カーネル・イメージの内部構造。「ブート・コード」「セットアップ・ルーチン」「圧縮カーネル」の3つの部分で構成されます。
図1 カーネル・イメージの内部構造。「ブート・コード」「セットアップ・ルーチン」「圧縮カーネル」の3つの部分で構成されます。
[画像のクリックで拡大表示]

 コンピュータで実行可能な形式のカーネルを格納しているファイルです。

 IA-32(32ビットのx86またはその互換環境)用のカーネル・イメージは図1のような構造になっています。「ブート・コード」「セットアップ・ルーチン」「圧縮カーネル」という3パートで構成されます。

 ブート・コードは,フロッピ・ディスクからLinuxを起動するための専用プログラムです。通常は,ハード・ディスクに書き込まれたブート・ローダーを利用してカーネルを起動するため,このブート・コードはほとんど使用されません。

 セットアップ・ルーチンには,圧縮されたカーネルを展開するためのプログラムが格納されています。カーネルは,bzip2やgzipを用いて圧縮されているので,このセットアップ・ルーチンによる展開処理が必要になります。

 そして,圧縮カーネルは,その名の通り,bzip2やgzipを用いて圧縮されたカーネルです。

 カーネル・イメージはハード・ディスク上の/bootディレクトリに格納されています。「vmlinuz-〈バージョン番号〉」などのファイル名が付けられています。システム起動時に,ブート・ローダー(またはブート・コード)により/bootディレクトリからメモリー上に読み込まれます。読み込まれた後に,圧縮カーネルが展開され,カーネルの起動処理が開始します。