Nice to see someone is thinking along the same line.
I went through the same manuvers last month but had to give up on it due to time.
What I found:
It looks like after the .SUP file is uploaded it is broken out by the SnapOS upgrade process.
If you look at the end of the .sup file you will find html code for minimal help screens. So there are sections to the .sup file that the upgrade process knows how to break out.
From what I found, the .HEX file seems to be either:
1) a Patch (not a full image) for the current BIOS/OS and isn't in a contigious format.
2) a compressed image.
3) Combination of both.
With the padded 0's being there, it could be a section that isn't being used, OR what I'm guessing is that these are sections that is used for saving settings when you switch off the power (i.e. you need some room in flash to store IP address, disk shares, passwords, etc) so you don't want to put code there. They could be ignored by the upgrade utility, but are there for continuity.
I started going through some of the PC BIOS and Flash utils/hacks to see if there is any related format that has a similar process and can give us a clue as to how this one maybe setup. I did find a case where a flash was upgraded with a .HEX file where the data was compressed and then decompressed on the fly during the upgrade process, so one theory is there.
The E28F016S5 Intel Chip is a 16Mbit (2MB) Flash Memory though, so I'm leaning towards it being a compressed image that decompresses on boot. Gives more room for the modified BSD OS to to fit in memory rather than disk.
Again, on the 4100 the majority of the OS lives on the Flash rather than disk.
You can boot up a 4100 with no disks installed and it will function.
Java and help/language files live on the disks, but it doesn't need them to operate.
If I could get my hands on a boot partition from a system that has it's OS on the drives, then I could do some comparisons to how the 4100 is broken out and how to modify it.
Scott
|