Hi,
Some suggestions:
1) We could put a checksum in the LinuxBIOS rom image so it can be checked for integrity during boot time. Usually safety relevant embedded devices require such a checksum and use CRC16 or CRC32 for that.
2) Is there any distinct way of finding out whether a flash image is a LinuxBIOS image? One thing that can be read from an image is the mainboard vendor and id, but the code looks somewhat ugly:
void show_id(unsigned char *bios, int size) { unsigned char *manuf, *id;
id=bios+size-0x1d; while (*id==0) id--; while (*id) id--;
manuf=id-1; id++; while (*manuf && *manuf!=0xff) manuf--; manuf++;
printf("MANUFACTURER: %s\n", manuf); printf("MAINBOARD ID: %s\n", id); }
3) There should be a flash description map in the rom file that allows a program accessing the flash to automatically exclude certain flashing areas such as the onboard option rom space or the fallback image.
Stefan