warp7: Use PARTUUID to specify the rootfs location

warp7 can run different kernel versions, such as NXP 4.1 or mainline.

Currently the rootfs location is passed via mmcblk number and the
problem with this approach is that the mmcblk number for the eMMC
changes depending on the kernel version.

In order to avoid such issue, use UUID method to specify the rootfs
location.

Succesfully tested booting a NXP 4.1 and also a mainline kernel.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
This commit is contained in:
Fabio Estevam 2016-08-25 21:07:19 -03:00 committed by Stefano Babic
parent 375d19c911
commit ca4f338e2e
1 changed files with 6 additions and 3 deletions

View File

@ -29,6 +29,9 @@
#define CONFIG_SYS_FSL_ESDHC_HAS_DDR_MODE #define CONFIG_SYS_FSL_ESDHC_HAS_DDR_MODE
#define CONFIG_SYS_MMC_IMG_LOAD_PART 1 #define CONFIG_SYS_MMC_IMG_LOAD_PART 1
#define CONFIG_PARTITION_UUIDS
#define CONFIG_CMD_PART
#define CONFIG_DFU_ENV_SETTINGS \ #define CONFIG_DFU_ENV_SETTINGS \
"dfu_alt_info=boot raw 0x2 0x400 mmcpart 1\0" \ "dfu_alt_info=boot raw 0x2 0x400 mmcpart 1\0" \
@ -45,9 +48,9 @@
"ip_dyn=yes\0" \ "ip_dyn=yes\0" \
"mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \ "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \
"mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \ "mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \
"mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \ "finduuid=part uuid mmc 0:2 uuid\0" \
"mmcargs=setenv bootargs console=${console},${baudrate} " \ "mmcargs=setenv bootargs console=${console},${baudrate} " \
"root=${mmcroot}\0" \ "root=PARTUUID=${uuid} rootwait rw\0" \
"loadbootscript=" \ "loadbootscript=" \
"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
"bootscript=echo Running bootscript from mmc ...; " \ "bootscript=echo Running bootscript from mmc ...; " \
@ -55,6 +58,7 @@
"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
"mmcboot=echo Booting from mmc ...; " \ "mmcboot=echo Booting from mmc ...; " \
"run finduuid; " \
"run mmcargs; " \ "run mmcargs; " \
"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
"if run loadfdt; then " \ "if run loadfdt; then " \
@ -125,7 +129,6 @@
#define CONFIG_SYS_MMC_ENV_DEV 0 #define CONFIG_SYS_MMC_ENV_DEV 0
#define CONFIG_SYS_MMC_ENV_PART 0 #define CONFIG_SYS_MMC_ENV_PART 0
#define CONFIG_MMCROOT "/dev/mmcblk2p2"
/* USB Configs */ /* USB Configs */
#define CONFIG_USB_STORAGE #define CONFIG_USB_STORAGE