board/orangepi-pc-plus: switch to GPT partitions for PARTLABEL support
authorSergey Matyukevich <geomatsi@gmail.com>
Sun, 13 Jun 2021 16:19:26 +0000 (19:19 +0300)
committerArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tue, 13 Jul 2021 19:57:15 +0000 (21:57 +0200)
In new kernels sunxi-mmc driver has been switched to asynchronous probe.
As a result, mmc (SD/eMMC) indexes can be shuffled breaking board boot.
Switch to GPT partitions to use partition labels instead of explicit
mmcblk device names. Note that the default GPT partition table location
conflicts with the SPL location, so move GPT table after bootloaders.

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
board/orangepi/orangepi-pc-plus/boot.cmd
board/orangepi/orangepi-pc-plus/genimage.cfg

index 0c75c862e08361f292178c42035e4677f4fb81e9..c91f77942f9927f1aa48b97ade0104572b8dd617 100644 (file)
@@ -1,6 +1,6 @@
 setenv fdt_high ffffffff
 
-setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
+setenv bootargs console=ttyS0,115200 earlyprintk root=PARTLABEL=rootfs rootwait
 
 fatload mmc 0 $kernel_addr_r zImage
 fatload mmc 0 $fdt_addr_r sun8i-h3-orangepi-pc-plus.dtb
index 9ffa1a21ae678ba3978663d10fd50143e36fdf2f..b4fcc827ecb6387edde5e5fdb25087bf5afed8e3 100644 (file)
@@ -13,13 +13,17 @@ image boot.vfat {
 
 image sdcard.img {
        hdimage {
+               # for root=PARTLABEL support
+               gpt = true
+               # default GPT location conflicts with bootloaders, move it after
+               gpt-location = 1M
        }
 
        partition u-boot {
                in-partition-table = "no"
                image = "u-boot-sunxi-with-spl.bin"
                offset = 8192
-               size = 1040384 # 1MB - 8192
+               size = 1056768 # 1MB - 8K + 16K(GPT)
        }
 
        partition boot {
@@ -28,6 +32,8 @@ image sdcard.img {
                image = "boot.vfat"
        }
 
+       # 'rootfs' will be used as the partition label, used
+       # with root=PARTLABEL=rootfs kernel command line
        partition rootfs {
                partition-type = 0x83
                image = "rootfs.ext4"