On Friday 05 November 2010 17:48:43 Jonathan A. Kollasch wrote:
Look at the romstrap of the vendor-provided firmware update image for a nvidia board. You'll find it doesn't contain your board's address.
I know that point, and it is definitely a good idea to solve that part via flashrom. Also as I just found a tread on the LinuxBios ML [1] which discussed that topic, and the main point why it would be a better solution to treat this in flashrom is, that you can use the same image for different mainboards without compiling the image for every single board.
Just for my personal interest, could someone explain me what actually is called romstrap? Google was not really informative on that point, except some "romstrap overrides" during graphic card bios flashing.
Further the question arises for me if following the romstrap pointer would also work on proprietary bios, or if this could only be managed correctly with coreboot images?
Otherwise I'd suggest to create a flashrom option which copies the actual MAC on flashing the new image.
IMO this issue would be best solved in the vicinity of flashrom.
It's trivial to follow the romstrap pointers and copy over the address.
Attached is a utility to do just that.
Thanks you for the utility, there is also one (perl script) in the bugtracker (#135) [2] which does a similar operation, but with a supplied mac. I think that both utilities are not "perfect", because as I've seen yours needs a second rom image which contains the right mac, and on the script in the bugtracker you need to supply it.
Personally I'd prefer to read the actual running mac from the system. (Which could be done by your utility - but needs a full read cycle of the bios flash.) Is there any fast method to read the onboards NIC mac address "faster"?
Jonathan Kollasch
Kind regards, Harald Gutmann
[1] http://www.mail-archive.com/linuxbios@linuxbios.org/msg11462.html [2] http://tracker.coreboot.org/trac/coreboot/attachment/ticket/135/change- mcp55-mac.pl