On 28.11.2016 20:26, David Hendricks via coreboot wrote:
> On Sun, Nov 27, 2016 at 8:28 PM, ron minnich <rminn...@gmail.com> wrote:
> 
>> yeah, david and nico both make very good points. I like the idea of  JSON
>> file, and further we're working on a Go program
>> on the u-root project that would parse said file (trivial in Go to parse
>> JSON, it's one statement and blam! your Go struct is all
>> filled in) and then decide what to configure/what to download/how to
>> validate (we have a gpgv command written in Go by
>> Eric Grosse) and then how to kexec it.
>>
>> I think what we're doing might be useful?
>>
> 
> Now we're talkin' - A standardized data format that is human
> readable/writeable that can be easily parsed and generated using small
> libraries. It looks like Go can already handle it easily, for C we could
> maybe use JSMN (http://zserge.com/jsmn.html) or something similar. I think
> that addresses Nico's first point.
> 
> For the other points, I imagine we'd have two varieties of the JSON file.
> One would be generated along with the payload and included as a CBFS file
> to specify things like capabilities and bootable device priority*. The
> other would be on the bootable media and specify things like the kernel
> path and parameters. A tool which is used to generate the latter would
> verify the capabilities and warn the user if their coreboot payload lacks
> support for something.

A tool like that might have to see the whole bootable medium. You can't
tell from the configuration file in which type of filesystem it's stored
for example. But I really like the idea. Such a tool could tell if a
boot medium only needs capabilities that are mandatory in the spec,
thus, should always boot ;)

> 
> *Stuff like boot device priority might need some more thought since CMOS
> may be a preferable way of controlling something like that. However given
> that CMOS might not exist on a particular platform (especially in the
> non-x86 world) replacing the config file in CBFS file might not be a bad
> way to go.

I'd like to keep that out of scope (for the moment). Let's just start
with what happens when the bootloader has found the configuration.

Nico

-- 
coreboot mailing list: coreboot@coreboot.org
https://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to