Topics

[meta-rockchip][PATCH] wic: Use --offset and --fixed-size instead of --align and --size


Joshua Watt
 

The --align argument isn't intended to make a partition exist at a fixed
location like the Rockchip boot ROM requires. Use the recently added
--offset argument which will fail to build the image if the partition
can't be placed at the correct location. Also used --fixed-size to make
sure that Wic isn't inserting hidden padding that changes things around.

Finally, the location of the rootfs isn't required to be at sector
262144 since u-boot and the kernel reads the partition table to find it
and actually hasn't been at this location anyway since Wic has been
padding the /boot partition, so remove it's alignment requirements.

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
---
wic/firefly-rk3288.wks | 2 +-
wic/rk3288-boot.wks | 14 +++++++-------
wic/rk3399-boot.wks | 14 +++++++-------
wic/rock-pi-4.wks | 2 +-
wic/tinker-board.wks | 2 +-
wic/vyasa-rk3288.wks | 2 +-
6 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/wic/firefly-rk3288.wks b/wic/firefly-rk3288.wks
index b60aa0e..da0067f 100644
--- a/wic/firefly-rk3288.wks
+++ b/wic/firefly-rk3288.wks
@@ -2,6 +2,6 @@
# Released under the MIT license (see COPYING.MIT for the terms)

include rk3288-boot.wks
-part / --align 131072 --ondisk ${RK_BOOT_DEVICE} --source rootfs --fstype=ext4 --label root
+part / --ondisk ${RK_BOOT_DEVICE} --source rootfs --fstype=ext4 --label root

bootloader --ptable gpt --append="console=tty1 console=ttyS2,115200n8 rw root=/dev/${RK_BOOT_DEVICE}p7 rootfstype=ext4 init=/sbin/init"
diff --git a/wic/rk3288-boot.wks b/wic/rk3288-boot.wks
index c0b7d95..e4d30cc 100644
--- a/wic/rk3288-boot.wks
+++ b/wic/rk3288-boot.wks
@@ -12,13 +12,13 @@
# loader2 16384 8192
# atf 24576 8192
# boot 32768 229376
-# root 262144 -
+# root 262144 - (suggested)
#

-part loader1 --align 32 --size 4000K --ondisk ${RK_BOOT_DEVICE} --source rawcopy --sourceparams="file=idbloader.img"
-part reserved1 --align 4032 --size 64K --ondisk ${RK_BOOT_DEVICE}
-part reserved2 --align 4096 --size 4096K --ondisk ${RK_BOOT_DEVICE}
-part loader2 --align 8192 --size 4096K --ondisk ${RK_BOOT_DEVICE} --source rawcopy --sourceparams="file=u-boot.bin"
-part atf --align 12288 --size 4096K --ondisk ${RK_BOOT_DEVICE}
-part /boot --align 16384 --size=114688K --active --ondisk ${RK_BOOT_DEVICE} --source bootimg-partition --fstype=vfat --label boot --sourceparams="loader=u-boot"
+part loader1 --offset 32 --fixed-size 4000K --ondisk ${RK_BOOT_DEVICE} --source rawcopy --sourceparams="file=idbloader.img"
+part reserved1 --offset 4032 --fixed-size 64K --ondisk ${RK_BOOT_DEVICE}
+part reserved2 --offset 4096 --fixed-size 4096K --ondisk ${RK_BOOT_DEVICE}
+part loader2 --offset 8192 --fixed-size 4096K --ondisk ${RK_BOOT_DEVICE} --source rawcopy --sourceparams="file=u-boot.bin"
+part atf --offset 12288 --fixed-size 4096K --ondisk ${RK_BOOT_DEVICE}
+part /boot --offset 16384 --size 114688K --active --ondisk ${RK_BOOT_DEVICE} --source bootimg-partition --fstype=vfat --label boot --sourceparams="loader=u-boot"

diff --git a/wic/rk3399-boot.wks b/wic/rk3399-boot.wks
index 885d46b..8a65179 100644
--- a/wic/rk3399-boot.wks
+++ b/wic/rk3399-boot.wks
@@ -12,13 +12,13 @@
# loader2 16384 8192
# atf 24576 8192
# boot 32768 229376
-# root 262144 -
+# root 262144 - (suggested)
#

-part loader1 --align 32 --size 4000K --ondisk ${RK_BOOT_DEVICE} --source rawcopy --sourceparams="file=idbloader.img"
-part reserved1 --align 4032 --size 64K --ondisk ${RK_BOOT_DEVICE}
-part reserved2 --align 4096 --size 4096K --ondisk ${RK_BOOT_DEVICE}
-part loader2 --align 8192 --size 4096K --ondisk ${RK_BOOT_DEVICE} --source rawcopy --sourceparams="file=u-boot.itb"
-part atf --align 12288 --size 4096K --ondisk ${RK_BOOT_DEVICE}
-part /boot --align 16384 --size=114688K --active --ondisk ${RK_BOOT_DEVICE} --source bootimg-partition --fstype=vfat --label boot --sourceparams="loader=u-boot"
+part loader1 --offset 32 --fixed-size 4000K --ondisk ${RK_BOOT_DEVICE} --source rawcopy --sourceparams="file=idbloader.img"
+part reserved1 --offset 4032 --fixed-size 64K --ondisk ${RK_BOOT_DEVICE}
+part reserved2 --offset 4096 --fixed-size 4096K --ondisk ${RK_BOOT_DEVICE}
+part loader2 --offset 8192 --fixed-size 4096K --ondisk ${RK_BOOT_DEVICE} --source rawcopy --sourceparams="file=u-boot.itb"
+part atf --offset 12288 --fixed-size 4096K --ondisk ${RK_BOOT_DEVICE}
+part /boot --offset 16384 --size 114688K --active --ondisk ${RK_BOOT_DEVICE} --source bootimg-partition --fstype=vfat --label boot --sourceparams="loader=u-boot"

diff --git a/wic/rock-pi-4.wks b/wic/rock-pi-4.wks
index 75ac358..c6174a9 100644
--- a/wic/rock-pi-4.wks
+++ b/wic/rock-pi-4.wks
@@ -2,6 +2,6 @@
# Released under the MIT license (see COPYING.MIT for the terms)

include rk3399-boot.wks
-part / --align 131072 --ondisk ${RK_BOOT_DEVICE} --source rootfs --fstype=ext4 --label root
+part / --ondisk ${RK_BOOT_DEVICE} --source rootfs --fstype=ext4 --label root

bootloader --ptable gpt --append="console=tty1 console=ttyS2,1500000n8 rw root=/dev/${RK_BOOT_DEVICE}p7 rootfstype=ext4 init=/sbin/init"
diff --git a/wic/tinker-board.wks b/wic/tinker-board.wks
index 8f08138..5a63ce0 100644
--- a/wic/tinker-board.wks
+++ b/wic/tinker-board.wks
@@ -3,6 +3,6 @@

include rk3288-boot.wks

-part / --align 131072 --ondisk ${RK_BOOT_DEVICE} --source rootfs --fstype=ext4 --label root
+part / --ondisk ${RK_BOOT_DEVICE} --source rootfs --fstype=ext4 --label root

bootloader --ptable gpt --append="console=tty1 console=ttyS2,115200n8 rw root=/dev/${RK_BOOT_DEVICE}p7 rootfstype=ext4 init=/sbin/init"
diff --git a/wic/vyasa-rk3288.wks b/wic/vyasa-rk3288.wks
index b577e5a..5db65df 100644
--- a/wic/vyasa-rk3288.wks
+++ b/wic/vyasa-rk3288.wks
@@ -2,7 +2,7 @@
# Released under the MIT license (see COPYING.MIT for the terms)

include rk3288-boot.wks
-part / --align 131072 --ondisk ${RK_BOOT_DEVICE} --source rootfs --fstype=ext4 --label root
+part / --ondisk ${RK_BOOT_DEVICE} --source rootfs --fstype=ext4 --label root

bootloader --ptable gpt --append="console=tty1 console=ttyS2,115200n8 rw root=/dev/${RK_BOOT_DEVICE}p7 rootfstype=ext4 init=/sbin/init"

--
2.26.2


Trevor Woerner
 

Applied to master, thanks!