From c28587caaddbd32ca0f9678386af668bc03deb5c Mon Sep 17 00:00:00 2001 From: FriendlyNeighborhoodShane Date: Wed, 3 Apr 2024 12:07:44 +0530 Subject: [PATCH] src: update mounting code Some devices have a /system mount entry in fstab as well as using /system for bins like chcon. Accomodate those by only mounting system when no other candidate is found. --- src/META-INF/com/google/android/update-binary | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/META-INF/com/google/android/update-binary b/src/META-INF/com/google/android/update-binary index 4230fe4..8ab9c49 100644 --- a/src/META-INF/com/google/android/update-binary +++ b/src/META-INF/com/google/android/update-binary @@ -118,21 +118,22 @@ log "Bootmode is $bootmode"; $bootmode || { log " "; log "Mounting early"; - for part in "/system" "/system_root"; do - [ -e "$part" ] || continue; - mount -o ro "$part"; - log "Mountpoint $part mounted (auto)"; - umountparts="$umountparts $part"; - done; sysblk="$(find_block /system_root /system /)"; - [ "$sysblk" ] && { + if [ "$sysblk" ]; then for part in "/mnt/system"; do mkdir -p "$part"; mount -o ro "$sysblk" "$part"; umountparts="$umountparts $part"; log "Mountpoint $part mounted (manual $sysblk)"; done; - } + else + for part in "/system" "/system_root"; do + [ -e "$part" ] || continue; + mount -o ro "$part"; + log "Mountpoint $part mounted (auto)"; + umountparts="$umountparts $part"; + done; + fi; mount /data; umountparts="$umountparts /data"; }