The default config does not allow booting from different storage devices when using the uuid environment variable to describe the rootfs partition.
Use the newly introduced find_distro_rootpart customizable environment variable to locate the rootfs partition dynamically, instead of finduuid which hardcodes the rootfs partition location (mmc 0:2). This allows the board to boot from different storage devices while still using UUID-based root partition identification. Signed-off-by: Kory Maincent (TI.com) <[email protected]> --- configs/am335x_evm_defconfig | 3 +-- configs/am335x_evm_spiboot_defconfig | 3 +-- configs/am335x_hs_evm_defconfig | 2 +- configs/am335x_hs_evm_spi_defconfig | 1 - configs/am335x_hs_evm_uart_defconfig | 3 +-- include/configs/am335x_evm.h | 4 +++- 6 files changed, 7 insertions(+), 9 deletions(-) diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_defconfig index 2b68902edef..a85e76ef3a1 100644 --- a/configs/am335x_evm_defconfig +++ b/configs/am335x_evm_defconfig @@ -17,7 +17,7 @@ CONFIG_FIT_VERBOSE=y CONFIG_SPL_LOAD_FIT=y CONFIG_DISTRO_DEFAULTS=y CONFIG_OF_BOARD_SETUP=y -CONFIG_BOOTCOMMAND="run findfdt; run init_console; run finduuid; run distro_bootcmd" +CONFIG_BOOTCOMMAND="run findfdt; run init_console; run distro_bootcmd" CONFIG_LOGLEVEL=3 CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_SPL_SYS_MALLOC=y @@ -44,7 +44,6 @@ CONFIG_CMD_SPL=y CONFIG_CMD_SPL_NAND_OFS=0x00080000 CONFIG_SYS_I2C_EEPROM_ADDR_LEN=2 CONFIG_CMD_NAND=y -# CONFIG_CMD_SETEXPR is not set CONFIG_BOOTP_DNS2=y CONFIG_CMD_MTDPARTS=y CONFIG_MTDIDS_DEFAULT="nand0=nand.0" diff --git a/configs/am335x_evm_spiboot_defconfig b/configs/am335x_evm_spiboot_defconfig index f81149e9435..014dba4e8b3 100644 --- a/configs/am335x_evm_spiboot_defconfig +++ b/configs/am335x_evm_spiboot_defconfig @@ -19,7 +19,7 @@ CONFIG_TIMESTAMP=y CONFIG_SPL_LOAD_FIT=y CONFIG_DISTRO_DEFAULTS=y CONFIG_OF_BOARD_SETUP=y -CONFIG_BOOTCOMMAND="run findfdt; run init_console; run finduuid; run distro_bootcmd" +CONFIG_BOOTCOMMAND="run findfdt; run init_console; run distro_bootcmd" CONFIG_LOGLEVEL=3 CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_SPL_SYS_MALLOC=y @@ -34,7 +34,6 @@ CONFIG_SYS_SPI_U_BOOT_OFFS=0x20000 CONFIG_CMD_SPL=y CONFIG_SYS_I2C_EEPROM_ADDR_LEN=2 CONFIG_CMD_NAND=y -# CONFIG_CMD_SETEXPR is not set CONFIG_BOOTP_DNS2=y CONFIG_CMD_MTDPARTS=y # CONFIG_SPL_EFI_PARTITION is not set diff --git a/configs/am335x_hs_evm_defconfig b/configs/am335x_hs_evm_defconfig index 6673038cb4c..bdf2e303eb9 100644 --- a/configs/am335x_hs_evm_defconfig +++ b/configs/am335x_hs_evm_defconfig @@ -15,7 +15,7 @@ CONFIG_TIMESTAMP=y CONFIG_SPL_LOAD_FIT=y CONFIG_DISTRO_DEFAULTS=y CONFIG_OF_BOARD_SETUP=y -CONFIG_BOOTCOMMAND="run findfdt; run init_console; run finduuid; run distro_bootcmd" +CONFIG_BOOTCOMMAND="run findfdt; run init_console; run distro_bootcmd" CONFIG_LOGLEVEL=3 CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_SPL_MAX_SIZE=0xb0b0 diff --git a/configs/am335x_hs_evm_spi_defconfig b/configs/am335x_hs_evm_spi_defconfig index df009844def..f6cf589275c 100644 --- a/configs/am335x_hs_evm_spi_defconfig +++ b/configs/am335x_hs_evm_spi_defconfig @@ -17,7 +17,6 @@ CONFIG_CMD_I2C=y CONFIG_CMD_USB=y CONFIG_CMD_DFU=y CONFIG_CMD_GPIO=y -# CONFIG_CMD_SETEXPR is not set CONFIG_CMD_EXT4_WRITE=y CONFIG_BLK=n diff --git a/configs/am335x_hs_evm_uart_defconfig b/configs/am335x_hs_evm_uart_defconfig index 00fe12f8f67..e93a45fd6a4 100644 --- a/configs/am335x_hs_evm_uart_defconfig +++ b/configs/am335x_hs_evm_uart_defconfig @@ -18,7 +18,7 @@ CONFIG_TIMESTAMP=y CONFIG_SPL_LOAD_FIT=y CONFIG_DISTRO_DEFAULTS=y CONFIG_OF_BOARD_SETUP=y -CONFIG_BOOTCOMMAND="run findfdt; run init_console; run finduuid; run distro_bootcmd" +CONFIG_BOOTCOMMAND="run findfdt; run init_console; run distro_bootcmd" CONFIG_LOGLEVEL=3 CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_SPL_MAX_SIZE=0x9ab0 @@ -33,7 +33,6 @@ CONFIG_SPL_NAND_DRIVERS=y CONFIG_SPL_NAND_ECC=y CONFIG_SYS_I2C_EEPROM_ADDR_LEN=2 CONFIG_CMD_NAND=y -# CONFIG_CMD_SETEXPR is not set CONFIG_BOOTP_DNS2=y CONFIG_CMD_MTDPARTS=y CONFIG_MTDIDS_DEFAULT="nand0=nand.0" diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h index d2164b41d6d..46dc7e2db4e 100644 --- a/include/configs/am335x_evm.h +++ b/include/configs/am335x_evm.h @@ -81,7 +81,9 @@ #define CFG_EXTRA_ENV_SETTINGS \ DEFAULT_LINUX_BOOT_ENV \ "fdtfile=undefined\0" \ - "finduuid=part uuid mmc 0:2 uuid\0" \ + "find_distro_rootpart=" \ + "setexpr distro_rootpart ${distro_bootpart} + 1 ;" \ + "part uuid ${devtype} ${devnum}:${distro_rootpart} uuid ;\0" \ "console=ttyO0,115200n8\0" \ "partitions=" \ "uuid_disk=${uuid_gpt_disk};" \ -- 2.43.0

