LinuCレベル2 システムの起動とLinuxカーネル 問37
システムの起動とLinuxカーネル/Linuxカーネルの構成要素カーネルをビルドする際、カーネルイメージ(bzImage)自体をxz形式で圧縮させたい。.configで有効にする設定項目として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル2の出題範囲「システムの起動とLinuxカーネル」に対応。実際の試験問題ではありません)
- ACONFIG_MODULE_COMPRESS_XZ
- BCONFIG_RD_XZ
- CCONFIG_SQUASHFS_XZ
- DCONFIG_KERNEL_XZ
正解: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形式で圧縮します。