#!/bin/bash WGET=wget TAR=tar GZIP=gzip BZIP2=bzip2 PATCH=patch AUTOCONF=autoconf MAKE=make GIT=git # The following are required by crosstool BISON=bison FLEX=flex PACKAGES_DIR=packages DOWNLOAD_PREFIX=http://www.loggytronic.com/dl/ FILE_MVPDEVFS=mvpdevfs-4.tar.gz # Files used by the script packages SOURCEFILES="crosstool-0.43.tar.gz linux-2.4.31.tar.bz2 busybox-1.00.tar.bz2 jpegsrc.v6b.tar.gz genext2fs-1.4.tar.gz" # And files downloaded by crosstool: SOURCEFILES+=" binutils-2.15.tar.bz2 glibc-2.2.5.tar.gz linux-2.6.8.tar.bz2 gcc-3.4.5.tar.bz2 glibc-linuxthreads-2.2.5.tar.gz" set -e # ---------------------------------------------- makeDir() { if ! mkdir -p $1 then echo "Error: could not create directory: $1" exit fi } downloadFile() { if [ ! -r ${PACKAGES_DIR}/$1 -o ! -s ${PACKAGES_DIR}/$1 ] then if ! $WGET -O ${PACKAGES_DIR}/$1 ${DOWNLOAD_PREFIX}$1 then echo "Error: could not download $1" exit fi fi } checkProg() { if [ -x /bin/$1 ] || [ -x /usr/bin/$1 ] then return 0 else echo "$1 not found in /bin or /usr/bin." exit 1 fi } # The Start echo echo "VOMP Development Environment Setup Script (git version)" echo TOP=`pwd` # Test for prerequisites if [ -L /bin/sh ] && [ $(readlink /bin/sh) = dash ] then echo "Your /bin/sh symlink links to dash which causes the crosstool build to fail." echo "Please point /bin/sh to another shell (bash works)." exit 1 fi checkProg $WGET checkProg $TAR checkProg $GZIP checkProg $BZIP2 checkProg $PATCH checkProg $AUTOCONF checkProg $MAKE checkProg $GIT checkProg $BISON checkProg $FLEX # Make directories makeDir $PACKAGES_DIR # Download files downloadFile $FILE_MVPDEVFS for i in $SOURCEFILES ; do downloadFile $i done # Build cross compiler cd ${TOP}/crosstool ./autobuild # Build kernels cd ${TOP}/kernel ./autobuild # Build busybox cd ${TOP}/busybox ./autobuild # Build JPEG cd ${TOP}/jpeg ./autobuild # Build kernel module cd ${TOP}/lbox_border ./autobuild # Get client and build for dongle cd $TOP $GIT clone http://git.vomp.tv/vompclient.git client cd client $MAKE release # Build a dongle cd ${TOP}/dongle ./autobuild # Done echo echo "Done. A dongle should have been created as dongle/vomp-dongle" echo "Optionally you can set-up an NFS root development environment by following the" echo "MVP-Filesystem->DHCP->TFTP->NFS guide." echo