
Originally Posted by
ScanMan
Jamie, I tried 'splitppceval.pl' on a couple of kernels, first on a stock 8.1a kernel then on a 8.1a that had a nulled initrd. I got the "Bad magic in header" error. Then I tried an old 3.1.1c killhdinitrd kernel and I got the out.info I was looking for. In examing the perl script and the kernel header in a hex editor I see the first bytes are totally different that the script expects (hence the error).
Anyway, does this only work on killhdinitrd kernels or do newer kernels have a changed header that is incompatible with this tool? Thanks in advance.
Works just fine for me on the 8.1a Series2 stock kernel.
Code:
# md5sum vmlinux.px
22abaff5ec98444f4a37fed777357c21 vmlinux.px
# strings vmlinux.px | grep "Linux version"
Linux version 2.4.20 (build@buildmaster59) (gcc version 3.3.4) #1 Thu Oct 26 01:35:03 PDT 2006
# splitppceval.pl vmlinux.px foo
Header info:
Magic: 0052504f
Kernel load address: 80001fe0 (offset 0x00000020)
Total blocks - 1: 00000d50
Debug: 00000000
Kernel entry address: 800043a0 (offset 0x000023e0)
Kernel length: 0015cc10 (addr 0x8015ebd0)
Kernel+initrd length: 001a9fc0 (addr 0x801abf80)
Reserved: 00000000
Initrd length: 0004d3b0
Signature length: 00000111