過去問ドリル

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

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

カーネルをビルドする際、カーネルイメージ(bzImage)自体をxz形式で圧縮させたい。.configで有効にする設定項目として適切なものはどれか。

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

正解:D

解説

bzImageは圧縮したカーネル本体に自己展開用のコードを付けた形式で、圧縮方式は.configの「Kernel compression mode」の選択肢(CONFIG_KERNEL_GZIP、CONFIG_KERNEL_XZ、CONFIG_KERNEL_ZSTD等)から1つを選びます。CONFIG_KERNEL_XZを選ぶと、カーネルイメージがxz形式で圧縮されます。xzは圧縮率が高いかわりに展開に時間がかかる傾向があります。名前にXZを含む設定項目はほかにもあり、それぞれ対象が異なる点に注意が必要です。

選択肢ごとの解説

  • A誤り。CONFIG_MODULE_COMPRESS_XZは、modules_installで配置するカーネルモジュール(.ko)をxzで圧縮する設定で、カーネルイメージ自体の圧縮方式ではありません。
  • B誤り。CONFIG_RD_XZは、xzで圧縮されたinitramfs(initrd)をカーネルが展開できるようにする設定です。
  • C誤り。CONFIG_SQUASHFS_XZは、SquashFSファイルシステムでxz圧縮されたデータを扱えるようにする設定です。
  • D正しい。CONFIG_KERNEL_XZは「Kernel compression mode」の選択肢の1つで、カーネルイメージをxz形式で圧縮します。
LinuCレベル2の問題を演習モードで解く