[coreboot] Unique information

mrnuke mr.nuke.me at gmail.com
Sun Jan 26 01:49:06 CET 2014


On Sunday, January 26, 2014 01:22:46 AM Vladimir 'φ-coder/phcoder' Serbinenko 
wrote:
> Hello, all. There is amount of information that should be unique to each
> machine and is supplied by coreboot. Most common examples are:
> - mobo serial number
> - UUID
> - Internal mac.
> 
There are a few things you will need to go about solving this (in this exact 
order):

 1. A format for the key-value pairs. Here, you'd use your talk page on the 
wiki to make suggestions, and fine something sane. most likely a key (C valid 
name, followed by a colon, followed by the value string, followed by either a 
newline (easier to read the file as text), or a null character (easier to parse 
it as a string). Since you'll probably have to validate these strings at 
runtime, there is little value to making them null-terminated.

example 1 (null separator ignore newlines):

ether_mac1:C0:3E:B0:07:00:01\0
mainboard_name:Mambo Jumbo\0
ether_mac2:C0:3E:B0:07:00:01\0
<EOF>

example 2 (newline separator):

ether_mac1:C0:3E:B0:07:00:01
mainboard_name:Mambo Jumbo #`~!@#$%^&*()-_=+# UBXT
ether_mac2:C0:3E:B0:07:00:02
<EOF>

 2. A tool to generate and append new key-value pairs to the file. You might 
even use "echo >>", but something which verifies the strings for validity is 
preferred.

 3. Integrate the new tool into the build system, and allow arbitrary key-
value pairs to be generated. Maybe take inspiration from how we handle "cbfs-
file-y"

 4. Provide an implemented API coreboot-wise which reads these keys. This 
should be fairly similar to get_option(). (But of course, instead of a value, 
you'd get a string)

 5. Convince people on gerrit that your idea is good.

All being said, this is actually pretty simple.

Alex



More information about the coreboot mailing list