summaryrefslogtreecommitdiff
path: root/boot/Kconfig
AgeCommit message (Collapse)Author
5 daysfit: Rework SPL_LOAD_FIT_ADDRESS slightlyTom Rini
Options which deal with memory locations and have a default value of 0x0 are dangerous, as that is often not a valid memory location. Rework SPL_LOAD_FIT_ADDRESS as follows: - Add SPL_HAS_LOAD_FIT_ADDRESS to guard prompting the question as the case of loading a FIT image does not strictly require setting an address and allows for a malloc()'d area to be used. - For SPL_RAM_SUPPORT, select the new guard symbol if SPL_LOAD_FIT is enabled because in that case an address must be provided. - Update defconfigs for these new changes. Largely this means some defconfigs need to enable SPL_HAS_LOAD_FIT_ADDRESS to maintain their current status. In the case of sandbox, we also need to set SPL_LOAD_FIT_ADDRESS to 0x0. Signed-off-by: Tom Rini <trini@konsulko.com>
2026-01-09boot: fix missing dependency for BOOTMETH_ANDROIDQuentin Schulz
The code depends on set_avendor_bootimg_addr and set_abootimg_addr functions which are only defined in cmd/abootimg.c, only built when CMD_ABOOTIMG=y so let's add a dependency. It should be "depends on" to be properly implemented, but we get a circular dependency otherwise: boot/Kconfig:566:error: recursive dependency detected! boot/Kconfig:566: symbol BOOTMETH_ANDROID depends on CMD_ABOOTIMG cmd/Kconfig:504: symbol CMD_ABOOTIMG depends on ANDROID_BOOT_IMAGE boot/Kconfig:7: symbol ANDROID_BOOT_IMAGE is selected by BOOTMETH_ANDROID so instead we do a select. It is safe because CMD_ABOOTIMG depends on ANDROID_BOOT_IMAGE which we select here as well. Fixes: 125d9f3306ea ("bootstd: Add a bootmeth for Android") Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Kory Maincent <kory.maincent@bootlin.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org> Link: https://lore.kernel.org/r/20251218-bootmeth_android-deps-v1-1-0113c804f951@cherry.de Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2025-12-31Merge patch series "configs: Remove default malloc length for K3 R5 SPL"Tom Rini
This series from Andrew Davis <afd@ti.com> makes a number of the TI K3 CONFIG symbols have consistent values in SPL, as they are things determined by the SoC and not the board design. Link: https://lore.kernel.org/r/20251208190635.2044082-1-afd@ti.com
2025-12-31spl: Kconfig: k3: Set common default for SPL_LOAD_FIT(_ADDRESS)Andrew Davis
These are common for all K3 based boards. Add the common values as defaults and remove from each board defconfig Signed-off-by: Andrew Davis <afd@ti.com> Reviewed-by: Bryan Brattlof <bb@ti.com>
2025-12-24boot: specify VPL_FIT_FULL_CHECK applies to VPLQuentin Schulz
VPL_FIT_FULL_CHECK currently shares its description and help text with FIT_FULL_CHECK which is quite confusing, so let's specify this applies to VPL. Fixes: 4218456b3fac ("vbe: Add Kconfig options for VPL") Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Anshul Dalal <anshuld@ti.com> Reviewed-by: Kory Maincent <kory.maincent@bootlin.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-12-24boot: fix prompt for VPL_LOAD_FIT_FULLQuentin Schulz
The prompt wrongly specifies this applies to SPL while this symbol is for VPL, let's fix this oversight. Fixes: 8dfbd798122b ("boot: Allow use of FIT in TPL and VPL") Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Acked-by: Udit Kumar <u-kumar1@ti.com> Reviewed-by: Anshul Dalal <anshuld@ti.com> Reviewed-by: Kory Maincent <kory.maincent@bootlin.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-12-24boot: fix prompt for SPL_LOAD_FIT_APPLY_OVERLAY_BUF_SZQuentin Schulz
The prompt currently doesn't specify this applies to the SPL stage only, so let's fix this oversight. Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Anshul Dalal <anshuld@ti.com> Reviewed-by: Kory Maincent <kory.maincent@bootlin.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-12-24boot: fix prompt for SPL_LOAD_FIT_ADDRESSQuentin Schulz
The prompt is missing the indication this applies for the SPL loading a FIT image, and not any other stage. Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: xypron.glpk@gmx.de Reviewed-by: Udit Kumar <u-kumar1@ti.com> Reviewed-by: Anshul Dalal <anshuld@ti.com> Reviewed-by: Kory Maincent <kory.maincent@bootlin.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-12-18Merge tag 'u-boot-socfpga-next-20251217' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-socfpga into next This pull request brings together a set of fixes and enhancements across the SoCFPGA platform family, with a focus on MMC/SPL robustness, EFI boot enablement, and Agilex5 SD/eMMC support. CI: https://source.denx.de/u-boot/custodians/u-boot-socfpga/-/pipelines/28776 Highlights: * SPL / MMC: o Fix Kconfig handling for SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE o Correct raw sector calculations and respect explicit sector values when loading U-Boot from MMC in SPL o Adjust raw MMC loading logic for SoCFPGA platforms * EFI boot: o Permit EFI booting on SoCFPGA platforms o Disable mkeficapsule tool build for Arria 10 where unsupported * Agilex5: o Upgrade SDHCI controller from SD4HC to SD6HC o Enable MMC and Cadence SDHCI support in defconfig o Add dedicated eMMC device tree and defconfig for Agilex5 SoCDK o Revert incorrect GPIO configuration for SDIO_SEL o Refine U-Boot DT handling for SD and eMMC boot variants * SPI: o Allow disabling the DesignWare SPI driver in SPL via Kconfig * Board / configuration fixes: o Enable random MAC address generation for Cyclone V o Fix DE0-Nano-SoC boot configuration o Remove obsolete or conflicting options from multiple legacy SoCFPGA defconfigs
2025-12-14rockchip: Add support for RAM boot from maskrom modeJonas Karlman
The BootROM in Rockchip SoCs will enter maskrom mode when boot firmware cannot be found in nand/spi/mmc storage. In maskrom mode the USB OTG port can accept one of two custom commands. Initially a 0x471 command to load TPL into SRAM. After TPL has been executed and it has returned back-to-BROM, a 0x472 command to load SPL into start of DRAM. Add two binman images that can be used to RAM boot from maskrom mode: - u-boot-rockchip-usb471.bin that contains TPL to init DRAM. - u-boot-rockchip-usb472.bin that contains SPL and the normal FIT payload with i.e. U-Boot proper, TF-A and FDT. A config fragment rockchip-ramboot.config can be used to enable building of these two binman images, e.g.: make generic-rk3588_defconfig rockchip-ramboot.config These binman images can be used with the proprietary rkbin boot_merger tool to create a special loader image that can be used with tools such as rkdeveloptool or rockusb tools to RAM boot from maskrom, e.g.: Create loader image: $ ../rkbin/tools/boot_merger ./RK3588MINIALL.ini Boot from maskrom: $ rkdeveloptool db u-boot-rockchip-rk3588-loader.bin or $ rockusb download-boot u-boot-rockchip-rk3588-loader.bin Another option that does not require use of proprietary tools is using open source tools such as rkflashtool or rkusbboot that can load the binman images directly without any need to first create a special loader image to RAM boot from maskrom, e.g.: $ rkflashtool l < u-boot-rockchip-usb471.bin $ rkflashtool L < u-boot-rockchip-usb472.bin or $ rkusbboot u-boot-rockchip-usb471.bin u-boot-rockchip-usb472.bin Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Tested-by: Arnaud Patard <arnaud.patard@collabora.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2025-12-04Merge patch series "Add support for SM3 secure hash"Tom Rini
Heiko Schocher <hs@nabladev.com> says: Add SM3 secure hash, as specified by OSCCA GM/T 0004-2012 SM3 and described at https://datatracker.ietf.org/doc/html/draft-sca-cfrg-sm3-02 TPMv2 defines hash algo sm3_256, which is currently not supported and prevented TPMv2 chip with newer firmware to work with U-Boot. Seen this on a ST33TPHF2XI2C u-boot=> tpm2 init u-boot=> tpm2 autostart tpm2_get_pcr_info: too many pcrs: 5 Error: -90 u-boot=> Implement sm3 hash, so we can fix this problem. Link: https://lore.kernel.org/r/20251118043042.27726-1-hs@nabladev.com
2025-12-04lib: sm3: implement U-Boot partsHeiko Schocher
add the U-Boot specific parts for the SM3 hash implementation: Signed-off-by: Heiko Schocher <hs@nabladev.com>
2025-11-11Merge patch series "rsa: fix dependency, rename and relocate RSASSA PSS symbols"Tom Rini
Quentin Schulz <foss+uboot@0leil.net> says: While historically signature verification is mostly done for FIT such FIT_SIGNATURE dependency for signature algorithm makes sense, it isn't the only kind of file we can verify signatures of. It can also be done manually with rsa_verify_hash() with an embedded public key. Considering the impacted code is guarded by RSA_VERIFY, let's make the symbol depend on that otherwise selecting it without RSA_VERIFY won't do anything. The FIT_SIGNATURE dependency wasn't also enough before as it only implied RSA_VERIFY. Then, simply relocate the RSA SSA PSS padding with the other RSA symbols in lib/rsa instead of in boot/ and rename it to remove the mention to FIT. Finally, add the PSS padding wherever PKCS1.5 padding is specified as one or the other can be used. Link: https://lore.kernel.org/r/20251031-rsa-pss-always-v2-0-a29184ea064d@cherry.de
2025-11-11rsa: rename FIT_RSASSA_PSS to RSASSA_PSS and move symbols under lib/rsaQuentin Schulz
This renames FIT_RSASSA_PSS symbols to drop the FIT_ prefix to avoid potential confusion since there's nothing FIT specific to those symbols. It also isn't really related to booting, so boot/Kconfig is an odd place for them to live. Since they make sense only in relation with RSA, simply move them to lib/rsa where it makes more sense for them to reside. Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
2025-11-11boot: group SPL_FIT symbols togetherQuentin Schulz
Let's not mix with symbols from other phases. Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2025-11-11boot: remove duplicate config entry for VPL_FITQuentin Schulz
It's defined a bit later in the same file, so let's remove the duplicated entry. Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2025-11-11boot: fix incorrect dependency of FIT_RSASSA_PSSQuentin Schulz
This padding has nothing to do with FIT except that we can make use of it when verifying the FIT signatures. This padding can also be used to verify the signature "manually" e.g. by calling rsa_verify_hash() directly with an embedded public key. Additionally, this padding is only useful if RSA (and specifically RSA_VERIFY) is enabled otherwise it's not used. The only other place it's used is in rsa-sign.c which is only built for the host tools and handled by TOOLS_FIT_RSASSA_PSS symbol instead, so no need to care for that one. Finally, the FIT_SIGNATURE dependency also wasn't enough because it only implies RSA_VERIFY, meaning it can be disabled and still have FIT_RSASSA_PSS enabled. So add a dependency on RSA_VERIFY and reword the input prompt. Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
2025-11-06boot: fix typo in SYS_BOOTM_LEN descriptionQuentin Schulz
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2025-11-06boot: specify SPL_FIT_FULL_CHECK applies to SPLQuentin Schulz
SPL_FIT_FULL_CHECK currently shares its description and help text with FIT_FULL_CHECK which is quite confusing, so let's specify this applies to SPL. Fixes: 6f3c2d8aa5e6 ("image: Add an option to do a full check of the FIT") Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2025-11-03Merge patch series "Remove usage of CMD_BOOTx from SPL code"Tom Rini
Anshul Dalal <anshuld@ti.com> says: Hi all, We currently make use of CMD_BOOTI and CMD_BOOTZ in the SPL boot flow in falcon mode, this isn't correct since all CMD_* configs are only meant for U-Boot proper and not the SPL. Therefore this patch set adds new LIB_BOOT[IMZ] configs that allow for more granular selection of their respective compilation targets. Additionally, this also allows us to more easily disable support for raw images from secure falcon mode (SPL_OS_BOOT_SECURE) by doing the following: config LIB_SPL_BOOTI ... depends on SPL_OS_BOOT && !SPL_OS_BOOT_SECURE ... Link: https://lore.kernel.org/r/20251027-fix_cmd_bootx-v10-0-10487e907710@ti.com
2025-11-03spl: remove usage of CMD_BOOTx from image parsingAnshul Dalal
Using CMD_* configs from spl doesn't make logical sense. Therefore this patch replaces the checks for CMD_BOOTx with newly added library symbols LIB_BOOT[IMZ] and SPL_LIB_BOOT[IMZ] which are enabled by their respective CMD_* or SPL_* counterparts. On platforms with non-secure falcon mode, SPL_BOOTZ is enabled by default for 32-bit ARM systems and SPL_BOOTI is enabled by default for 64-bit ARM and RISCV. The respective C files (image.c/zimage.c) are compiled based on library symbols $(PHASE_)LIB_BOOTx instead which are in turn selected by both CMD_BOOTx and SPL_BOOTx as required. Signed-off-by: Anshul Dalal <anshuld@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2025-11-03Merge patch series "Convert extension support to UCLASS and adds its support ↵Tom Rini
to boot flows" Kory Maincent (TI.com) <kory.maincent@bootlin.com> says: This series converts the extension board framework to use UCLASS as requested by Simon Glass, then adds extension support to pxe_utils and bootmeth_efi (not tested) to enable extension boards devicetree load in the standard boot process. I can't test the imx8 extension scan enabled by the imx8mm-cl-iot-gate_defconfig as I don't have this board. I also can't test the efi bootmeth change as I don't have such board. Link: https://lore.kernel.org/r/20251030-feature_sysboot_extension_board-v5-0-cfb77672fc68@bootlin.com
2025-11-03boot: Remove legacy extension board supportKory Maincent (TI.com)
Remove the legacy extension board implementation now that all boards have been converted to use the new UCLASS-based framework. This eliminates lines of legacy code while preserving functionality through the modern driver model approach. Update the bootstd tests, due to the removal of extension hunter. Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
2025-11-03boot: Add UCLASS support for extension boardsKory Maincent (TI.com)
Introduce UCLASS-based extension board support to enable more standardized and automatic loading of extension board device tree overlays in preparation for integration with bootstd and pxe_utils. Several #if CONFIG_IS_ENABLED are used in cmd/extension_board.c to ease the development but don't worry they are removed later in the series. Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2025-11-03boot: Move extension board support from cmd/ to boot/Kory Maincent (TI.com)
Relocate extension board support from cmd/ to boot/ directory in preparation for converting the extension framework to use UCLASS. Also improve code style by applying reverse xmas tree ordering. Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
2025-10-26boot: kconfig: Fix typosWolfgang Wallner
Fix typos in boot/Kconfig. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
2025-10-13spl: FIT: Make SPL_LOAD_FIT_FULL depend on SPL_LOAD_FITTom Rini
Today, only a few platforms enable SPL_LOAD_FIT_FULL, and all enable SPL_LOAD_FIT. As can be seen in usage, the FULL symbol is a superset of the first symbol, not an alternative. Update Kconfig entries based on this and simplify the only code which checks for either being set. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-10-10NXP: Make RAMBOOT_PBL only be valid for PowerPC or ls1021ATom Rini
Only PowerPC and LS1021A platforms can make use of RAMBOOT_PBL. Add the dependencies to the symbol. Signed-off-by: Tom Rini <trini@konsulko.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-10-08Kconfig: Make further use of testing for !COMPILE_TESTTom Rini
We have a large number of library symbols that should not be prompted for by the user really but rather selected by the platform (or SoC) as needed. To start with however, make these depend on !COMPILE_TEST. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-09-18boot: Increase kernel size limit to 128 MiB on ARM64/PPC/RVMarek Vasut
The ARM64 kernel Image size with LOCKDEP enabled is now around 80 MiB, which makes it unbootable due to "Image too large: increase CONFIG_SYS_BOOTM_LEN". Increase the image size limit to 128 MiB to future proof the limit. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-09-09boot: Add LEGACY_IMAGE_FORMAT to DISTRO_DEFAULTSTom Rini
At this time there are still major Linux distributions which by default boot using LEGACY_IMAGE_FORMAT type scripts. Add this option to DISTRO_DEFAULTS to ensure these platforms can still boot. Fixes: d780965927d4 ("Drop the special am335x_boneblack_vboot target") Reported-by: Sascha Silbe <sascha-pgp@silbe.org> Tested-By: Sascha Silbe <sascha-pgp@silbe.org> Signed-off-by: Tom Rini <trini@konsulko.com>
2025-08-25bootstd: rauc: Do not select BOOTMETH_GLOBALMartin Schwan
Since the bootmeth "rauc" is not a global boot method, do not select the corresponding BOOTMETH_GLOBAL option. Signed-off-by: Martin Schwan <m.schwan@phytec.de>
2025-08-14riscv: Set SYS_BOOTM_LEN default to 0x4000000Martin Herren
This changes the default value to the most commonly used one among existing defconfigs. Signed-off-by: Martin Herren <sputnik@on-the-web.ch> Acked-by: Michal Simek <michal.simek@amd.com> # xilinx_mbv Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2025-07-09Merge patch series "Improve Verdin AM62P thermal setup by generalizing ↵Tom Rini
ft_board_setup_ex()" João Paulo Gonçalves <jpaulo.silvagoncalves@gmail.com> says: In some use cases, board-specific device tree changes must not be overwritten by system fixups. Although U-Boot provides ft_board_setup_ex() for this purpose, it is currently only used on TI Keystone. This series makes ft_board_setup_ex() a generic option, allowing its use by other architectures and boards. Additionally, considering that Toradex Verdin-AM62P hardware lifetime guarantees are based on a 105°C junction temperature (while TI AM62Px supports up to 125°C), this series implements necessary changes within TI K3 AM62P and Toradex board code. These changes include exporting common fixup device Tree functions used in TI K3 for board-code access and also fixup for AM62P thermal zones to correctly reflect the number of CPU nodes according to the SoC part number. Link: https://lore.kernel.org/r/20250623-am62p-fdt-fixup-trip-points-v1-0-12355eb6a72f@toradex.com
2025-07-09boot: Make ft_board_setup_ex() genericJoão Paulo Gonçalves
In some use cases, board-specific device tree changes must not be overwritten by system fixups. Although U-Boot provides ft_board_setup_ex() for this purpose, it is currently only used on TI Keystone. Make ft_board_setup_ex() to be a generic option, allowing its use by other architectures/boards. To maintain backward compatibility, enable it by default on TI Keystone. Signed-off-by: João Paulo Gonçalves <joao.goncalves@toradex.com>
2025-06-24boot/image-android: Workaround kernel/ramdisk invalid addrGeorge Chan
Some androidboot image have invalid kernel/ramdisk load addr, force to ignore those value and use loadaddr instead. There is a concern on exposing the whole memory to image loading is dangerous. Also, since it's not always possible to change the load addr by repacking the boot.img (mainly due to AVB signature mismatch), we need a way to use kernel_addr_r and ramdisk_addr_r. Suggested-by: Casey Connolly <casey.connolly@linaro.org> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Tested-by: Mattijs Korpershoek <mkorpershoek@kernel.org> Signed-off-by: George Chan <gchan9527@gmail.com> Link: https://lore.kernel.org/r/20250518-android-boot-v3-1-02c8768e131f@gmail.com Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
2025-06-20Merge patch series "Consistent Kconfig environment options CONFIG_ENV_ prefix"Tom Rini
Marek Vasut <marek.vasut+renesas@mailbox.org> says: Rename the environment related variables and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Link: https://lore.kernel.org/r/20250609192701.20260-1-marek.vasut+renesas@mailbox.org
2025-06-20env: Rename DEFAULT_ENV_FILE to ENV_DEFAULT_ENV_TEXT_FILEMarek Vasut
Rename the variable and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Also rename USE_DEFAULT_ENV_FILE to USE_ENV_DEFAULT_ENV_TEXT_FILE . Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-06-18Merge patch series "bootstd: New bootmeth for RAUC A/B systems"Tom Rini
Martin Schwan <m.schwan@phytec.de> says: This series implements a new bootmeth for RAUC A/B systems. RAUC (Robust Auto Update Controller) is a lightweight update client, providing "Safe and Secure OTA Updates for Embedded Linux". See the following links for more information about RAUC: https://rauc.io/ https://rauc.readthedocs.io/en/latest/ PHYTEC uses RAUC in its Yocto based distribution "Ampliphy" as the default way of updating embedded devices based on PHYTEC hardware. So far, the logic selecting the correct partitions and files to boot was being implemented in the U-Boot environment. While this is a straightforward way to do it, adding and supporting new platforms became somewhat tedious and is platform-specific. The introduction of U-Boot's "Standard Boot" provided a convincing alternative, promising a simpler and more portable way of booting, even for RAUC systems. This led me to implement a new bootmeth supporting RAUC A/B systems. Note, that this new bootmeth is not proprietary to PHYTEC products and is designed to work on other hardware with a RAUC A/B system, too. The bootmeth currently only supports symmetric A/B partitioning layouts. E.g. A/rescue is not (yet) supported. The partition indexes and default slot tries can be specified via configuration options. For now, the bootmeth_rauc uses a similar approach for loading the Kernel and device tree as the bootmeth_script, in that it requires a FIT containing a U-Boot script loading the desired distro. It could be possible to support booting without a script and load the Kernel and DT directly with this bootmeth, but I found the script method to be very flexible for now, in letting the distro decide what to load. The bootmeth_rauc was tested on a phyBOARD-Pollux i.MX8M Plus [1] with BSP-Yocto-Ampliphy-i.MX8MP-PD24.1.2 [2]. Supported boot devices are currently only MMC devices, but it should be possible to add SPI flashes in the future. To test this patch stack with PHYTEC's phyBOARD-Pollux i.MX8M Plus board, you need to adjust the boot files to include the boot.scr.uimg containing the distro's boot script and set "optargs" to "${raucargs}" in it. Also disable any legacyboot in the U-Boot environment and simply boot with Standard Boot: bootmeth order rauc bootflow scan -lb [1]: https://www.phytec.eu/en/produkte/single-board-computer/phyboard-pollux/ [2]: https://download.phytec.de/Software/Linux/BSP-Yocto-i.MX8MP/BSP-Yocto-Ampliphy-i.MX8MP-PD24.1.2/ Link: https://lore.kernel.org/r/20250604-wip-bootmeth-rauc-v3-0-f9fad913c57e@phytec.de [trini: Don't enable by default]
2025-06-18bootstd: Add implementation for bootmeth raucMartin Schwan
Add a bootmeth driver which supports booting A/B system with RAUC as their update client. Signed-off-by: Martin Schwan <m.schwan@phytec.de> Tested-by: Wadim Egorov <w.egorov@phytec.de>
2025-05-06bootstd: Rework BLK dependencyTom Rini
The bootstd code itself does not have any dependency on BLK in order to build. However, in order to minimize size growth of non-migrated platforms, change this from being "default y" to "default y if BLK". This will make it easier to begin migration of platforms which do not have any BLK-class device but do want to use bootstd. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-05-01boot: let BOOTSTAGE_RECORD_COUNT default to 50Heinrich Schuchardt
BOOTSTAGE_RECORD_COUNT=30 is too small to record booting a FIT image with EFI kernel, initrd, dtb as seen on the StarFive VisionFive 2 board. Increase the default for BOOTSTAGE_RECORD_COUNT to 50. Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2025-04-11cli_hush: support running bootcmd on boot retryCaleb Connolly
Introduce a new config option: RETRY_BOOTCMD. When enabled this causes hush shell to re-run "bootcmd" when the auto-boot counter times out. Tested-by: Danila Tikhonov <danila@jiaxyga.com> # google-sunfish Tested-by: Jens Reidel <adrian@mainlining.org> # xiaomi-davinci Link: https://lore.kernel.org/r/20250331-qcom-phones-v4-2-f52e57d3b8c6@linaro.org Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
2025-04-02onenand: Remove ONENAND_BOOT optionTom Rini
The option ONENAND_BOOT is never set, so remove it. The option SYS_ONENAND_BOOT was never migrated to Kconfig and any platforms which supported that have long been removed from the code, so remove the reference there as well. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-02-03vbe: Add an implementation of VBE-ABrecSimon Glass
So far only VBE-simple is implemented in U-Boot. This supports a single image which can be updated in situ. It is often necessary to support two images (A and B) so that the board is not bricked if the update is interrupted or is bad. In some cases, a non-updatable recovery image is desirable, so that the board can be returned to a known-good state in the event of a serious failure. Introduce ABrec which provides these features. It supports three independent images and the logic to select the desired one on boot. While we are here, fix a debug message to indicate the function it called. Provide a maintainers entry for VBE. Note that fwupdated only supports VBE-simple so far, but supports for ABrec will appear in time. Signed-off-by: Simon Glass <sjg@chromium.org>
2024-12-27boot: Imply CRC8 with VBESimon Glass
VBE uses a crc8 checksum to verify that the nvdata is valid, so make sure it is available if VBE is enabled. Signed-off-by: Simon Glass <sjg@chromium.org>
2024-12-27boot: Allow use of FIT in TPL and VPLSimon Glass
With VBE we want to use FIT in all phases of the boot. Add Kconfig options to support this. Disable the options for sandbox_vpl for now. Signed-off-by: Simon Glass <sjg@chromium.org>
2024-12-12Revert "Merge patch series "vbe: Series part E""Tom Rini
This reverts commit 1fdf53ace13f745fe8ad4d2d4e79eed98088d555, reversing changes made to e5aef1bbf11412eebd4c242b46adff5301353c30. I had missed that this caused too much size growth on rcar3_salvator-x. Signed-off-by: Tom Rini <trini@konsulko.com>
2024-12-12Merge patch series "vbe: Series part E"Tom Rini
Simon Glass <sjg@chromium.org> says: This includes various patches towards implementing the VBE abrec bootmeth in U-Boot. It mostly focuses on SPL tweaks and adjusting what fatures are available in VPL. Link: https://lore.kernel.org/r/20241207172412.1124558-1-sjg@chromium.org
2024-12-12boot: Imply CRC8 with VBESimon Glass
VBE uses a crc8 checksum to verify that the nvdata is valid, so make sure it is available if VBE is enabled. Signed-off-by: Simon Glass <sjg@chromium.org>