I just tried to boot a 'zdisk image' on my x86 system. (Kernel 2.0.8)
The result was:
Loading
1007
AX 0212
BX 1000
CX 0001
DX 0100
...
last message repeated many times :)
I use the new binutils 2.7 (objcopy instead of objdump):
----
...
if hash encaps 2> /dev/null; then \
objdump -k -q -o 0x100000 /usr/src/linux/vmlinux > $tmppiggy; \
else \
objcopy -O binary -R .note -R .comment /usr/src/linux/vmlinux $tmppiggy; \
fi; \
gzip -f -9 < $tmppiggy > $tmppiggy.gz; \
if hash encaps 2> /dev/null; then \
encaps --target elf32-i386 piggy.o $tmppiggy.gz input_data input_len; \
else \
echo "SECTIONS { .data : { input_len = .; LONG(input_data_end - input_data)
input_data = .; *(.data) input_data_end = .; }}" > $tmppiggy.lnk; \
ld -m elf_i386 -r -o piggy.o -b binary $tmppiggy.gz -b elf32-i386 -T
$tmppiggy.lnk; \
fi; \
rm -f $tmppiggy $tmppiggy.gz $tmppiggy.lnk
ld -m elf_i386 -Ttext 0x1000 -e startup_32 -o vmlinux head.o misc.o piggy.o
make[2]: Leaving directory `/usr/src/linux/arch/i386/boot/compressed'
if hash encaps 2> /dev/null; then \
objdump -k -q -o 0x1000 compressed/vmlinux > compressed/vmlinux.out; \
else \
objcopy -O binary -R .note -R .comment compressed/vmlinux
compressed/vmlinux.out; \
fi
tools/build bootsect setup compressed/vmlinux.out CURRENT > zImage
Root device is (8, 3)
Boot sector 512 bytes.
Setup is 4340 bytes.
System is 287 kB
sync
dd bs=8192 if=zImage of=/dev/fd0
36+1 records in
36+1 records out
--------
Please confirm && fix it.
Regards,
Michael
-- x(f,s,c)char *s;{return f&1 ? *s ? *s-c ? x(f,++s,c) :7[s]:0:f&2 ? x(--f,"!/*,xq-ih9]c$=le&M t)r\nm@p31n%ag.8}Sdoy",c):f&4 ? *s ? x(f,s+1,putchar(x(f-2,"^&%!*)",*s))) : 0 : 0;}main(){return x(4, "]!x/mhicn$!iihle&!x/mhiM$agimr%p !r@p%he&!x/mhiM !r@p%he",65);}