# 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