#!/bin/sh

#Too Change MMC mount directory
#export MMC=/dev/sdX1
#. install-me.sh

if test "=$(uname -m)=" = "=armv7l="
then
MKIMAGE=$(which mkimage 2> /dev/null)
INITRAMFS=$(sudo which update-initramfs 2> /dev/null)

if test "-$MMC-" = "--"
then
MMC=/dev/mmcblk0p1
fi

echo "Mounting Fat partition"
sudo mkdir -p /tmp/boot
sudo umount ${MMC} &> /dev/null
sudo mount ${MMC} /tmp/boot
sudo touch /tmp/boot/ro && sudo rm -f /tmp/boot/ro || sudo mount -o remount,rw /tmp/boot

MMC_TEST=$(mount | grep $MMC | awk '{print $3}')
if test "-$MMC_TEST-" = "-/tmp/boot-"
then

if test "-$MKIMAGE-" = "--" | test "-$INITRAMFS-" = "--"
then
echo "Installing Required Packages: uboot-mkimage initramfs-tools"
sudo apt-get install -y uboot-mkimage initramfs-tools
fi

echo "Downloading Recommended Kernel"
sudo mkdir -p /tmp/deb
sudo wget -c --directory-prefix=/tmp/deb http://rcn-ee.net/deb/oneiric-armel/v3.2.7-imx0/linux-image-3.2.7-imx0_1.0oneiric_armel.deb

echo "Installing linux-image"
sudo dpkg -i /tmp/deb/linux-image-3.2.7-imx0_1.0oneiric_armel.deb

echo "Backing up Previous uImage and uInitrd"
if [ -e /tmp/boot/uImage ]
then
sudo mv -v /tmp/boot/uImage /tmp/boot/uImage_old
sudo mv -v /tmp/boot/uInitrd /tmp/boot/uInitrd_old
fi

echo "Creating uImage from vmlinuz"
sudo mkimage -A arm -O linux -T kernel -C none -a 0x70008000 -e 0x70008000 -n 3.2.7-imx0 -d /boot/vmlinuz-3.2.7-imx0 /tmp/boot/uImage

if [ -e /boot/initrd.img-3.2.7-imx0 ]
then
echo "Creating uInitrd"
sudo mkimage -A arm -O linux -T ramdisk -C none -a 0 -e 0 -n initramfs -d /boot/initrd.img-3.2.7-imx0 /tmp/boot/uInitrd
else
echo "Creating uInitrd"
sudo update-initramfs -c -k 3.2.7-imx0
sudo mkimage -A arm -O linux -T ramdisk -C none -a 0 -e 0 -n initramfs -d /boot/initrd.img-3.2.7-imx0 /tmp/boot/uInitrd
fi

ls -lh /tmp/boot/uI*
sudo umount /tmp/boot

echo "Please Reboot"

else
echo "Could Not mount MMC Directory"
fi
else
echo "Sorry Not Implemented yet"
fi

