[coreboot] setting smbios values from the OS

David Hendricks david.hendricks at gmail.com
Sun Jun 22 21:06:46 CEST 2014


On Fri, Jun 20, 2014 at 1:01 PM, Rafael Vanoni <
rafael.vanoni at pluribusnetworks.com> wrote:

> Take serial number, for example. I'd like each different system that I
> build to have its own serial number, and building coreboot for every serial
> number doesn't scale.
>

You might want to check out the VPD  spec for ChromeOS devices:
https://docs.google.com/document/d/1d2l5obmBYxgaJQvltEJD-oiLTb0M-RXG-pujG5VDa_A/pub

Essentially what we do is reserve a region (or two) in the firmware ROM to
store an SMBIOS table with an added OEM-type table. That table stores data
that's useful for manufacturing and RMAs, but can be used for other
product-specific data such as ethernet MAC for some devices
(coreboot/src/mainboard/google/butterfly/mainboard.c, for example), wifi
antennae and display calibration info, initial language setting, etc. The
utility to manage it is here:
http://git.chromium.org/gitweb/?p=chromiumos/platform/vpd.git;a=summary

It should be easy to use this to populate SMBIOS tables in memory. Let me
know if this looks useful, I'm sure there are some better docs floating
around somewhere...

That said, I should point out that the scheme used on Chromebooks is
designed explicitly to avoid exposing any information that can be traced to
an individual machine. One must switch over to developer mode in order to
access anything beyond what is exposed in chrome://system. Here's an
example:
"initial_locale"="en-US"
"initial_timezone"="America/Los_Angeles"
"keyboard_layout"="xkb:us::eng"
"model_name"="TOSHIBA CB35-A"
"region"="us"
"sku_number"="PLM01U-002005"
"ActivateDate"="2014-17"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20140622/faba85dd/attachment.html>


More information about the coreboot mailing list