了解内核的装入地址和入口地址
利用readelf
#mips-linux-uclibc-readelf -e vmlinux
............
Entry point address: 0x802bd000
...........
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .text PROGBITS 80060000 000800 1eb704 00 AX 0 0 2048
...........
可以看到.text段装入地址为0x80060000,内核入口地址为0x802bd000
使用objdump
也可以获得这些信息, -d参数反汇编vmlinux可以得到装入地址, -f参数可以得到入口地址。
查看System.map文件
#cat System.map | grep _text
#cat System.map | grep kernel_entry
对vmlinux.bin执行:
[root rootfsBuild]# objdump -t vmlinux.bin 2>/dev/null | grep "_etext$" [root rootfsBuild]# objdump -h vmlinux.bin 2>/dev/null | grep " .text " |
对vmlinux执行:
[root rootfsBuild]# objdump -h vmlinux 2>/dev/null | grep " .text " 0 .text 001f6490 80060000 80060000 00002000 2**5 [root rootfsBuild]# objdump -t vmlinux 2>/dev/null | grep "_etext$" 80256490 g *ABS* 00000000 _etext |