I was using windows programs to do it, but they are PIA to get working correctly, so I figured out how to do it in linux.
fdisk -l image.img. you'll see it has a partition that starts at sector 63. And that each sector is 512 bytes. so then setup a loop device of the image file starting at that offset (so you can access the partition). Then mount it. delete the old zImage, copy over new one. Sync (not sure if needed - can't hurt?). unmount it. delete the loop device. you now have updated image file
I created a little script that does it for me and shows the stats of the old zImage and new one so I know it updated. BTW, you can do this with both a image file, or esxi vdmk.
losetup /dev/loop0 gnoboot-flat.vmdk -o $((63*512))
mount /dev/loop0 /mnt
stat /mnt/zImage
rm /mnt/zImage
cp zImage /mnt
chmod 644 /mnt/zImage
stat /mnt/zImage
sync
umount /dev/loop0
losetup -d /dev/loop0
when using my script, i have both the image file and new zImage in the same path as the script.
Well this would work but the img file I have is two small. it 32MB and the new zimage is 16mb Essentially the is not enough space on the partion to do what you did. does any one have the alph7.img file so i can put the new zimage in to that.
Thanks.