summaryrefslogtreecommitdiff
path: root/meta-nuvoton/wic
diff options
context:
space:
mode:
authorBrian Ma <chma0@nuvoton.com>2023-05-10 09:49:35 +0300
committerTim Lee <chli30@nuvoton.com>2023-07-04 08:37:59 +0300
commit816dbb7809f44006b99a03a4b61c75a0e6dca7dc (patch)
tree985d117db09f59942d33d6ef340f732ade6404cd /meta-nuvoton/wic
parent2a1e461a98a74229bab8decf68b9d79bb1555253 (diff)
downloadopenbmc-816dbb7809f44006b99a03a4b61c75a0e6dca7dc.tar.xz
meta-nuvoton: Add build wic image support
We add wks file and relative config for build wic image. Now user can build wic image by include phosphor-mmc.inc. And set WKS_RWFS_SIZE, WKS_RWFS_SIZE to adjust eMMC parition size instead of create new wks file for each board. Change-Id: I1ed342658d791fd9011bd31ea6db36d4362d120b Signed-off-by: Brian Ma <chma0@nuvoton.com>
Diffstat (limited to 'meta-nuvoton/wic')
-rw-r--r--meta-nuvoton/wic/emmc-nuvoton.wks.in32
1 files changed, 32 insertions, 0 deletions
diff --git a/meta-nuvoton/wic/emmc-nuvoton.wks.in b/meta-nuvoton/wic/emmc-nuvoton.wks.in
new file mode 100644
index 0000000000..6e2e054fb1
--- /dev/null
+++ b/meta-nuvoton/wic/emmc-nuvoton.wks.in
@@ -0,0 +1,32 @@
+# short-description: Create an image for eMMC
+# long-description: Creates an eMMC card image for the User Data Area that can
+# be used with the Nuvoton SoC family.
+#
+# Assumes a minimum flash size of 1GB.
+# Assumes U-Boot is stored elsewhere, such as an eMMC boot volume or NOR flash.
+#
+# --- - ---------- -------- -------- -------- -------- ------ -------
+# |GPT| | reserved | boot-a | boot-b | rofs-a | rofs-b | rwfs |GPT-sec|
+# --- - ---------- -------- -------- -------- -------- ------ -------
+# ^ 1MB 64MB 64MB 256MB 256MB 256MB
+# |
+# 0x5000
+#
+# Primary GPT size (Beginning of image):
+# 512B (Protective MBR) + 512B (Primary Header) + 16KB (Primary Table)
+# First partition (u-boot-env) is 4K-aligned, which puts it at offset 0x5000
+#
+# Secondary GPT size (End of image):
+# 16KB (Secondary Table) + 512B (Secondary Header)
+
+bootloader --ptable gpt
+
+# Hint: bootimg-partition size must be same as MMC_BOOT_PARTITION_SIZE
+# Note: the partition layout above is SoC default value, it may change by user
+# set WKS_ROFS_SIZE, WKS_RWFS_SIZE or MMC_BOOT_PARTITION_SIZE.
+part --align 4 --fixed-size 1M
+part --fstype=ext4 --fixed-size ${MMC_BOOT_PARTITION_SIZE}K --source bootimg-partition --label boot-a
+part --fstype=ext4 --fixed-size ${MMC_BOOT_PARTITION_SIZE}K --source bootimg-partition --label boot-b
+part --fstype=ext4 --fixed-size ${WKS_ROFS_SIZE} --source rootfs --label rofs-a
+part --fstype=ext4 --fixed-size ${WKS_ROFS_SIZE} --source rootfs --label rofs-b
+part --fstype=ext4 --fixed-size ${WKS_RWFS_SIZE} --label rwfs