HOMEサンプル問題・例題解説201試験の例題と解説201.2 Linuxカーネルのコンパイル

201試験の例題と解説

201.2 Linuxカーネルのコンパイル

今回は201試験の試験範囲から「201.2 Linuxカーネルのコンパイル」についての例題を解いてみます。

■トピックの概要
このトピックの内容は以下の通りです。

<201.2 Linuxカーネルのコンパイル>
重要度 3

<説明>
カーネルを適切に設定し、Linuxカーネルの特定の機能を必要に応じて取り込む、または無効化する。これには、必要に応じてLinuxカーネルをコンパイルまたは再コンパイルする、新しいカーネルに更新や変更を書き込む、initrdイメージを作成する、新しいカーネルをインストールするなども含まれる。

<主要な知識範囲>
・/usr/src/linux/
・カーネルの Makefile
・Kernel 2.6.x/3.x のmakeのターゲット 
・カーネル構成をカスタマイズする
・新しいカーネルおよび適切なカーネルモジュールを構築する
・新しいカーネルおよび必要なモジュールをインストールする
・ブートマネージャが新しいカーネルおよび関連付けられたファイルを探せるようにする
・モジュールの構成ファイル
・Dracutについて知っている

<重要なファイル、用語、ユーティリティ>
・mkinitrd
・mkinitramfs
・make
・makeのターゲット(all, config, xconfig, menuconfig,gconfig, oldconfig, mrproper, zImage,bzImage, modules, modules_install,rpm-pkg, binrpm-pkg, deb-pkg)
・gzip
・bzip2
・module tools
・/usr/src/linux/.config
・/lib/modules/kernel-version/*
・depmod


■例題
Linuxカーネルのコンパイル時に、makeコマンドに与えるターゲットの解説として間違っているものを選びなさい。

1. make oldconfigで新しいバージョンでの設定項目のみ設定が行える
2. make modulesでモジュールとして指定された機能をコンパイルする
3. make modules_installで起動RAMディスクにモジュールを組み込む
4. make mrproperで、設定ファイルやコンパイルしたオブジェクトなどを削除する

※この例題は実際のLinuC試験とは異なります。

解答と解説

答えは 3. make modules_installで起動RAMディスクにモジュールを組み込む です。

Linuxカーネルをコンパイルしてインストールするには、設定ファイル(.config)を作成し、モジュールはカーネル本体をコンパイルし、インストールする、という手順になります。

設定ファイルはmake configなどで設定していく事ができますが、設定項目が膨大なため作業としては現実的ではありません。ディストリビューションで用意されているコンパイル済みのカーネルでは、そのカーネルをコンパイルする際に使用された.configファイルが用意されています。その古い設定ファイルを元に、make oldconfigで存在しない設定項目のみ設定を追加する方法があります。

設定ファイルが作成されると、make modulesでモジュールとして提供するように指定した機能がコンパイルされ、モジュールが生成されます。make modules_installを実行すると、/lib/modulesディレクトリの下にカーネルバージョンでディレクトリが作成され、コンパイルされたモジュールがコピーされます。

カーネルをコンパイルした環境を、ソースコードのみの綺麗な状態にしたい時、make mrproperを実行します。なぜmrproperかというと、「Mr.Proper」という洗剤の名前が由来のようです。気になる人は調べてみてください。

  • 今回の解説について、理解できないポイントがあればどんどん質問を。
  • 採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
  • ご質問・ご意見はこちら
  • ※上記の解説とその内容については、例題作成者の監修です。
    内容や試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。

このページのトップへ