On Mon, Apr 22, 2019 at 03:24:41PM +0100, Ralph Corderoy wrote:
Hi Jonathan,
So, the MTD partitions do not directly map to a kernel or a Linux filesystem. The "Q;Q;" blocks are an Amstrad specific way of putting data into those partitions, with a type + description associated with each one. For example the kernel lives in a Q;Q; block in mtd3 called "LINUX". mtd3 also has Q;Q; blocks for LDR (the second stage boot loader), and PARMS (the kernel boot parameters).
Agreed. I guessed a 32-byte struct based on various `Q;Q;'s seen.
It's a 124 byte struct from my notes; 0: 0x3B513B51 # Q;Q; 4: 6: 2 byte checksum 8: Length if uncompressed? C: 10: 14: # Block name, 16 chars 24: # Block description, 48 chars 64: Entry vector? 68: 0xB513B513 # Note, inverted Q;Q 6c: Load address? 70: Compression flag, 0 == plain, 2 == compressed 74: Compressed length 78: 7C: END Compression is LZRW1 without the leading 4 flag bytes. J. -- ] https://www.earth.li/~noodles/ [] Replace repetitive expressions by [ ] PGP/GPG Key @ the.earth.li [] calls to a common function. [ ] via keyserver, web or email. [] [ ] RSA: 4096/0x94FA372B2DA8B985 [] [