coreboot 4.11 + U-boot master

Simon Glass sjg at chromium.org
Thu Oct 12 05:45:19 CEST 2023


Hi Jay,

On Wed, 11 Oct 2023 at 19:03, Jay Talbott
<JayTalbott at sysproconsulting.com> wrote:
>
> Hi Simon,
>
>
>
> So I gave it a whirl to do a build of coreboot (on the 4.11 branch) with the U-boot payload, specifying U-boot master to get the latest version of U-boot.
>
>
>
> Unfortunately, it failed to build the payload:
>
>
>
>     Cloning U-Boot from Git
>
> Cloning into 'u-boot'...
>
> warning: redirecting to https://source.denx.de/u-boot/u-boot.git/
>
> remote: Enumerating objects: 945927, done.
>
> remote: Counting objects: 100% (6622/6622), done.
>
> remote: Compressing objects: 100% (2418/2418), done.
>
> remote: Total 945927 (delta 4232), reused 6496 (delta 4159), pack-reused 939305
>
> Receiving objects: 100% (945927/945927), 190.29 MiB | 6.01 MiB/s, done.
>
> Resolving deltas: 100% (793720/793720), done.
>
> Updating files: 100% (20136/20136), done.
>
>     Fetching new commits from the U-Boot git repo
>
>     Checking out U-Boot revision origin/master
>
> Already on 'master'
>
> Your branch is up to date with 'origin/master'.
>
> Branch 'coreboot' set up to track remote branch 'master' from 'origin'.
>
> Switched to a new branch 'coreboot'
>
>     MAKE       U-Boot origin/master
>
> In file included from tools/imagetool.h:24,
>
>                  from tools/aisimage.c:7:
>
> include/image.h:1396:12: fatal error: openssl/evp.h: No such file or directory
>
> 1396 | #  include <openssl/evp.h>
>
>       |            ^~~~~~~~~~~~~~~
>
> compilation terminated.
>
> make[3]: *** [scripts/Makefile.host:112: tools/aisimage.o] Error 1
>
> make[2]: *** [Makefile:1858: tools] Error 2
>
> make[1]: *** [Makefile:75: build] Error 2
>
> make: *** [payloads/external/Makefile.inc:187: payloads/external/U-Boot/u-boot/u-boot-dtb.bin] Error 2
>
>
>
> Looks like it needs openssl to get pulled in as part of the build. Is there something I’m missing that I need to do to get that to happen automatically? Or is there a manual step I need to do to get it pulled in?

For Debian this is:

sudo apt install libssl-dev

You can see all the pre-reqs at [1]


>
>
>
> Also, in coreboot’s make menuconfig, there’s a place for specifying a U-boot config file. For the first go at it I didn’t specify one, but I’m guessing that maybe I need to at some point. If so, can you point me to what I’ll need to put in there?

Nothing in particular. At some point if you want to build a particular
U-Boot version from a separate checkout, you can manually replace
U-Boot in coreboot.rom:

# update u-boot
cbfstool $BUILD_DIR/coreboot.rom remove -n fallback/payload || true
cbfstool $BUILD_DIR/coreboot.rom add-flat-binary \
   -f u-boot.bin \
    -n fallback/payload -c LZMA -l 0x1110000 -e 0x1110000

If you want the 64-bit U-Boot then instead of u-boot.bin you need
u-boot-x86-with-spl.bin (and you must use 'make coreboot64_defconfig'
to configure U-Boot). In fact, that option is not available in
coreboot yet, so I should send a patch!


[1] https://u-boot.readthedocs.io/en/latest/build/gcc.html


More information about the U-Boot mailing list