1
0
Fork 0

Fix wrimg.sh partition layout and mkimg.sh sgdisk dependency

This commit is contained in:
Brendan Szymanski 2026-07-12 00:08:30 -04:00
parent 9063cf7f8e
commit fad0e966b0
2 changed files with 25 additions and 8 deletions

View file

@ -186,6 +186,5 @@ sudo chown "${USER}:${USER}" "${IMAGE_PATH}"
echo "✅ Created ${IMAGE_PATH} with GPT partition names and filesystem labels."
echo "You should now be able to write this image to your SD/NVMe and boot RK3588. "
sudo sgdisk -p "${IMAGE_PATH}"
sudo sfdisk -l "${IMAGE_PATH}"
exit 0

View file

@ -12,7 +12,7 @@ exit_with_error() {
}
check_device() {
for PARTITION in "1" "2" "3" "4"; do
for PARTITION in "1" "2" "3" "4" "5"; do
if [ ! -b /dev/${1}${PARTITION} ]; then
return 1
fi
@ -22,17 +22,21 @@ check_device() {
PARTITION2=$(lsblk -o LABEL,SIZE -b /dev/${1}2 | tail -n 1)
PARTITION3=$(lsblk -o LABEL,SIZE -b /dev/${1}3 | tail -n 1)
PARTITION4=$(lsblk -o LABEL,SIZE -b /dev/${1}4 | tail -n 1)
PARTITION5=$(lsblk -o LABEL,SIZE -b /dev/${1}5 | tail -n 1)
if [ $(echo ${PARTITION1} | awk {'print $1'}) != "boot" ] || [ $(echo ${PARTITION1} | awk {'print $2'}) != "134217728" ]; then
return 1
fi
if [ $(echo ${PARTITION2} | awk {'print $1'}) != "/" ] || [ $(echo ${PARTITION2} | awk {'print $2'}) != "2684354560" ]; then
if [ $(echo ${PARTITION2} | awk {'print $1'}) != "system" ] || [ $(echo ${PARTITION2} | awk {'print $2'}) != "3221225472" ]; then
return 1
fi
if [ $(echo ${PARTITION3} | awk {'print $1'}) != "vendor" ] || [ $(echo ${PARTITION3} | awk {'print $2'}) != "268435456" ]; then
if [ $(echo ${PARTITION3} | awk {'print $1'}) != "vendor" ] || [ $(echo ${PARTITION3} | awk {'print $2'}) != "402653184" ]; then
return 1
fi
if [ $(echo ${PARTITION4} | awk {'print $1'}) != "userdata" ]; then
if [ $(echo ${PARTITION4} | awk {'print $1'}) != "metadata" ] || [ $(echo ${PARTITION4} | awk {'print $2'}) != "16777216" ]; then
return 1
fi
if [ $(echo ${PARTITION5} | awk {'print $1'}) != "userdata" ]; then
return 1
fi
@ -57,6 +61,8 @@ confirm() {
echo "Build target ${1}..."
if [ "${2}" == "wipe" ]; then
echo "Wiping userdata partition..."
elif [ "${2}" == "wipe-metadata" ]; then
echo "Wiping metadata partition..."
else
echo "Writing ${2} image..."
fi
@ -82,9 +88,16 @@ write_partition() {
wipe_userdata() {
echo "Creating userdata..."
sudo umount /dev/${DEVICE}5
sudo wipefs -a /dev/${DEVICE}5
sudo mkfs.ext4 /dev/${DEVICE}5 -I 512 -L userdata
}
wipe_metadata() {
echo "Creating metadata..."
sudo umount /dev/${DEVICE}4
sudo wipefs -a /dev/${DEVICE}4
sudo mkfs.ext4 /dev/${DEVICE}4 -I 512 -L userdata
sudo mkfs.ext4 /dev/${DEVICE}4 -I 512 -L metadata
}
finish() {
@ -131,6 +144,11 @@ elif [ ! -z $1 ] && [ $1 == "wipe" ]; then
confirm ${TARGET} "wipe"
wipe_userdata
finish
elif [ ! -z $1 ] && [ $1 == "wipe-metadata" ]; then
find_device
confirm ${TARGET} "wipe-metadata"
wipe_metadata
finish
else
exit_with_error "Usage: $0 [boot|system|vendor|wipe]"
exit_with_error "Usage: $0 [boot|system|vendor|wipe|wipe-metadata]"
fi