[coreboot] [ANN]Another Tiano payload project

Patrick Georgi patrick at georgi-clan.de
Sat Feb 2 21:12:06 CET 2013


Hi all,

after Stefan pushed out his effort at a Tiano payload, and I got a
couple of deadlines behind me, I thought it might be a nice project to
implement my concept of a Tiano payload.

The result as of now can be found on
https://github.com/pgeorgi/edk2/commit/d53b201dcaf2257c0c3f7827cab9d83f05a9e223
It's branched of edk2 as of today and builds an image that can be added
to coreboot as a payload using some magic incantations which are
detailed in the commit message I linked to.

Since I'm lazy, I just copy it over, since it explains the status of
this port, too:

Got corebootPkg to boot

It reuses more Ovmf libraries than is good for its health or mine,
it has no idea about coreboot and its tables yet.
It can't store "fault tolerant" (ie. non-volatile) variables.

The entry point is still 0x64 bytes off for unknown reasons, but
that luckily doesn't matter since 0x32 times 0x00 0x00 are just the
right instruction for x86 to survive.

It's half blind since I have no GOP driver - serial console works.

In short, it has tons of warts. Tons of places that can be improved.
Many things left to do.

But it boots into EFI Shell. Let's ship it.

build instructions Tiano side:
  . edksetup.sh
  build -a IA32 -p corebootPkg/corebootPkgIa32.dsc

build instructions coreboot side:
  build emulator/qemu-x86 image with 2MB and no payload
  cbfstool coreboot.rom add-flat-binary \
    -f edk2/Build/corebootIa32/DEBUG_UNIXGCC/FV/COREBOOT.fd \
    -n fallback/payload -l 0x800000 -e 0x800400 -c lzma

0x800000 is the location (see corebootPkgIa32.fdf)
0x800400 is the entry point (you have to believe me on that one)



Regards,
Patrick



More information about the coreboot mailing list