diff --git a/mkimg.sh b/mkimg.sh index 0d79098..deccad9 100755 --- a/mkimg.sh +++ b/mkimg.sh @@ -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 diff --git a/wrimg.sh b/wrimg.sh index 6146266..bd8dcab 100755 --- a/wrimg.sh +++ b/wrimg.sh @@ -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