#!/bin/sh

## Set your Arm Cross directory path
ARM_PREFIX='/usr/local/arm-linux'

export PATH=$ARM_PREFIX/bin:$PATH


# Check arguments
if [ "$1" == "" -o "$1" != "RAM_32MB" -a "$1" != "RAM_64MB" ]; then
 echo ""
 echo "Usage: $0  CEPramSize(RAM_32MB / RAM_64MB) CEPflashSize(FLASH_16MB / FLASH_32MB)"
 echo ""
 echo "Run this script from its home directory"
 echo ""
 exit 1
fi
if [ "$2" == "" -o "$2" != "FLASH_16MB" -a "$2" != "FLASH_32MB" ]; then
 echo ""
 echo "Usage: $0  CEPramSize(RAM_32MB / RAM_64MB) CEPflashSize(FLASH_16MB / FLASH_32MB)"
 echo ""
 echo "Run this script from its home directory"
 echo ""
 exit 1
fi


# Check linux kernel package
if [ ! -f linux-2.4.18.tar.gz ]; then
 echo "Linux kernel 2.4.18 seems to be missing"
 exit 1
fi


#
# Build CEP1000 patched kernel linux-2.4.18
#
gunzip -c linux-2.4.18.tar.gz | tar -xvf -
mv linux linux-2.4.18
cd linux-2.4.18
patch -p1 < ../patch-2.4.18-rmk7
patch -p1 < ../patch-2.4.17-rmk-arm-rthal
patch -p1 < ../patch-linux-2.4.18-cep1000
patch -p1 < ../patch-linux-2.4.18-arm-rthal-SAtime
patch -p1 < ../patch-linux-2.4.18-arm-rthal-SAirqs
patch -p1 < ../patch-linux-2.4.18-arm-rthal-SApgdir
if [ "$1" == "RAM_32MB" ]; then
patch -p1 < ../patch-linux-2.4.18-cep1000-ram32M
else
patch -p1 < ../patch-linux-2.4.18-cep1000-ram64M
fi
if [ "$2" == "FLASH_16MB" ]; then
patch -p1 < ../patch-linux-2.4.18-cep1000-flash16M
fi
cd ..
gunzip -c mtd.tar.gz | tar -xvf -
cd mtd
if [ "$2" == "FLASH_16MB" ]; then
patch -p1 < ../patch-mtd-cep1000-flash16M
else
patch -p1 < ../patch-mtd-cep1000-flash32M
fi
cd patches
sh patchin.sh -j ../../linux-2.4.18
cd ../../linux-2.4.18
make cep_config
make oldconfig
make include/linux/version.h
if [ ! -f include/linux/version.h ]; then
 echo "***"
 echo "*** Error preparing linux-2.4.18 CEP1000 patched kernel"
 echo "***"
 exit 1
fi
make dep
make zImage
make modules
cd arch/arm/boot
uuencode zImage zImage > zImage.uu
if [ ! -f zImage -o ! -f zImage.uu ]; then
 echo "***"
 echo "*** Error building linux-2.4.18 CEP1000 patched kernel"
 echo "***"
 exit 1
fi


# Information
echo ""
echo ""
echo "***"
echo "***  INFO:"
echo "***"
echo "***  CEP1000 patched Linux kernel was successfully built."
echo "***"
echo ""

