Skip to contentSkip to conversation

mx6slevk: Use PARTUUID to specify the rootfs location

PATCH New Fabio Estevam 3 participants 5 messages Oct 2, 2017 – Oct 12, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mx6slevk: Use PARTUUID to specify the rootfs location

From: Fabio Estevam <[email protected]>

mx6slevk 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 SD card changes depending on the kernel version.

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

---
 configs/mx6slevk_defconfig     | 1 +
 configs/mx6slevk_spl_defconfig | 1 +
 include/configs/mx6slevk.h     | 5 +++--
 3 files changed, 5 insertions(+), 2 deletions(-)
configs/mx6slevk_defconfig +1 -0
index 1c28942..641fa85 100644
@@ -13,6 +13,7 @@ CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_PART=y
 CONFIG_CMD_SF=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
configs/mx6slevk_spl_defconfig +1 -0
index 4d4f273..8fadbcc 100644
@@ -21,6 +21,7 @@ CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_PART=y
 CONFIG_CMD_SF=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
include/configs/mx6slevk.h +3 -2
index 25c83e8..9ddb143 100644
@@ -53,9 +53,9 @@
 	"ip_dyn=yes\0" \
 	"mmcdev=1\0" \
 	"mmcpart=1\0" \
-	"mmcroot=/dev/mmcblk0p2 rootwait rw\0" \
+	"finduuid=part uuid mmc 1:2 uuid\0" \
 	"mmcargs=setenv bootargs console=${console},${baudrate} " \
-		"root=${mmcroot}\0" \
+		"root=PARTUUID=${uuid} rootwait rw\0" \
 	"loadbootscript=" \
 		"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
 	"bootscript=echo Running bootscript from mmc ...; " \
@@ -63,6 +63,7 @@
 	"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
 	"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
 	"mmcboot=echo Booting from mmc ...; " \
+		"run finduuid; " \
 		"run mmcargs; " \
 		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
 			"if run loadfdt; then " \
Signature · 1 line
2.7.4
#1 lore raw

PATCH 1/1 mx6slevk: Use PARTUUID to specify the rootfs location

Quoted 8 lines · Fabio Estevam

From: Fabio Estevam <[email protected]>

mx6slevk 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 SD card changes depending on the kernel version.

Quoted 5 lines

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

---

Applied to u-boot-imx, thanks !

Best regards,
Stefano Babic

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
#2 lore raw

PATCH 1/1 mx6slevk: Use PARTUUID to specify the rootfs location

In reply to Fabio Estevam
Quoted 47 lines · Fabio Estevam

From: Fabio Estevam <[email protected]>

mx6slevk 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 SD card changes depending on the kernel version.

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

---
 configs/mx6slevk_defconfig     | 1 +
 configs/mx6slevk_spl_defconfig | 1 +
 include/configs/mx6slevk.h     | 5 +++--
 3 files changed, 5 insertions(+), 2 deletions(-)
configs/mx6slevk_defconfig +1 -0
index 1c28942..641fa85 100644
@@ -13,6 +13,7 @@ CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_PART=y
 CONFIG_CMD_SF=y
 CONFIG_CMD_USB=y
 # CONFIG_CMD_SETEXPR is not set
configs/mx6slevk_spl_defconfig +1 -0
index 4d4f273..8fadbcc 100644
@@ -21,6 +21,7 @@ CONFIG_CMD_BOOTZ=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_PART=y
 CONFIG_CMD_SF=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_DHCP=y
include/configs/mx6slevk.h +0 -0
index 25c83e8..9ddb143 100644

include/configs/mx6slevk.h line 58

Quoted 8 lines
include/configs/mx6slevk.h +2 -2
@@ -53,9 +53,9 @@
 	"ip_dyn=yes\0" \
 	"mmcdev=1\0" \
 	"mmcpart=1\0" \
-	"mmcroot=/dev/mmcblk0p2 rootwait rw\0" \
+	"finduuid=part uuid mmc 1:2 uuid\0" \
 	"mmcargs=setenv bootargs console=${console},${baudrate} " \
-		"root=${mmcroot}\0" \
+		"root=PARTUUID=${uuid} rootwait rw\0" \

Shouldn't mmcpart be changed to 2 here as well and finduud be part uuid ${mmcdev}:${mmcpart} ? This would also make things a bit more scriptable for use in other distros.

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171012/943fede8/attachment.sig>
#3 lore raw

PATCH 1/1 mx6slevk: Use PARTUUID to specify the rootfs location

Quoted 3 lines · Tom Rini

Shouldn't mmcpart be changed to 2 here as well and finduud be part uuid ${mmcdev}:${mmcpart} ? This would also make things a bit more scriptable for use in other distros.

mmcpart is still used to load kernel and dtb from the fat partition, so it should remain at 1.

I can probably remove this partition scheme assumptions from U-Boot and use distro_config instead for the next release.

Thanks

Quoted 3 lines

--
Tom

#4 lore raw

PATCH 1/1 mx6slevk: Use PARTUUID to specify the rootfs location

Quoted 11 lines · Fabio Estevam
Quoted 3 lines · Tom Rini

Shouldn't mmcpart be changed to 2 here as well and finduud be part uuid ${mmcdev}:${mmcpart} ? This would also make things a bit more scriptable for use in other distros.

mmcpart is still used to load kernel and dtb from the fat partition, so it should remain at 1.

I can probably remove this partition scheme assumptions from U-Boot and use distro_config instead for the next release.

OK, thanks.

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171012/00501b3b/attachment.sig>