3 SYSTEM_RECOVERY="/usr/bin/system-recovery"
8 PARTX="/usr/sbin/partx"
9 BLKID="/usr/sbin/blkid"
10 REBOOT="/usr/lib/initrd-recovery/minireboot"
12 TOUCH="/usr/bin/touch"
13 UMOUNT="/usr/bin/umount"
18 #------------------------------------------------
20 #------------------------------------------------
22 EMMC_DEVICE="/dev/mmcblk0"
23 RET_PARTX=$("$PARTX" -s ${EMMC_DEVICE})
24 TEST=$(echo "$RET_PARTX" | "$TR" -s ' ' | "$SED" -e '1d' -e 's/^ //' | "$CUT" -d ' ' -f 6)
25 if [ "z$TEST" == "z" ]; then
26 PART_ROOTFS=$("$BLKID" -L "rootfs" -o device)
27 PART_SYSTEM_DATA=$("$BLKID" -L "system-data" -o device)
28 PART_USER=$("$BLKID" -L "user" -o device)
30 PART_ROOTFS=${EMMC_DEVICE}p$(
32 "$TR" -s ' ' | "$TR" '[:upper:]' '[:lower:]' |
33 "$GREP" "rootfs" | "$SED" 's/^ //' |
35 PART_SYSTEM_DATA=${EMMC_DEVICE}p$(
37 "$TR" -s ' ' | "$TR" '[:upper:]' '[:lower:]' |
38 "$GREP" "system-data" | "$SED" 's/^ //' |
40 PART_USER=${EMMC_DEVICE}p$(
42 "$TR" -s ' ' | "$TR" '[:upper:]' '[:lower:]' |
43 "$GREP" "user" | "$SED" 's/^ //' |
48 #------------------------------------------------
50 #------------------------------------------------
52 echo "mount partitions"
55 "$MOUNT" -t ext4 ${PART_ROOTFS} ${FAKE_ROOT} -o ro
56 "$MOUNT" -t ext4 ${PART_SYSTEM_DATA} ${FAKE_ROOT}/opt
57 "$MOUNT" -t ext4 ${PART_USER} ${FAKE_ROOT}/opt/usr
59 "$MOUNT" -t proc none ${FAKE_ROOT}/proc
60 "$MOUNT" -t sysfs none ${FAKE_ROOT}/sys
61 "$MOUNT" -t smackfs smackfs ${FAKE_ROOT}/sys/fs/smackfs
62 "$MOUNT" -t devtmpfs devtmpfs ${FAKE_ROOT}/dev
63 "$MOUNT" -t devpts devpts ${FAKE_ROOT}/dev/pts
64 "$MOUNT" -t tmpfs tmpfs ${FAKE_ROOT}/tmp -o mode=1777,smackfsroot=*
67 #------------------------------------------------
69 #------------------------------------------------
71 echo "umount partitions"
75 "$UMOUNT" ${FAKE_ROOT}/opt/usr
76 "$UMOUNT" ${FAKE_ROOT}/opt
77 "$UMOUNT" ${FAKE_ROOT}
80 #------------------------------------------------
82 #------------------------------------------------
94 #------------------------------------------------
95 # system-recovery initrc
96 #------------------------------------------------
97 echo "Starting system recovery."
100 # For debugging - It should be deleted on Release
101 /sbin/agetty -l /bin/bash -n --keep-baud 115200,38400,9600 ttyS1 linux &
103 if [ "z@RECOVERY_GUI@" == "zGUI" ]; then
106 $TOUCH ${FAKE_ROOT}/opt/.factoryreset
107 if [ $? -ne 0 ]; then
108 echo "Error: failed to put factory reset file flag."