詳細についてはbzImageをご覧ください。

詳細についてはbzImageをご覧ください。

Wikipediaの説明はbzImage本当に混乱しています。 代替テキスト

上の画像はWikipediaからのものですが、その横にある行は次のとおりです。

bzImageファイルは特定の形式になっています。 bootsect.o + setup.o + Misc.o + Piggy.oが接続されて含まれています。

画像に他の人(および)が見つかりませんmisc.o。また、これらのオブジェクトファイルをより明確に理解したいと思います。 piggy.o

に関する情報この投稿また、ファイルを起動できない理由もvmlinux本当に混乱しています。

もう一つの疑いはについてです。System.mapどのように接続されていますかbzImagevmlinuxcreateの前にシンボルが含まれていることを知っていますbzImage。しかし、起動時にどのようにbzImage接続しますかSystem.map

ベストアンサー1

Linux 2.6.22 までは以下bzImageが含まれます。

Linux 2.6.23はbbootsectとbsetupを1つにまとめます(header.o)。

起動時に、カーネルはシステムを必要な使用可能な状態にするために必要ないくつかのシーケンス(上記のヘッダファイルを参照)を初期化する必要があります。実行時にこれらのシーケンスはもはや重要ではありません(それでは、なぜ実行中のカーネルに含めるのですか?)。

System.map関連するvmlinuxbzImageコンテナを圧縮し、起動時に解凍するだけですvmlinux(=>bzImageあまり気にしないSystem.map)。

Linux 2.5.39がリリースされましたCONFIG_KALLSYMS。有効にすると、カーネルは独自のシンボルマップ(/proc/kallsyms)を保持します。

System.mapたとえば、デバッグ目的klogdでユーザースペースプログラムで主に使用されます。ksymoops

配置される場所は、System.mapそれを参照するユーザースペースプログラムによって異なります。または からシンボルマップを取得します
ksymoops。 、およびで検索してください。/proc/ksyms/usr/src/linux/System.map
klogd/boot/System.map/System.map/usr/src/linux/System.map

/boot/System.mapカーネル2.6.27.19を使用するLinuxシステムでは、削除しても問題は発生しません。

おすすめ記事