
On Fri, 2019-05-24 at 09:51 +0200, Marcel Ziswiler wrote:
On Mon, 2019-05-13 at 12:15 +0300, Igor Opaniuk wrote:
- Replace usage of "/dev/mmcblk*p*" with a proper UUID of rootfs
partition. This fixes the issue, when MMC controllers are probed in a different order in U-boot and Linux kernel. 2. Fix legacy USB command (both sdboot and usbboot can be used now).
Signed-off-by: Igor Opaniuk igor.opaniuk@toradex.com
include/configs/apalis_imx6.h | 62 ++++++++++++++++++++++++-------
-- 1 file changed, 42 insertions(+), 20 deletions(-)
diff --git a/include/configs/apalis_imx6.h b/include/configs/apalis_imx6.h index 96169f55f0..04b21a3128 100644 --- a/include/configs/apalis_imx6.h +++ b/include/configs/apalis_imx6.h @@ -125,16 +125,21 @@ "imx6q-apalis-cam-eval.dtb fat 0 1"
#define EMMC_BOOTCMD \
- "emmcargs=ip=off root=/dev/mmcblk0p2 rw,noatime
Here we should probably also transition to ro instead as e.g. systemd will re-mount rw,whatever later.
rootfstype=ext4 " \
"rootwait\0" \
- "emmcboot=run setup; " \
- "set_emmcargs emmcargs ip=off root=PARTUUID=${uuid} rw,noatime
Sorry, above comment was meant to go here (;-p).
" \
"rootfstype=ext4 rootwait\0" \
- "emmcboot=run setup; run emmcfinduuid; run set_emmcargs; " \ "setenv bootargs ${defargs} ${emmcargs} ${setupargs} "
\ "${vidargs}; echo Booting from internal eMMC chip...; " \
"run emmcdtbload; load mmc 0:1 ${kernel_addr_r} " \
"${boot_file} && run fdt_fixup && " \
"run emmcdtbload; load mmc ${emmcdev}:${emmcbootpart} "
\
"bootz ${kernel_addr_r} ${dtbparam}\0" \"${kernel_addr_r} ${boot_file} && run fdt_fixup && " \
- "emmcdtbload=setenv dtbparam; load mmc 0:1 ${fdt_addr_r} " \
"${fdt_file} && setenv dtbparam \" - ${fdt_addr_r}\" &&
true\0"
- "emmcbootpart=1\0" \
- "emmcdev=0\0" \
- "emmcdtbload=setenv dtbparam; load mmc
${emmcdev}:${emmcbootpart} " \
"${fdt_addr_r} ${fdt_file} && " \
"setenv dtbparam \" - ${fdt_addr_r}\" && true\0" \
- "emmcfinduuid=part uuid mmc ${mmcdev}:${emmcrootpart} uuid\0" \
- "emmcrootpart=2\0"
#define MEM_LAYOUT_ENV_SETTINGS \ "bootm_size=0x20000000\0" \ @@ -157,27 +162,43 @@ "&& setenv dtbparam " - ${fdt_addr_r}" && true\0"
#define SD_BOOTCMD \
- "sdargs=ip=off root=/dev/mmcblk1p2 rw,noatime
Same here.
rootfstype=ext4 " \
"rootwait\0" \
- "sdboot=run setup; " \
- "set_sdargs=setenv sdargs ip=off root=PARTUUID=${uuid}
rw,noatime
And here (;-p).
" \
"rootfstype=ext4 rootwait\0" \
- "sdboot=run setup; run sdfinduuid; run set_sdargs; " \ "setenv bootargs ${defargs} ${sdargs} ${setupargs} " \ "${vidargs}; echo Booting from SD card; " \
"run sddtbload; load mmc 1:1 ${kernel_addr_r} " \
"${boot_file} && run fdt_fixup && " \
"run sddtbload; load mmc ${sddev}:${sdbootpart} " \
"bootz ${kernel_addr_r} ${dtbparam}\0" \"${kernel_addr_r} ${boot_file} && run fdt_fixup && " \
- "sddtbload=setenv dtbparam; load mmc 1:1 ${fdt_addr_r} " \
"${fdt_file} && setenv dtbparam \" - ${fdt_addr_r}\" &&
true\0"
- "sdbootpart=1\0" \
- "sddev=1\0" \
- "sddtbload=setenv dtbparam; load mmc ${sddev}:${sdbootpart} " \
"${fdt_addr_r} " \
"${fdt_file} && setenv dtbparam \" - " \
"${fdt_addr_r}\" && true\0" \
- "sdfinduuid=part uuid mmc ${sddev}:${sdrootpart} uuid\0" \
- "sdrootpart=2\0"
#define USB_BOOTCMD \
- "usbargs=ip=off root=/dev/sda2 rw,noatime
And here.
rootfstype=ext4 " \
"rootwait\0" \
- "usbboot=run setup; setenv bootargs ${defargs} ${setupargs} " \
- "set_usbargs=setenv usbargs ip=off root=PARTUUID=${uuid}
rw,noatime
And here (;-p).
" \
"rootfstype=ext4 rootwait\0" \
- "usbboot=run setup; usb start; run usbfinduuid; run
set_usbargs; " \
"${usbargs} ${vidargs}; echo Booting from USB stick...;"setenv bootargs ${defargs} ${setupargs} " \
" \
"usb start && run usbdtbload; load usb 0:1
${kernel_addr_r} " \
"run usbdtbload; load usb " \
"${boot_file} && run fdt_fixup && " \ "bootz ${kernel_addr_r} ${dtbparam}\0" \"${usbdev}:${usbbootpart} ${kernel_addr_r} " \
- "usbdtbload=setenv dtbparam; load usb 0:1 ${fdt_addr_r} " \
"${fdt_file} && setenv dtbparam \" - ${fdt_addr_r}\" &&
true\0"
- "usbbootpart=1\0" \
- "usbdev=0\0" \
- "usbdtbload=setenv dtbparam; load usb ${usbdev}:${usbbootpart}
"\
"${fdt_addr_r} " \
"${fdt_file} && setenv dtbparam \" - " \
"${fdt_addr_r}\" && true\0" \
- "usbfinduuid=part uuid usb ${usbdev}:${usbrootpart} uuid\0" \
- "usbrootpart=2\0"
#ifndef CONFIG_TDX_APALIS_IMX6_V1_0 #define FDT_FILE "imx6q-apalis-eval.dtb" @@ -201,6 +222,7 @@ MEM_LAYOUT_ENV_SETTINGS \ NFS_BOOTCMD \ SD_BOOTCMD \
- USB_BOOTCMD \ "setethupdate=if env exists ethaddr; then; else setenv ethaddr
" \ "00:14:2d:00:00:00; fi; tftpboot ${loadaddr} " \ "flash_eth.img && source ${loadaddr}\0" \
With the above fixed:
Acked-by: Marcel Ziswiler marcel.ziswiler@toradex.com