SONE Takeshi ts1@tsn.or.jp writes:
Hi, I think I've at last found a bug in elfboot.c. Until this fix, I had always needed to disable verify code in elfboot.c to get it work. Now it boots ELF kernel with BOOT_IDE perfectly.
One of doubly-linked chain was not initialized. I think it did not cause problem when memory near address 0 comes up with zeroes. But my raminit.inc leaves gabages there so some bogus memory ranges have been included in checksum.
Thanks good catch.
Another possibility is that the checksum is optional and not all versions of mkelfImage add it, and etherboot does not. So that code path is not exercised quite as much as it should be.
Eric