2012-01-12 12 views
5

x86 Linux上の組み込みシステム(mipsel)用のクロスコンパイルツールチェーンがあります。私はそれのためにカスタムカーネルを(の画像「のvmlinux」と呼びましょう)を構築する方法を、私はまた、画像のロードアドレスとエントリポイントを必要とするさらなる処理のため破棄されたLinuxカーネルイメージのロードアドレスとエントリポイントを確認する

objcopy -S -O binary vmlinux vmlinux.bin 

を経由してその画像を削除する方法を知っています。前それを除去することはその後、私は今の課題は、その時々で

awk '/A _text/ { print "0x"$1; }' < _System.map 
awk '/T kernel_entry/ { print "0x"$1; }' < System.map 

を経由して、ロードアドレスとエントリポイントを決定することができ

nm -n vmlinux | grep -v '\([aNUw] \)\|\(__crc_\)\|\(\$[adt]\)' > System.map 

を経て、より明示的scripts/mksysmapまたは、経由でそれらを決定する問題はありません私は自分でカーネルを構築するのではなく、あらかじめ構築されたカーネルの後に取り除いています。それはすでにobjcopyでシンボルを取り除いています。誰も私にこれをする方法を教えてもらえますか?私は、カーネル構築とツールチェーンの使用にあまり堪能ではありません。 nmのobjdumpの objcopyをは、例えば(バイナリの出力ターゲットを使用して、生のバイナリファイルを生成するために使用することができobjcopy manual page

から

vmlinux.bin: File format not recognized 

答えて

関連する問題