Partitioning UFS: Add rockchip support

This commit is contained in:
Mecid Urganci 2025-09-01 21:53:19 +02:00 committed by Rolf Leggewie
parent 1fae738147
commit 61526350f3

View File

@ -223,17 +223,22 @@ function prepare_partitions() {
# Root filesystem partition
if [[ -n "$rootpart" ]]; then
# dos: Linux
# gpt: Linux root
# gpt: Linux root (or EFI System for Rockchip UFS: For some reason uboot expects it to be EFI System else the SBC crashes)
if [[ "$IMAGE_PARTITION_TABLE" != "gpt" ]]; then
local type="83"
else
# Linux root has a different Type-UUID for every architecture
# See https://uapi-group.org/specifications/specs/discoverable_partitions_specification/
# The ${PARTITION_TYPE_UUID_ROOT} variable is defined in each architecture file (e.g. config/sources/arm64.conf)
if [[ -n "${PARTITION_TYPE_UUID_ROOT}" ]]; then
local type="${PARTITION_TYPE_UUID_ROOT}"
# Special case: Use EFI System type for rk35xx with 4096 sector size
if [[ "$BOARDFAMILY" == "rk35xx" && "$SECTOR_SIZE" == "4096" ]]; then
local type="C12A7328-F81F-11D2-BA4B-00A0C93EC93B" # EFI System
else
exit_with_error "Missing 'PARTITION_TYPE_UUID_ROOT' variable while partitioning the root filesystem!"
# Linux root has a different Type-UUID for every architecture
# See https://uapi-group.org/specifications/specs/discoverable_partitions_specification/
# The ${PARTITION_TYPE_UUID_ROOT} variable is defined in each architecture file (e.g. config/sources/arm64.conf)
if [[ -n "${PARTITION_TYPE_UUID_ROOT}" ]]; then
local type="${PARTITION_TYPE_UUID_ROOT}"
else
exit_with_error "Missing 'PARTITION_TYPE_UUID_ROOT' variable while partitioning the root filesystem!"
fi
fi
fi
# No 'size' argument means "expand as much as possible"