「マップファイルが見つかりません」は本当に深刻な問題です。メッセージを開始しますか?

「マップファイルが見つかりません」は本当に深刻な問題です。メッセージを開始しますか?

これは私が質問したもう一つの質問についての後続の質問です。ここ

要約すると:Linux From Scratch(LFS)のインストールの一部として直接設定し、構築したLinuxカーネルを起動しようとしています。ただし、次の行が表示されます/var/log/kern.log

Oct 9 17:24:17 <lee_lfs> kernel: Cannot find map file.

私はklogdのソースコード(SysVinitを使用しています)を読みましたが、問題はマッピングファイルにklogdが探している「version」行が含まれていないようです。

とにかく私の質問は、この問題がどれだけ大きいのかということです。これにより、どのような種類の問題が発生する可能性がありますか?この問題は無視してもよいですか?システムはまだ正常に動作する必要がありますか、それとも解決する必要がありますか?

答え1

これはどれほど大きな問題なのでしょうか。

非常に重要です。たとえば、ディストリビューションが機能しない場合があります。

これにより、どのような種類の問題が発生する可能性がありますか?

これは話すのが少し難しいですが、カーネルログを見るとかなり早くわかります。

この問題は無視してもよいですか?システムはまだ正常に動作する必要がありますか、それとも解決する必要がありますか?

安定性を重視するなら、これは無視できない問題だと思います。私がそう言うのは、それがなければシステムをデバッグするのが難しいからです。

まあ、何が起こっているのかわかります。

カーネルがsystem.mapを構築していない、シンボリックリンクが生成されていない、またはいくつかの権限が原因で問題が発生しました。

役に立つ場合は、system.mapをシンボルテーブルとも呼びます。以前は安定性に影響を与えると述べましたが、システムのデバッグをより困難にすることがよくあります。

何が起こっているのかを確認できるMakefileのエントリは次のとおりです。

nm /boot/vmlinux-2.4.18-19.8.0 > System.map
# Below is the line from /usr/src/linux/Makefile 
nm vmlinux | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map
cp /usr/src/linux/System.map /boot/System.map-2.4.18-14   # For v2.4.18

したがって、まずこのコピーが発生していることを確認してください。

状況をより複雑にするために、klogdにsystem.mapがある場所を知らせない場合は、次のように表示されます。

  1. /boot/system.map
  2. /system.map
  3. /usr/src/linux/System.map

Linuxカーネルのコンパイル出力が/usr/src/linux-version/System.mapに移動しますが、klogdがそこにはまったく表示されない場合があります。問題がある場合は、ファイルのコピーをすぐにお知らせします。

答え2

私の質問に答える:マッピングファイルが完全に削除されたとしても、私が作成したカスタムカーネルが起動して正しく実行されているようです。したがって、これはブートシステムの観点からは重要な要件ではないようです。しかし、Matt O.が答えで述べたように、メモリの場所がSystem.mapファイルに含まれているシンボルと一致しない場合、デバッグがより困難になる可能性があります。

関連情報