#!/bin/sh

echo "This startup script was originally created by Martin J. Johnson for the HTC Vogue device"
sleep 3
mkdir -m 0755 /proc
mount -t proc proc /proc
mkdir -m 0755 /sys
mount -t sysfs sys /sys

#Configure Devices
MAKEDEVS

fail() {
    echo "Failed"
    echo "$1"
    exec /bin/sh
}
while [ ! -e /sys/block/mmcblk0 ] ; do
    echo "Waiting for SD Card"
    sleep 1
done

partition=mmcblk0p1

# Try unpartitioned card
if [ ! -e /sys/block/mmcblk0/$partition ] ; then
    partition=mmcblk0
fi

mkdir -m 0777 /sdcard
echo "Checking SD card for errors"
dosfsck -y /dev/block/$partition
mount -t vfat -o fmask=0000,dmask=0000,rw,flush,noatime,nodiratime /dev/block/$partition /sdcard
[ $? -eq 0 ] || fail "Failed to mount the SD card. Cannot continue."

mkdir -m 0755 /rfs
if [ -e /sdcard/debian/rootfs.ext4 ] ; then
	losetup /dev/block/loop2 /sdcard/debian/rootfs.ext4
	[ $? -eq 0 ] || fail "Failed to find rootfs.img on SD Card. You need to unzip a rootfs zip file to the root of your SD card."
	e2fsck -y /dev/block/loop2
	mount -t ext4 -o noatime,nodiratime,sync,rw /dev/block/loop2 /rfs
	[ $? -eq 0 ] || fail "Failed to mount /rootfs"
fi

umount -l /proc
umount -l /sys

echo "Switching to rootfs..."
exec switch_root /rfs /sbin/init
