79e91fe4ca
Change-Id: Ic2f0a994477a5bc04b32e24b0bd4baaa2773ff55
32 lines
750 B
Bash
32 lines
750 B
Bash
#!/sbin/sh
|
|
|
|
# Modern devices use /system as root ("/")
|
|
system_as_root=`getprop ro.build.system_root_image`
|
|
if [ "$system_as_root" == "true" ]; then
|
|
if mount /system_root; then
|
|
exit 0
|
|
fi
|
|
|
|
active_slot=`getprop ro.boot.slot_suffix`
|
|
if [ ! -z "$active_slot" ]; then
|
|
block=/dev/block/bootdevice/by-name/system$active_slot
|
|
else
|
|
block=/dev/block/bootdevice/by-name/system
|
|
fi
|
|
mkdir -p /system_root
|
|
if mount -o rw $block /system_root; then
|
|
exit 0
|
|
fi
|
|
else
|
|
if mount /system; then
|
|
exit 0
|
|
fi
|
|
|
|
# Try to get the block from /etc/recovery.fstab
|
|
block=`cat /etc/recovery.fstab | cut -d '#' -f 1 | grep /system | grep -o '/dev/[^ ]*' | head -1`
|
|
if [ -n "$block" ] && mount $block /system; then
|
|
exit 0
|
|
fi
|
|
fi
|
|
|
|
exit 1
|