diff --git a/uninstaller/META-INF/com/google/android/update-binary b/uninstaller/META-INF/com/google/android/update-binary index b2eff6a..79d9e14 100644 --- a/uninstaller/META-INF/com/google/android/update-binary +++ b/uninstaller/META-INF/com/google/android/update-binary @@ -138,7 +138,8 @@ mount_partitions () { is_mounted /data || mount /data || error "failed to mount /data!" - ! is_mounted /system && mount -o rw /system + mount -o bind /dev/urandom /dev/random + ! is_mounted /system && mount -o rw /system || mount -o rw,remount /system if [ ! -f /system/build.prop ]; then SYSTEMBLOCK=$(find /dev/block -iname system${SLOT} | head -n 1) @@ -155,6 +156,18 @@ mount_partitions () { [ ! -f /system/build.prop ] && error "failed to mount /system (unsupported A/B device?)" + if [ -L /system/vendor ]; then + ! is_mounted /vendor && mount /vendor + if ! is_mounted /vendor; then + VENDORBLOCK=$(find /dev/block -iname vendor${SLOT} | head -n 1) + mount -t ext4 -o ro ${VENDORBLOCK} /vendor + fi + elif [ -d /system/vendor ]; then + ### XXX work-around required for some ROMs + echo " xxx compat /vendor link created!" + ln -sf /system/vendor /vendor >/dev/null + fi + if [ ! -d /system/xbin ]; then NANODROID_BINDIR=/system/bin else NANODROID_BINDIR=/system/xbin