3 SYSTEM_RECOVERY_GUI="@SYSTEM_RECOVERY_LIBEXEC_DIR@/system-recovery.gui"
4 SYSTEM_RECOVERY_NON_GUI="@SYSTEM_RECOVERY_LIBEXEC_DIR@/system-recovery.non_gui"
8 BLKID="/usr/sbin/blkid"
9 REBOOT="@INITRD_RECOVERY_LIBEXEC_DIR@/minireboot"
11 UMOUNT="/usr/bin/umount"
13 #------------------------------------------------
15 #------------------------------------------------
17 PART_ROOTFS=$("$BLKID" --match-token PARTLABEL=ROOTFS -o device || "$BLKID" --match-token LABEL=rootfs -o device)
18 PART_SYSTEM_DATA=$("$BLKID" --match-token PARTLABEL=SYSTEM-DATA -o device || "$BLKID" --match-token LABEL=system-data -o device)
19 PART_USER=$("$BLKID" --match-token PARTLABEL=USER -o device || "$BLKID" --match-token LABEL=user -o device)
22 #------------------------------------------------
24 #------------------------------------------------
26 echo "mount partitions"
29 "$MOUNT" -t ext4 ${PART_ROOTFS} ${FAKE_ROOT} -o ro
30 "$MOUNT" -t ext4 ${PART_SYSTEM_DATA} ${FAKE_ROOT}/opt
31 "$MOUNT" -t ext4 ${PART_USER} ${FAKE_ROOT}/opt/usr
33 "$MOUNT" -t proc none ${FAKE_ROOT}/proc
34 "$MOUNT" -t sysfs none ${FAKE_ROOT}/sys
35 "$MOUNT" -t smackfs smackfs ${FAKE_ROOT}/sys/fs/smackfs
36 "$MOUNT" -t devtmpfs devtmpfs ${FAKE_ROOT}/dev
37 "$MOUNT" -t devpts devpts ${FAKE_ROOT}/dev/pts
38 "$MOUNT" -t tmpfs tmpfs ${FAKE_ROOT}/tmp -o mode=1777,smackfsroot=*
41 #------------------------------------------------
43 #------------------------------------------------
45 echo "umount partitions"
48 "$UMOUNT" ${FAKE_ROOT}/opt/usr
49 "$UMOUNT" ${FAKE_ROOT}/opt
50 "$UMOUNT" ${FAKE_ROOT}
53 #------------------------------------------------
55 #------------------------------------------------
67 #------------------------------------------------
68 # system-recovery initrc
69 #------------------------------------------------
70 echo "Starting system recovery."
73 # For debugging - It should be deleted on Release
74 /sbin/agetty -l /bin/sh -n --keep-baud 115200,38400,9600 ttyS1 linux &
76 [ -x "${SYSTEM_RECOVERY_GUI}" ] && "${SYSTEM_RECOVERY_GUI}" || "${SYSTEM_RECOVERY_NON_GUI}"