splitting up discover/platform-{arm64,powerpc}.c and adding new platforms

Marty E. Plummer hanetzer at startmail.com
Wed May 1 09:29:31 AEST 2019


Greetings.

So, I've recently been working on using petitboot as the bootloader on
my Samsung Chromebook Plus (rk3399-gru-kevin) and for the moment have it
working in the sense that it can boot other linux operating systems on
the internal emmc.

However, as it currently stands the arm64 platform assumes either ipmi
or efi, neither of which are present in my configuration. What's more,
coreboot doesn't to my knowledge have a sort of persistent store like
platform-powerpc.c's nvram.

To that end, I've began working on creating what amounts to
platform-uboot.c, and have realized that perhaps there is a lot of
potential code duplication in this area.

platform-powerpc.c currently has some device-tree related parsing which
could be shared among other platforms which use devicetree (arm and
arm64 come to mind offhand), and opal itself is not necessarily specific
to powerpc (one could make an arm64 runtime which implements the same
interfaces, for example).

platform-arm64.c lacks device-tree support, which could be useful in
general, and has exclusive to itself efi support, which could be useful
on platforms which use it (x86_64 comes to mind).

I'm adding platform-uboot.c to use u-boot's fw_{print,set}env to do
persistent store for my coreboot build, but could also be used with real
u-boot if that were the case.

Thoughts?

Marty


More information about the Petitboot mailing list