21e3ae8a18
By default, the builsystem for uboot defaults to 'legacy', while the default version is very well capable of using the 'kconfig' buildsystem instead. Having the 'legacy' buildsystem be the default in that case makes it quite inconvenient for users: they would expect to be able to use e.g. uboot-menuconfig et al. with the default uboot version. Switch to using 'kconfig' when we use the latest version. Keep the 'legacy' as default for everything else. Also, invert the 'legacy' and 'kconfig' entries in the choice: it is nicer to have the recent and future-proof entry first. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Tested-by: Petr Vorel <petr.vorel@gmail.com> Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
464 lines
14 KiB
Plaintext
464 lines
14 KiB
Plaintext
config BR2_TARGET_UBOOT
|
|
bool "U-Boot"
|
|
help
|
|
Build "Das U-Boot" Boot Monitor
|
|
|
|
if BR2_TARGET_UBOOT
|
|
choice
|
|
prompt "Build system"
|
|
default BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG if BR2_TARGET_UBOOT_LATEST_VERSION
|
|
default BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
|
|
|
|
config BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
|
|
bool "Kconfig"
|
|
help
|
|
Select this option if you use a recent U-Boot version (2015.04
|
|
or newer), so that we use the Kconfig build system.
|
|
|
|
config BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
|
|
bool "Legacy"
|
|
help
|
|
Select this option if you use an old U-Boot (older than
|
|
2015.04), so that we use the old build system.
|
|
|
|
endchoice
|
|
|
|
if BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY
|
|
config BR2_TARGET_UBOOT_BOARDNAME
|
|
string "U-Boot board name"
|
|
help
|
|
One of U-Boot supported boards to be built.
|
|
This will be suffixed with _config to meet U-Boot standard
|
|
naming. See boards.cfg in U-Boot source code for the list of
|
|
available configurations.
|
|
endif
|
|
|
|
choice
|
|
prompt "U-Boot Version"
|
|
help
|
|
Select the specific U-Boot version you want to use
|
|
|
|
config BR2_TARGET_UBOOT_LATEST_VERSION
|
|
bool "2018.03"
|
|
|
|
config BR2_TARGET_UBOOT_CUSTOM_VERSION
|
|
bool "Custom version"
|
|
help
|
|
This option allows to use a specific official versions
|
|
|
|
config BR2_TARGET_UBOOT_CUSTOM_TARBALL
|
|
bool "Custom tarball"
|
|
|
|
config BR2_TARGET_UBOOT_CUSTOM_GIT
|
|
bool "Custom Git repository"
|
|
|
|
config BR2_TARGET_UBOOT_CUSTOM_HG
|
|
bool "Custom Mercurial repository"
|
|
|
|
config BR2_TARGET_UBOOT_CUSTOM_SVN
|
|
bool "Custom Subversion repository"
|
|
|
|
endchoice
|
|
|
|
config BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE
|
|
string "U-Boot version"
|
|
depends on BR2_TARGET_UBOOT_CUSTOM_VERSION
|
|
|
|
config BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION
|
|
string "URL of custom U-Boot tarball"
|
|
depends on BR2_TARGET_UBOOT_CUSTOM_TARBALL
|
|
|
|
if BR2_TARGET_UBOOT_CUSTOM_GIT || BR2_TARGET_UBOOT_CUSTOM_HG || BR2_TARGET_UBOOT_CUSTOM_SVN
|
|
|
|
config BR2_TARGET_UBOOT_CUSTOM_REPO_URL
|
|
string "URL of custom repository"
|
|
default BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL \
|
|
if BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL != "" # legacy
|
|
|
|
config BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION
|
|
string "Custom repository version"
|
|
default BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION \
|
|
if BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION != "" # legacy
|
|
help
|
|
Revision to use in the typical format used by
|
|
Git/Mercurial/Subversion E.G. a sha id, a tag, branch, ..
|
|
|
|
endif
|
|
|
|
config BR2_TARGET_UBOOT_VERSION
|
|
string
|
|
default "2018.03" if BR2_TARGET_UBOOT_LATEST_VERSION
|
|
default BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE \
|
|
if BR2_TARGET_UBOOT_CUSTOM_VERSION
|
|
default "custom" if BR2_TARGET_UBOOT_CUSTOM_TARBALL
|
|
default BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION \
|
|
if BR2_TARGET_UBOOT_CUSTOM_GIT || BR2_TARGET_UBOOT_CUSTOM_HG || BR2_TARGET_UBOOT_CUSTOM_SVN
|
|
|
|
config BR2_TARGET_UBOOT_PATCH
|
|
string "Custom U-Boot patches"
|
|
default BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR if BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR != "" # legacy
|
|
help
|
|
A space-separated list of patches to apply to U-Boot.
|
|
Each patch can be described as an URL, a local file path,
|
|
or a directory. In the case of a directory, all files
|
|
matching *.patch in the directory will be applied.
|
|
|
|
Most users may leave this empty
|
|
|
|
if BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
|
|
choice
|
|
prompt "U-Boot configuration"
|
|
default BR2_TARGET_UBOOT_USE_DEFCONFIG
|
|
|
|
config BR2_TARGET_UBOOT_USE_DEFCONFIG
|
|
bool "Using an in-tree board defconfig file"
|
|
|
|
config BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG
|
|
bool "Using a custom board (def)config file"
|
|
|
|
endchoice
|
|
|
|
config BR2_TARGET_UBOOT_BOARD_DEFCONFIG
|
|
string "Board defconfig"
|
|
depends on BR2_TARGET_UBOOT_USE_DEFCONFIG
|
|
help
|
|
Name of the board for which U-Boot should be built, without
|
|
the _defconfig suffix.
|
|
|
|
config BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE
|
|
string "Configuration file path"
|
|
depends on BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG
|
|
help
|
|
Path to the U-Boot configuration file.
|
|
|
|
config BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES
|
|
string "Additional configuration fragment files"
|
|
help
|
|
A space-separated list of configuration fragment files,
|
|
that will be merged to the main U-Boot configuration file.
|
|
endif
|
|
|
|
config BR2_TARGET_UBOOT_NEEDS_DTC
|
|
bool "U-Boot needs dtc"
|
|
select BR2_PACKAGE_HOST_DTC
|
|
help
|
|
Select this option if your U-Boot board configuration
|
|
requires the Device Tree compiler to be available.
|
|
|
|
config BR2_TARGET_UBOOT_NEEDS_PYLIBFDT
|
|
bool "U-Boot needs pylibfdt"
|
|
help
|
|
Select this option if your U-Boot board configuration
|
|
requires the Python libfdt library to be available.
|
|
|
|
config BR2_TARGET_UBOOT_NEEDS_OPENSSL
|
|
bool "U-Boot needs OpenSSL"
|
|
help
|
|
Select this option if your U-Boot board configuration
|
|
requires OpenSSL to be available on the host. This is
|
|
typically the case when the board configuration has
|
|
CONFIG_FIT_SIGNATURE enabled.
|
|
|
|
config BR2_TARGET_UBOOT_NEEDS_ATF_BL31
|
|
bool "U-Boot needs ATF BL31"
|
|
depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE
|
|
depends on !BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33
|
|
select BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31
|
|
help
|
|
Some specific platforms (such as Allwinner A64/H5)
|
|
encapsulate the BL31 part of ATF inside U-Boot. This option
|
|
makes sure ATF gets built prior to U-Boot, and that the BL31
|
|
variable pointing to ATF's BL31 binary, is passed during the
|
|
Buildroot build.
|
|
|
|
menu "U-Boot binary format"
|
|
|
|
config BR2_TARGET_UBOOT_FORMAT_AIS
|
|
bool "u-boot.ais"
|
|
help
|
|
AIS (Application Image Script) is a format defined by TI.
|
|
It is required to load code/data on OMAP-L1 processors.
|
|
u-boot.ais contains U-Boot with the SPL support.
|
|
|
|
config BR2_TARGET_UBOOT_FORMAT_BIN
|
|
bool "u-boot.bin"
|
|
default y
|
|
|
|
config BR2_TARGET_UBOOT_FORMAT_DTB_BIN
|
|
bool "u-boot-dtb.bin"
|
|
|
|
config BR2_TARGET_UBOOT_FORMAT_DTB_IMG
|
|
bool "u-boot-dtb.img"
|
|
|
|
config BR2_TARGET_UBOOT_FORMAT_IMG
|
|
bool "u-boot.img"
|
|
|
|
config BR2_TARGET_UBOOT_FORMAT_IMX
|
|
bool "u-boot.imx"
|
|
|
|
config BR2_TARGET_UBOOT_FORMAT_NAND_BIN
|
|
bool "u-boot-nand.bin"
|
|
|
|
config BR2_TARGET_UBOOT_FORMAT_KWB
|
|
bool "u-boot.kwb (Marvell)"
|
|
depends on BR2_arm
|
|
|
|
config BR2_TARGET_UBOOT_FORMAT_ELF
|
|
bool "u-boot.elf"
|
|
|
|
config BR2_TARGET_UBOOT_FORMAT_SB
|
|
bool "u-boot.sb (Freescale i.MX28)"
|
|
depends on BR2_arm
|
|
|
|
config BR2_TARGET_UBOOT_FORMAT_SD
|
|
bool "u-boot.sd (Freescale i.MX28)"
|
|
depends on BR2_arm
|
|
help
|
|
This is Freescale i.MX28 SB format, with a header for booting
|
|
from an SD card.
|
|
|
|
U-boot includes an mxsboot tool to generate this format,
|
|
starting from 2011.12.
|
|
|
|
See doc/README.mxs (or doc/README.mx28_common before 2013.07)
|
|
|
|
config BR2_TARGET_UBOOT_FORMAT_NAND
|
|
bool "u-boot.nand (Freescale i.MX28)"
|
|
depends on BR2_arm
|
|
help
|
|
This is Freescale i.MX28 BootStream format (.sb), with a
|
|
header for booting from a NAND flash.
|
|
|
|
U-boot includes an mxsboot tool to generate this format,
|
|
starting from 2011.12.
|
|
|
|
There are two possibilities when preparing an image writable
|
|
to NAND flash:
|
|
1) The NAND was not written at all yet or the BCB (Boot
|
|
Control Blocks) is broken. In this case, the NAND image
|
|
'u-boot.nand' needs to written.
|
|
2) The NAND flash was already written with a good BCB. This
|
|
applies after 'u-boot.nand' was correctly written. There is no
|
|
need to write the BCB again. In this case, the bootloader can
|
|
be upgraded by writing 'u-boot.sb'.
|
|
|
|
To satisfy both cases, the 'u-boot.nand' image obtained from
|
|
mxsboot as well as the U-Boot make target 'u-boot.sb' are
|
|
copied to the binaries directory.
|
|
|
|
See doc/README.mxs (or doc/README.mx28_common before 2013.07)
|
|
|
|
if BR2_TARGET_UBOOT_FORMAT_NAND
|
|
|
|
config BR2_TARGET_UBOOT_FORMAT_NAND_PAGE_SIZE
|
|
int "NAND page size"
|
|
default 2048
|
|
help
|
|
The NAND page size of the targets NAND flash in bytes as a
|
|
decimal integer value.
|
|
|
|
The value provided here is passed to the -w option of mxsboot.
|
|
|
|
config BR2_TARGET_UBOOT_FORMAT_NAND_OOB_SIZE
|
|
int "NAND OOB size"
|
|
default 64
|
|
help
|
|
The NAND OOB size of the targets NAND flash in bytes as a
|
|
decimal integer value.
|
|
|
|
The value provided here is passed to the -o option of mxsboot.
|
|
|
|
config BR2_TARGET_UBOOT_FORMAT_NAND_ERASE_SIZE
|
|
int "NAND erase size"
|
|
default 131072
|
|
help
|
|
The NAND eraseblock size of the targets NAND flash in bytes as
|
|
a decimal integer value.
|
|
|
|
The value provided here is passed to the -e option of mxsboot.
|
|
|
|
endif
|
|
|
|
config BR2_TARGET_UBOOT_FORMAT_CUSTOM
|
|
bool "Custom (specify below)"
|
|
help
|
|
On some platforms, the standard U-Boot binary is not called
|
|
u-boot.bin, but u-boot<something>.bin. If this is your case,
|
|
you should select this option and specify the correct name(s)
|
|
in BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME.
|
|
|
|
config BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME
|
|
string "U-Boot binary format: custom names"
|
|
depends on BR2_TARGET_UBOOT_FORMAT_CUSTOM
|
|
help
|
|
In case the U-Boot binary for the target platform is not among
|
|
the default names, one or more custom names can be listed
|
|
here.
|
|
Use space to separate multiple names.
|
|
Example:
|
|
u-boot_magic.bin
|
|
|
|
endmenu
|
|
|
|
config BR2_TARGET_UBOOT_OMAP_IFT
|
|
bool "produce a .ift signed image (OMAP)"
|
|
depends on BR2_TARGET_UBOOT_FORMAT_BIN
|
|
depends on BR2_arm || BR2_armeb
|
|
select BR2_PACKAGE_HOST_OMAP_U_BOOT_UTILS
|
|
help
|
|
Use gpsign to produce an image of u-boot.bin signed with
|
|
a Configuration Header for booting on OMAP processors.
|
|
This allows U-Boot to boot without the need for an
|
|
intermediate bootloader (e.g. x-loader) if it is written
|
|
on the first sector of the boot medium.
|
|
This only works for some media, such as NAND. Check your
|
|
chip documentation for details. You might also want to
|
|
read the documentation of gpsign, the tool that generates
|
|
the .ift image, at:
|
|
https://github.com/nmenon/omap-u-boot-utils/blob/master/README
|
|
|
|
if BR2_TARGET_UBOOT_OMAP_IFT
|
|
|
|
config BR2_TARGET_UBOOT_OMAP_IFT_CONFIG
|
|
string "gpsign Configuration Header config file"
|
|
help
|
|
The Configuration Header (CH) config file defines the
|
|
desired content of the CH for the signed image.
|
|
It usually contains external RAM settings and
|
|
possibly other external devices initialization.
|
|
The omap-u-boot-utils software contains example
|
|
configuration files for some boards:
|
|
https://github.com/nmenon/omap-u-boot-utils/tree/master/configs
|
|
|
|
endif
|
|
|
|
config BR2_TARGET_UBOOT_SPL
|
|
bool "Install U-Boot SPL binary image"
|
|
depends on !BR2_TARGET_XLOADER
|
|
help
|
|
Install the U-Boot SPL binary image to the images
|
|
directory.
|
|
SPL is a first stage bootloader loaded into internal
|
|
memory in charge of enabling and configuring the
|
|
external memory (DDR), and load the u-boot program
|
|
into DDR.
|
|
|
|
config BR2_TARGET_UBOOT_SPL_NAME
|
|
string "U-Boot SPL/TPL binary image name(s)"
|
|
default "spl/u-boot-spl.bin"
|
|
depends on BR2_TARGET_UBOOT_SPL
|
|
help
|
|
A space-separated list of SPL/TPL binaries, generated during
|
|
u-boot build. For most platform SPL name is spl/u-boot-spl.bin
|
|
and TPL name is tpl/u-boot-tpl.bin but not always. SPL name is
|
|
MLO on OMAP and SPL on i.MX6 for example.
|
|
|
|
config BR2_TARGET_UBOOT_ZYNQ_IMAGE
|
|
bool "Generate image for Xilinx Zynq"
|
|
depends on BR2_arm
|
|
depends on BR2_TARGET_UBOOT_SPL
|
|
depends on BR2_TARGET_UBOOT_FORMAT_DTB_IMG
|
|
help
|
|
Generate the BOOT.BIN file from U-Boot's SPL. The image
|
|
boots the Xilinx Zynq chip without any FPGA bitstream.
|
|
A bitstream can be loaded by the U-Boot. The SPL searchs
|
|
for u-boot-dtb.img file so this U-Boot format is required
|
|
to be set.
|
|
|
|
config BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC
|
|
bool "CRC image for Altera SoC FPGA (mkpimage)"
|
|
depends on BR2_arm
|
|
depends on BR2_TARGET_UBOOT_SPL || BR2_TARGET_UBOOT_FORMAT_DTB_BIN
|
|
help
|
|
Pass the U-Boot image through the mkpimage tool to enable
|
|
booting on the Altera SoC FPGA based platforms.
|
|
|
|
On some platforms, it's the SPL that needs to be passed
|
|
through mkpimage. On some other platforms there is no SPL
|
|
because the internal SRAM is big enough to store the full
|
|
U-Boot. In this case, it's directly the full U-Boot image
|
|
that is passed through mkpimage.
|
|
|
|
If BR2_TARGET_UBOOT_SPL is enabled then
|
|
BR2_TARGET_UBOOT_SPL_NAME is converted by mkpimage using
|
|
header version 0.
|
|
|
|
Otherwise the full u-boot-dtb.bin is converted using
|
|
mkpimage header version 1.
|
|
|
|
In either case the resulting file will be given a .crc
|
|
extension.
|
|
|
|
menuconfig BR2_TARGET_UBOOT_ENVIMAGE
|
|
bool "Environment image"
|
|
help
|
|
Generate a valid binary environment image from a text file
|
|
describing the key=value pairs of the environment.
|
|
|
|
The environment image will be called uboot-env.bin.
|
|
|
|
if BR2_TARGET_UBOOT_ENVIMAGE
|
|
|
|
config BR2_TARGET_UBOOT_ENVIMAGE_SOURCE
|
|
string "Source files for environment"
|
|
help
|
|
Text files describing the environment. Files should have
|
|
lines of the form var=value, one per line. Blank lines and
|
|
lines starting with a # are ignored.
|
|
|
|
Multiple source files are concatenated in the order listed.
|
|
|
|
config BR2_TARGET_UBOOT_ENVIMAGE_SIZE
|
|
string "Size of environment"
|
|
help
|
|
Size of envronment, can be prefixed with 0x for hexadecimal
|
|
values.
|
|
|
|
config BR2_TARGET_UBOOT_ENVIMAGE_REDUNDANT
|
|
bool "Environment has two copies"
|
|
help
|
|
Some platforms define in their U-Boot configuration that the
|
|
U-Boot environment should be duplicated in two locations (for
|
|
extra safety). Check your U-Boot configuration for the
|
|
CONFIG_ENV_ADDR_REDUND and CONFIG_ENV_SIZE_REDUND settings to
|
|
see if this is the case for your platform.
|
|
|
|
If it is the case, then you should enable this option to
|
|
ensure that the U-Boot environment image generated by
|
|
Buildroot is compatible with the "redundant environment"
|
|
mechanism of U-Boot.
|
|
|
|
endif # BR2_TARGET_UBOOT_ENVIMAGE
|
|
|
|
config BR2_TARGET_UBOOT_BOOT_SCRIPT
|
|
bool "Generate a U-Boot boot script"
|
|
help
|
|
Generate a U-Boot boot script, given a file listing U-Boot
|
|
commands to be executed at boot time. The generated boot
|
|
script will be called 'boot.scr'.
|
|
|
|
if BR2_TARGET_UBOOT_BOOT_SCRIPT
|
|
|
|
config BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE
|
|
string "U-Boot boot script source"
|
|
help
|
|
Source file to generate the U-Boot boot script.
|
|
|
|
endif
|
|
|
|
if BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
|
|
|
|
config BR2_TARGET_UBOOT_CUSTOM_DTS_PATH
|
|
string "Device Tree Source file paths"
|
|
help
|
|
Space-separated list of paths to device tree source files
|
|
that will be copied to arch/ARCH/dts/ before starting the
|
|
build.
|
|
|
|
To use this device tree source file, the U-Boot configuration
|
|
file must refer to it.
|
|
|
|
endif
|
|
|
|
endif # BR2_TARGET_UBOOT
|