I've deciphered the htc header format as I couldn't find other information
about it. Fairly straight forward:

16 bytes consist of the word GREATWALL in ASCII followed by 7 spaces (0x20)
16 ASCII zeros (0x30)
96 bytes of binary zeros (0x00)
4 bytes as HTCS in ASCII
8 bytes of ASCII hexidecimal (I think this contains the load address it
will need further investigation)
8 bytes of file length in ASCII hexidecimal
8 bytes of checksum in ASCII hexidecimal (unknown checksum method)

the .bin file to be loaded must end with 4 bytes of ASCII: HTCE

Using this I've determined that the kexecboot file in /demos is to long to
act as a 2nd stage bootloader for the H2200 or is corrupt (kernel
decompresses and generates a crc error). The files needs to be 1,310,720
bytes or less in length (excluding htc header and terminating HTCE tag).
Even if the file length parameter is adjusted it will load more of the
kexecboot binary into the 2nd stage flash but the 1st stage loader will
only load 1,310,720 bytes as far as I can tell (unless, of course, the
existing file is corrupt).

I don't have a development environment setup. If anyone is already setup
for targeting the H2200 could you grab the kexecboot stuff and see if its
even possible to make the .bin file smaller? I'll test it if you build it
and upload it to /demos (or give me a link to the file).

-Matt
_______________________________________________
Angstrom-distro-devel mailing list
Angstrom-distro-devel@linuxtogo.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/angstrom-distro-devel

Reply via email to