#!/bin/bash

FAKE_ROOT=/system
FAKE_ROOT_RO=/system-ro

STATUS_DIR=${FAKE_ROOT}/opt/data/recovery
STATUS_FILE=${STATUS_DIR}/RW.STATUS
DELTA_PATH_FILE=${STATUS_DIR}/DELTA.PATH

CAT="/bin/cat"
SYNC="/bin/sync"
MKDIR="/bin/mkdir"
MOUNT="/bin/mount"
UMOUNT="/bin/umount"
GREP="/bin/grep"
REBOOT="/sbin/reboot"
CUT="/usr/bin/cut"
TR="/usr/bin/tr"

#------------------------------------------------
#       mount_partitions
#------------------------------------------------
mount_partitions() {
    "$MOUNT" -t proc none /proc
    "$MOUNT" -t sysfs none /sys
    "$MOUNT" -t smackfs smackfs /smack
    "$MOUNT" -t tmpfs tmpfs /run -o rw,nosuid,nodev,mode=755
    "$MOUNT" -t tmpfs tmpfs /tmp -o mode=1777,smackfsroot=*

    "$MKDIR" /dev/pts
    "$MOUNT" -t devpts devpts /dev/pts
}

#------------------------------------------------
#       do_reboot
#------------------------------------------------
do_reboot() {
    echo "Reboot"
    "$SYNC"
    "$REBOOT"
    while [ 1 ]
    do
        sleep 1
        echo "."
    done
}

#------------------------------------------------
#       Main Routine Start
#------------------------------------------------
echo "You entered into /sbin/init on initrd"

mount_partitions

"$CAT" /proc/cmdline

cd /

BOOT_MODE=$("$CAT" /proc/cmdline | "$TR" ' ' \\n | "$GREP" bootmode | "$CUT" -d= -f2)

if [ "z$BOOT_MODE" == "z" ]; then
    echo "BOOT_MODE was NOT defined!!"
    echo "Do reboot!!"
    do_reboot
fi
echo "BOOTMODE is ${BOOT_MODE}"
exec /sbin/${BOOT_MODE}-init
