summaryrefslogtreecommitdiff
path: root/meta-nuvoton/wic/emmc-nuvoton.wks.in
blob: 6e2e054fb1e0b9389cb5549dfbc1b40f2f7bcc0d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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