Add GPT partition table support (#2015)

* Add GPT parition table support               Leave unchanged / mbr by default since GPT doesn't works everywhere.

* Accept ROOTFS_PARTITION_TABLE as a parameter

Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>

* Change variable name

Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>

* Update README.md
This commit is contained in:
Igor Pečovnik 2020-06-14 23:03:58 +02:00 committed by GitHub
parent 8f9f12065e
commit ca67855553
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 7 additions and 5 deletions

View File

@ -5,6 +5,7 @@
| BOARDFAMILY | [sun8i, sun7i, rockchip64](../sources) |
| BOOTCONFIG | name of u-boot config |
| BOOTSIZE | size of a separate boot partition in Mib |
| IMAGE_PARTITION_TABLE | "msdos" (default) or "gpt" (boot loader must supports it) |
| BOOTFS_TYPE | boot partition type: ext4, fat |
| DEFAULT_OVERLAYS | usbhost1 usbhost2 ... |
| DEFAULT_CONSOLE | serial = change default boot output |

View File

@ -57,7 +57,7 @@ unset LINUXFAMILY LINUXCONFIG KERNELDIR KERNELSOURCE KERNELBRANCH BOOTDIR BOOTSO
DEB_STORAGE REPO_STORAGE REPO_CONFIG REPOSITORY_UPDATE PACKAGE_LIST_RELEASE LOCAL_MIRROR COMPILE_ATF \
PACKAGE_LIST_DESKTOP_BOARD PACKAGE_LIST_DESKTOP_FAMILY ATF_COMPILE ATFPATCHDIR OFFSET BOOTSOURCEDIR BOOT_USE_BLOBS \
BOOT_SOC DDR_BLOB MINILOADER_BLOB BL31_BLOB BOOT_RK3328_USE_AYUFAN_ATF BOOT_USE_BLOBS BOOT_RK3399_LEGACY_HYBRID \
BOOT_USE_MAINLINE_ATF BOOT_USE_TPL_SPL_BLOB OFFLINE_WORK
BOOT_USE_MAINLINE_ATF BOOT_USE_TPL_SPL_BLOB OFFLINE_WORK IMAGE_PARTITION_TABLE
}
pack_upload ()

View File

@ -84,6 +84,7 @@ ATF_COMPILE=yes
[[ -z $WIREGUARD ]] && WIREGUARD="yes"
[[ -z $EXTRAWIFI ]] && EXTRAWIFI="yes"
[[ -z $AUFS ]] && AUFS="yes"
[[ -z $IMAGE_PARTITION_TABLE ]] && IMAGE_PARTITION_TABLE="msdos"
# single ext4 partition is the default and preferred configuration
#BOOTFS_TYPE=''

View File

@ -415,17 +415,17 @@ prepare_partitions()
# stage: create partition table
display_alert "Creating partitions" "${bootfs:+/boot: $bootfs }root: $ROOTFS_TYPE" "info"
parted -s ${SDCARD}.raw -- mklabel msdos
parted -s ${SDCARD}.raw -- mklabel ${IMAGE_PARTITION_TABLE}
if [[ $ROOTFS_TYPE == nfs ]]; then
# single /boot partition
parted -s ${SDCARD}.raw -- mkpart primary ${parttype[$bootfs]} ${bootstart}s -1s
parted -s ${SDCARD}.raw -- mkpart primary ${parttype[$bootfs]} ${bootstart}s 100%
elif [[ $BOOTSIZE == 0 ]]; then
# single root partition
parted -s ${SDCARD}.raw -- mkpart primary ${parttype[$ROOTFS_TYPE]} ${rootstart}s -1s
parted -s ${SDCARD}.raw -- mkpart primary ${parttype[$ROOTFS_TYPE]} ${rootstart}s 100%
else
# /boot partition + root partition
parted -s ${SDCARD}.raw -- mkpart primary ${parttype[$bootfs]} ${bootstart}s ${bootend}s
parted -s ${SDCARD}.raw -- mkpart primary ${parttype[$ROOTFS_TYPE]} ${rootstart}s -1s
parted -s ${SDCARD}.raw -- mkpart primary ${parttype[$ROOTFS_TYPE]} ${rootstart}s 100%
fi
# stage: mount image