#!/bin/sh
###########################################################################
# Copyright (c) 2006, Technologic Systems.
# All rights reserved.
#
# Roots to NAND flash chip, assumes /dev/mtdblock/3 YAFFS type filesystem
# Symlink to /linuxrc and run 'save' to use.
#
# History: SMI SSD : Modified for SMI CM-II Daughter card
#
############################################################################
mount -t proc proc /proc

insmod tsSmiCmDio.o 
mknod /dev/smiCmDio c 250 0
chmod 777 /dev/smiCmDio

export CONSOLE=/dev/ttyAM0
stty -F $CONSOLE ospeed 57600 >/dev/null 2>&1
setcons  <$CONSOLE >$CONSOLE 2>&1

echo "" >$CONSOLE
echo "" >$CONSOLE
echo "" >$CONSOLE
echo ">> #############################################<<" >$CONSOLE
echo ">>        SMI CM-II #1 : linuxrc-mtdroot        <<" >$CONSOLE
echo ">> #############################################<<" >$CONSOLE
echo ">> installed smiCmDio driver..." >$CONSOLE
echo ">> checking for USB pendrive..." >$CONSOLE

insmod -q -f /ts7xxx_nand.o >/dev/null 2>&1
mount /dev/mtdblock/3 /mnt/root >/dev/null 2>&1
echo ">> mounting flash rootfs .." >$CONSOLE
ls /mnt/root
export PATH=/bin:/sbin:/mnt/root/bin:/mnt/root/sbin:/mnt/root/usr/bin:/mnt/root/

export BOOTTIME=`eptime`
cd /proc
if [ -e /mnt/root/fastboot -o ! -e /mnt/root/bin/mount ]; then
  (
  export ENV=/shinit
  setcons
  ifconfig eth0 10.0.110.35 netmask 255.255.255.0
  route add default gw 10.0.110.1 
  cd /mnt/root
  telnetd
  check-usb-update >/dev/null 2>&1 </dev/null &
  exec sh -i
  ) <$CONSOLE >$CONSOLE 2>&1
  killall busybox
fi

export PATH=/bin:/sbin:/mnt/root/bin:/mnt/root/sbin:/mnt/root/usr/bin:/mnt/root/
export BOOTTIME=`eptime`
cd /mnt/root


insmod -q -f bootloader >/dev/null 2>&1
KCMD="console=`basename $CONSOLE`,57600 root=/dev/mtdblock/3" 
bootload -c "$KCMD" /mnt/root/vmlinux.bin >/dev/null 2>&1

export PATH=/bin:/sbin:/mnt/root/bin:/mnt/root/sbin:/mnt/root/usr/bin:/mnt/root/
export CONSOLE=/dev/ttyAM0

stty -F $CONSOLE ospeed 57600 >/dev/null 2>&1
setcons  <$CONSOLE >$CONSOLE 2>&1
echo ">> Booting Linux ..." >$CONSOLE

################################################
# now start the kernel
################################################ 
pivot_root . initrd
./bin/mount -n --move initrd/dev dev
./bin/mount -n --move initrd/proc proc
exec ./usr/sbin/chroot . ./sbin/init <.$CONSOLE >.$CONSOLE 2>&1
