12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- .. SPDX-License-Identifier: GPL-2.0+
- .. sectionauthor:: Bin Meng <bmeng.cn@gmail.com>
- Coreboot
- ========
- Build Instructions for U-Boot as coreboot payload
- -------------------------------------------------
- Building U-Boot as a coreboot payload is just like building U-Boot for targets
- on other architectures, like below::
- $ make coreboot_defconfig
- $ make all
- Test with coreboot
- ------------------
- For testing U-Boot as the coreboot payload, there are things that need be paid
- attention to. coreboot supports loading an ELF executable and a 32-bit plain
- binary, as well as other supported payloads. With the default configuration,
- U-Boot is set up to use a separate Device Tree Blob (dtb). As of today, the
- generated u-boot-dtb.bin needs to be packaged by the cbfstool utility (a tool
- provided by coreboot) manually as coreboot's 'make menuconfig' does not provide
- this capability yet. The command is as follows::
- # in the coreboot root directory
- $ ./build/util/cbfstool/cbfstool build/coreboot.rom add-flat-binary \
- -f u-boot-dtb.bin -n fallback/payload -c lzma -l 0x1110000 -e 0x1110000
- Make sure 0x1110000 matches CONFIG_SYS_TEXT_BASE, which is the symbol address
- of _x86boot_start (in arch/x86/cpu/start.S).
- If you want to use ELF as the coreboot payload, change U-Boot configuration to
- use CONFIG_OF_EMBED instead of CONFIG_OF_SEPARATE.
- To enable video you must enable these options in coreboot:
- - Set framebuffer graphics resolution (1280x1024 32k-color (1:5:5))
- - Keep VESA framebuffer
- At present it seems that for Minnowboard Max, coreboot does not pass through
- the video information correctly (it always says the resolution is 0x0). This
- works correctly for link though.
- 64-bit U-Boot
- -------------
- In addition to the 32-bit 'coreboot' build there is a 'coreboot64' build. This
- produces an image which can be booted from coreboot (32-bit). Internally it
- works by using a 32-bit SPL binary to switch to 64-bit for running U-Boot. It
- can be useful for running UEFI applications, for example.
- This has only been lightly tested.
|