[coreboot] Welcome to the bayou

Jordan Crouse jordan.crouse at amd.com
Wed May 14 01:58:35 CEST 2008


Following an epic debate on SELF/ELF/LAR and six weeks of hacking
on libpayload, I am happy to finally be able to demonstrate some
of the fruits of our labor.

I give you the proof-of-concept of what I call bayou, but what
you will probably call "the chooser".  This code uses a special
version of lar to construct a LAR consisting of multiple payloads
in SELF format.  That raw binary is then built into the chooser payload.

The chooser payload reads the contents of the LAR and makes them
available for choosing through a curses menu.  This POC code includes
coreinfo and helloworld as demo payloads that can be chosen.

The Makefile in bayou/src/ is pretty self contained - if you want to
add additional payloads, then add them to the list in Makefile, and 
rebuild builtin.lar.  All the binutils nastiness should just work, but
your millage will vary.  You'll need all of the patches I just sent for
libpayload.

Clearly there is still much to be done, and much to be debated, but I hope
that this will at least whet your appetite for what we have and what
we can do.  This also provides a working example of the SELF format for
those who want to debate that some more.

The tarball:
http://coreboot.org/~jcrouse/bayou_0.1.tar.gz

And for those who don't want to compile, here is a QEMU ROM demonstrating
it:
http://coreboot.org/~jcrouse/bayou-demo-qemu.rom

As always, flames, comments, praise, and beer accepted.

Jordan
-- 
Jordan Crouse
Systems Software Development Engineer 
Advanced Micro Devices, Inc.





More information about the coreboot mailing list