過去問ドリル

LinuCレベル2 システムの起動とLinuxカーネル 問22

システムの起動とLinuxカーネル/Linuxカーネルの構成要素

x86系のLinuxで使われるカーネルイメージの形式である、bzImageの説明として適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル2の出題範囲「システムの起動とLinuxカーネル」に対応。実際の試験問題ではありません)

正解:C

解説

bzImageは、圧縮したカーネル本体に展開用のコードを付けた、x86向けの起動可能なカーネルイメージです。名前のbzは「big zImage」の意味で、サイズ制限の厳しかった旧来のzImage形式より大きなカーネルを扱えるようにしたものです。圧縮方式はbzip2に限らず、gzip・xz・zstdなどをカーネルの設定で選べます。カーネルのビルドではmake bzImage(x86ではmake allにも含まれる)で生成され、/bootにはvmlinuz-バージョンという名前で置かれるのが一般的です。

選択肢ごとの解説

  • A誤り。bzはbzip2ではなく「big zImage」の略です。圧縮方式もgzipやxz、zstdなどから選べます。
  • B誤り。これはビルド時にソースツリー直下に生成されるvmlinux(非圧縮のELF形式のカーネル)の説明です。
  • C正しい。bzImageは自己展開コード付きの圧縮カーネルで、bzは「big zImage」を意味します。
  • D誤り。モジュールは/lib/modules/カーネルバージョン/以下に個別のファイルとして置かれます。bzImageはカーネル本体のイメージです。
LinuCレベル2の問題を演習モードで解く