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