LPIC-2カーネル構築とモジュール管理オリジナル・公式資料照合難易度★★★☆☆
Linuxでuname -rは6.6.10-labと表示される。手元のfoo.koのvermagicは6.6.9-labで、ロード時にInvalid module formatとなり、カーネルログもバージョン不一致を示す。CPUアーキテクチャは同じで、署名強制は使っていない。適切な対処はどれか。
A
foo.koを別名へ変更すれば、内部のバージョン情報も現在のカーネルに変わる
ファイル名は内部のvermagicや使用するカーネルインタフェースを変更しません。名前変更だけでは不一致は残ります。
B
稼働中6.6.10-labに対応するソース・ビルド設定と必要な開発ファイルでモジュールを作り直す★ 正解
実行中カーネル向けのビルド環境をそろえて作り直す対応です。単に同じCPU用であるだけでは十分ではありません。
C
unameが示すのは次回起動予定のカーネルなので、6.6.9向けモジュールをそのまま強制ロードする
uname -rは現在のカーネルの情報です。バージョン検査を無視するとクラッシュ等を招くおそれがあり、不一致の修正にはなりません。
D
ファイルの読取り権限を変更すれば、カーネルABIの不一致も解消する
ファイルへのアクセス権と、ロード後に使うカーネルのABI・ビルド情報は別の条件です。
解説
モジュールは対象カーネルとビルド条件との整合が必要です。uname -rは現在稼働中のリリースを示します。本問はログで不一致が確認できており、強制ロードで検証を外すのでなく対応する条件で再ビルドします。
根拠資料・確認情報
対応範囲:LPIC-2 201-450(Objectives v4.5)
資料確認日:2026-10-28
同じレッスンの問題
問題 2
自作Linuxカーネルでルートファイルシステムはext4である。ストレージ側ドライバーは利用可能だが、CONFIG_EXT4_FS=mとしており、対応するext4モジュールを含むinitramfsも用意していない。ルートをマウントできない。必要な構成の説明はどれか。
問題 3
既存カーネルの.configを、新しいLinuxカーネルのソースツリーへ移して設定を引き継ぎたい。追加された設定項目を対話的に確認し、その後差分や起動試験も行う。適切なmakeターゲットはどれか。
問題 4
外部モジュールのソースをDKMSへ登録しているLinuxホストで、カーネルを更新する。新カーネル用の開発ファイルとビルドツールがあり、ディストリビューションのDKMSフックも構成済みである。DKMSの主な役割はどれか。
問題 5
fooモジュールはbarモジュールのシンボルを使う。両モジュールは稼働中カーネル向けで、標準モジュールディレクトリへ配置しdepmodで依存情報を更新済みだが、どちらも未ロードである。依存を解決しながらfooをロードする方法はどれか。