#!/bin/sh



echo  "


                                                               
ZZZZZZZZZZZZZZZZZZZ     OOOOOOOOO     IIIIIIIIIIDDDDDDDDDDDDD        
Z:::::::::::::::::Z   OO:::::::::OO   I::::::::ID::::::::::::DDD     
Z:::::::::::::::::Z OO:::::::::::::OO I::::::::ID:::::::::::::::DD   
Z:::ZZZZZZZZ:::::Z O:::::::OOO:::::::OII::::::IIDDD:::::DDDDD:::::D  
ZZZZZ     Z:::::Z  O::::::O   O::::::O  I::::I    D:::::D    D:::::D 
        Z:::::Z    O:::::O     O:::::O  I::::I    D:::::D     D:::::D
       Z:::::Z     O:::::O     O:::::O  I::::I    D:::::D     D:::::D
      Z:::::Z      O:::::O     O:::::O  I::::I    D:::::D     D:::::D
     Z:::::Z       O:::::O     O:::::O  I::::I    D:::::D     D:::::D
    Z:::::Z        O:::::O     O:::::O  I::::I    D:::::D     D:::::D
   Z:::::Z         O:::::O     O:::::O  I::::I    D:::::D     D:::::D
ZZZ:::::Z     ZZZZZO::::::O   O::::::O  I::::I    D:::::D    D:::::D 
Z::::::ZZZZZZZZ:::ZO:::::::OOO:::::::OII::::::IIDDD:::::DDDDD:::::D  
Z:::::::::::::::::Z OO:::::::::::::OO I::::::::ID:::::::::::::::DD   
Z:::::::::::::::::Z   OO:::::::::OO   I::::::::ID::::::::::::DDD     
ZZZZZZZZZZZZZZZZZZZ     OOOOOOOOO     IIIIIIIIIIDDDDDDDDDDDDD        
                                                             

"
sleep 5
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/linux/rootfs.ext2 ] ; then
	losetup /dev/block/loop2 /sdcard/linux/rootfs.ext2
	[ $? -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 ext2 -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 /init
