私はアンドロイドのLinuxカーネルをgzipヘッダーから分割して解凍しました。しかし、私はアンドロイドndkからファイルをダンプするobjdumpをしようとすると、私はエラーが認識されないファイル形式を取得しています。アンドロイドカーネルのobjdump
誰でも、バイナリイメージからシンボルテーブルを取得する方法を知っています。 猫の/ proc/kallsyms
私はアンドロイドのLinuxカーネルをgzipヘッダーから分割して解凍しました。しかし、私はアンドロイドndkからファイルをダンプするobjdumpをしようとすると、私はエラーが認識されないファイル形式を取得しています。アンドロイドカーネルのobjdump
誰でも、バイナリイメージからシンボルテーブルを取得する方法を知っています。 猫の/ proc/kallsyms
これはAndroidに固有のものではなく、ほとんどの(すべての)Linuxシステムで発生します。
# file /boot/vmlinuz-2.6.38.7-desktop-1mnb2
/boot/vmlinuz-2.6.38.7-desktop-1mnb2: Linux kernel x86 boot executable bzImage, version 2.6.38.7-desktop-1mnb2 ([email protected]) #1 SMP Sun, RO-rootFS, root_dev 0x902, swap_dev 0x3, Normal VGA
# nm /boot/vmlinuz-2.6.38.7-desktop-1mnb2
nm: /boot/vmlinuz-2.6.38.7-desktop-1mnb2: File format not recognized
ブート可能なイメージが圧縮容器内vmlinux
kernel ELF binaryをラップし、ブートおよび解凍ユーティリティのセットを追加することによって作成された:(アンドロイドが基づいている)は、Linuxカーネルのブート可能な画像は、適切なELFバイナリではありません。デバッグのためにカーネルイメージが必要な場合。 vmlinux
ファイルが必要です - Android NDKに存在するかどうかわかりません。
'nm'と' objcopy'はともにバックエンドとして 'binutils'から' libbfd'を使います。結果は同じだろう... – thkala