Trying to add hwid to coreboot.rom

Hello all!
I am flashing some Chromebox G1 Zako devices. I connected my T58 programmer and dumped the bios just fine. Copied the bios over to my linux machine and started in the prep process. Ran the following commands as the MrChromebox site said:
./cbfstool./cbfstool backup.rom read -r RO_VPD -f vpd.bin
./cbfstool./cbfstool coreboot.rom write -r RO_VPD -f vpd.bin
./gbb_util./gbb_utility backup.rom --get --hwid > hwid.txt
These all ran good. I got a valid vpd and hwid file. But am getting errors on:
./cbfstool./cbfstool coreboot.rom add -n hwid -f hwid.txt
E: You need to specify a valid -t/–type.
E: Failed while operating on ‘COREBOOT’ region!
E: The image will be left unmodified.
Any ideas? And thank you in advance!
Thank you,
Ron Fancella

./cbfstool./cbfstool coreboot.rom add -n hwid -f hwid.txt -t raw

(just fixed this on my site)

do note that the only purpose for persisting the HWID is in case you want to restore the stock firmware and don’t have a backup. For EOL devices there’s no reason to bother, I’d only persist the VPD since that has the serial and LAN MAC address

Sir,
100%! That did the trick. One flashed, 48 to go. LOL
Thank you again!
Ron Fancella

hopefully you’ve scripted this and it’s a single command to read/extract/inject/write everything :slight_smile:

I wrote a short shell script to copy/move the files around. :wink:
It copies the dump from my flash drive and names it, copies the coreboot, does all the work, copies the modded coreboot back to my flash drive and removes the temp files. Dump the bios onto my flash drive, move it to my Linux PC and run the script. :wink:

why not just do everything from Linux using flashrom? does it not support your programmer?

I have tried to use it before on my main Linux machine, it just is not cut and dry. This is a short term solution until the CH341 I ordered comes in. They are cheap and then I can do it all from here. I have a bunch of programmers, the primary one is use is a XGecu T56 Pro. Never tried it with flashrom, I will give it a whirl and see.

grab a ch347 if you can, they are a ton faster to read/write :slight_smile:

I need a little assistance with the last couple I messed up. :frowning:
I kept a record of all the mac address when I first started this process. I accidentally wrote the same coreboot.rom to a couple of these. They work just fine, but have the same MAC. If I extract out the vdp.bin, is there a way to edit the file and put the correct mac in it?

Thank you,
Ron

  • run script and exit
  • download and extract VPD util:
    • curl -LO https://mrchromebox.tech/files/util/vpd.tar.gz
    • tar zxf vpd.tar.gz
  • modify VPD
    • sudo ./vpd -f /tmp/bios.bin -s "ethernet_mac"="aa:bb:cc:dd:ee:ff"
  • write back to chip
    • sudo /tmp/flashrom -p internal -w /tmp/bios.bin --fmap -i RO_VPD -N
  • reboot

Man! You got it all goin’ on! Thank you so much!!!
Might want to check the file?? It does not seem to extract:
gzip: util.vpd.tar.gz: not in gzip format
tar: This does not look like a tar archive

sorry, the . should have been a / – edited above

WooT! Very cool!! And thank you so much again!!!
I can put this project to rest. 100 of these should do for a while. :smiley:

Thank you,
Ron

1 Like