Trying to figure out a way to not destroy DMI table when flashing BIOS from Linux.
If I look at BIOS image I am having a hard time identifying where the DMI table is actually stored... I can find the start strings _SM_ and _DMI_ but I must be missing something as I don't see the table following.
Basically I have two ideas:
The first would basically find the range where the SM/DMI table is storage and mask it when flashing the new BIOS. This is assuming the DMI table never moves-- I'll just have to check for. I can either use flashrom to leave a hole when flashing or read current BIOS image, merge it with new BIOS image, flash merged BIOS to board. The key with all this is determining exactly where on the chip the SM/DMI table is stored.
The other idea is figure out how to edit the DMI table from Linux OS. I could then simply read type1/type3 info from the board (eg what dmidecode does), write new BIOS image, write type1/type3 data back to board. Problem with this is I know of no programs that can write DMI info from OS, only stupid DOS stuff

Either way will work but I've been unsuccessful with either.
Any ideas?