From: Denys Dmytriyenko <denys@ti.com>
To: Denys Dmytriyenko <denys@ti.com>
Cc: "meta-arago@arago-project.org" <meta-arago@arago-project.org>,
"Cooper Jr., Franklin" <fcooper@ti.com>
Subject: Re: [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago
Date: Wed, 10 Oct 2012 14:55:13 -0400 [thread overview]
Message-ID: <20121010185513.GD16944@denix.org> (raw)
In-Reply-To: <20121010185225.GC32682@edge>
On Wed, Oct 10, 2012 at 02:52:25PM -0400, Denys Dmytriyenko wrote:
> On Wed, Oct 10, 2012 at 02:21:35PM -0400, Cooper Jr., Franklin wrote:
> > What's concerning you about this patch?
>
> It's size and complexity, mostly.
It doesn't even fit in the mailing list size limit of 100KB... :)
> > -----Original Message-----
> > From: meta-arago-bounces@arago-project.org [mailto:meta-arago-bounces@arago-project.org] On Behalf Of Dmytriyenko, Denys
> > Sent: Monday, September 24, 2012 4:57 PM
> > To: Franklin S. Cooper Jr
> > Cc: meta-arago@arago-project.org
> > Subject: Re: [meta-arago] [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago
> >
> > On Fri, Sep 21, 2012 at 07:51:10PM -0500, Franklin S. Cooper Jr wrote:
> > > * Port ti-tisdk-setup from arago to meta-arago.
> > > * This recipe brings in various scripts used to setup the SDK on
> > > a user's development machine.
> >
> > Let me sit on this one for a little bit longer...
> >
> >
> > > Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
> > > ---
> > > .../recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup.bb | 44 +
> > > .../ti-tisdk-setup/ti-tisdk-setup/common.sh | 39 +
> > > .../ti-tisdk-setup/ti-tisdk-setup/create-sdcard.sh | 958 ++++++++++++++++++++
> > > .../ti-tisdk-setup/setup-host-check.sh | 43 +
> > > .../ti-tisdk-setup/ti-tisdk-setup/setup-minicom.sh | 101 ++
> > > .../ti-tisdk-setup/setup-package-install.sh | 50 +
> > > .../ti-tisdk-setup/setup-targetfs-nfs.sh | 153 ++++
> > > .../ti-tisdk-setup/ti-tisdk-setup/setup-tftp.sh | 150 +++
> > > .../ti-tisdk-setup/setup-uboot-env-am18x.sh | 308 +++++++
> > > .../ti-tisdk-setup/setup-uboot-env-am335x.sh | 409 +++++++++
> > > .../ti-tisdk-setup/setup-uboot-env-am3517.sh | 266 ++++++
> > > .../ti-tisdk-setup/setup-uboot-env-am37x.sh | 268 ++++++
> > > .../ti-tisdk-setup/setup-uboot-env-beagleboard.sh | 268 ++++++
> > > .../ti-tisdk-setup/ti-tisdk-setup/setup.sh | 65 ++
> > > 14 files changed, 3122 insertions(+), 0 deletions(-)
> > > create mode 100644 meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup.bb
> > > create mode 100644 meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/common.sh
> > > create mode 100755 meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/create-sdcard.sh
> > > create mode 100644 meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-host-check.sh
> > > create mode 100644 meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-minicom.sh
> > > create mode 100644 meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-package-install.sh
> > > create mode 100644 meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-targetfs-nfs.sh
> > > create mode 100644 meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-tftp.sh
> > > create mode 100644 meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-uboot-env-am18x.sh
> > > create mode 100644 meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-uboot-env-am335x.sh
> > > create mode 100644 meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-uboot-env-am3517.sh
> > > create mode 100644 meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-uboot-env-am37x.sh
> > > create mode 100644 meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-uboot-env-beagleboard.sh
> > > create mode 100644 meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup.sh
> > >
> > > diff --git a/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup.bb b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup.bb
> > > new file mode 100644
> > > index 0000000..b9021eb
> > > --- /dev/null
> > > +++ b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup.bb
> > > @@ -0,0 +1,44 @@
> > > +DESCRIPTION = "Package containing scripts to setup the development host and target board"
> > > +LICENSE = "BSD"
> > > +LIC_FILES_CHKSUM = "file://setup.sh;beginline=3;endline=31;md5=fc4b04a33df6d892c9f4d4a9d92b945e"
> > > +
> > > +COMPATIBLE_MACHINE = "am37x-evm|am3517-evm|beagleboard|ti33x|am180x-evm"
> > > +
> > > +PACKAGE_ARCH = "${MACHINE_ARCH}"
> > > +
> > > +UBOOT_ENV_am37x-evm = "setup-uboot-env-am37x.sh"
> > > +UBOOT_ENV_beagleboard = "setup-uboot-env-beagleboard.sh"
> > > +UBOOT_ENV_am3517-evm = "setup-uboot-env-am3517.sh"
> > > +UBOOT_ENV_am180x-evm = "setup-uboot-env-am18x.sh"
> > > +UBOOT_ENV_ti33x = "setup-uboot-env-am335x.sh"
> > > +
> > > +SRC_URI = "\
> > > + file://setup.sh \
> > > + file://common.sh \
> > > + file://setup-host-check.sh \
> > > + file://setup-minicom.sh \
> > > + file://setup-package-install.sh \
> > > + file://setup-targetfs-nfs.sh \
> > > + file://setup-tftp.sh \
> > > + file://create-sdcard.sh \
> > > + file://${UBOOT_ENV} \
> > > +"
> > > +
> > > +PR = "r0"
> > > +
> > > +S = "${WORKDIR}"
> > > +
> > > +do_install () {
> > > + install -m 0755 ${WORKDIR}/setup.sh ${D}/
> > > + install -d ${D}/bin
> > > + install -m 0755 ${WORKDIR}/common.sh ${D}/bin
> > > + install -m 0755 ${WORKDIR}/setup-host-check.sh ${D}/bin
> > > + install -m 0755 ${WORKDIR}/setup-minicom.sh ${D}/bin
> > > + install -m 0755 ${WORKDIR}/setup-package-install.sh ${D}/bin
> > > + install -m 0755 ${WORKDIR}/setup-targetfs-nfs.sh ${D}/bin
> > > + install -m 0755 ${WORKDIR}/setup-tftp.sh ${D}/bin
> > > + install -m 0755 ${WORKDIR}/create-sdcard.sh ${D}/bin
> > > + install -m 0755 ${WORKDIR}/${UBOOT_ENV} ${D}/bin/setup-uboot-env.sh
> > > +}
> > > +
> > > +FILES_${PN} += "setup.sh"
> > > diff --git a/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/common.sh b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/common.sh
> > > new file mode 100644
> > > index 0000000..57e0836
> > > --- /dev/null
> > > +++ b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/common.sh
> > > @@ -0,0 +1,39 @@
> > > +#!/bin/sh
> > > +
> > > +# This distribution contains contributions or derivatives under copyright
> > > +# as follows:
> > > +#
> > > +# Copyright (c) 2010, Texas Instruments Incorporated
> > > +# All rights reserved.
> > > +#
> > > +# Redistribution and use in source and binary forms, with or without
> > > +# modification, are permitted provided that the following conditions
> > > +# are met:
> > > +# - Redistributions of source code must retain the above copyright notice,
> > > +# this list of conditions and the following disclaimer.
> > > +# - Redistributions in binary form must reproduce the above copyright
> > > +# notice, this list of conditions and the following disclaimer in the
> > > +# documentation and/or other materials provided with the distribution.
> > > +# - Neither the name of Texas Instruments nor the names of its
> > > +# contributors may be used to endorse or promote products derived
> > > +# from this software without specific prior written permission.
> > > +#
> > > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> > > +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> > > +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> > > +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
> > > +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
> > > +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
> > > +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
> > > +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> > > +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
> > > +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
> > > +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> > > +
> > > +check_status() {
> > > + ret=$?
> > > + if [ "$ret" -ne "0" ]; then
> > > + echo "Failed setup, aborting.."
> > > + exit 1
> > > + fi
> > > +}
> > > diff --git a/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/create-sdcard.sh b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/create-sdcard.sh
> > > new file mode 100755
> > > index 0000000..c586687
> > > --- /dev/null
> > > +++ b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/create-sdcard.sh
> > > @@ -0,0 +1,958 @@
> > > +#!/bin/bash
> > > +# Authors:
> > > +# LT Thomas <ltjr@ti.com>
> > > +# Chase Maupin
> > > +# create-sdcard.sh v0.3
> > > +
> > > +# This distribution contains contributions or derivatives under copyright
> > > +# as follows:
> > > +#
> > > +# Copyright (c) 2010, Texas Instruments Incorporated
> > > +# All rights reserved.
> > > +#
> > > +# Redistribution and use in source and binary forms, with or without
> > > +# modification, are permitted provided that the following conditions
> > > +# are met:
> > > +# - Redistributions of source code must retain the above copyright notice,
> > > +# this list of conditions and the following disclaimer.
> > > +# - Redistributions in binary form must reproduce the above copyright
> > > +# notice, this list of conditions and the following disclaimer in the
> > > +# documentation and/or other materials provided with the distribution.
> > > +# - Neither the name of Texas Instruments nor the names of its
> > > +# contributors may be used to endorse or promote products derived
> > > +# from this software without specific prior written permission.
> > > +#
> > > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> > > +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> > > +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> > > +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
> > > +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
> > > +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
> > > +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
> > > +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> > > +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
> > > +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
> > > +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> > > +
> > > +# Determine the absolute path to the executable
> > > +# EXE will have the PWD removed so we can concatenate with the PWD safely
> > > +PWD=`pwd`
> > > +EXE=`echo $0 | sed s=$PWD==`
> > > +EXEPATH="$PWD"/"$EXE"
> > > +clear
> > > +cat << EOM
> > > +
> > > +################################################################################
> > > +
> > > +This script will create a bootable SD card from custom or pre-built binaries.
> > > +
> > > +The script must be run with root permissions and from the bin directory of
> > > +the SDK
> > > +
> > > +Example:
> > > + $ sudo ./create-sdcard.sh
> > > +
> > > +Formatting can be skipped if the SD card is already formatted and
> > > +partitioned properly.
> > > +
> > > +################################################################################
> > > +
> > > +EOM
> > > +
> > > +AMIROOT=`whoami | awk {'print $1'}`
> > > +if [ "$AMIROOT" != "root" ] ; then
> > > +
> > > + echo " **** Error *** must run script with sudo"
> > > + echo ""
> > > + exit
> > > +fi
> > > +
> > > +THEPWD=$EXEPATH
> > > +PARSEPATH=`echo $THEPWD | grep -o '.*ti-sdk.*.[0-9]/'`
> > > +
> > > +if [ "$PARSEPATH" != "" ] ; then
> > > +PATHVALID=1
> > > +else
> > > +PATHVALID=0
> > > +fi
> > > +
> > > +#Precentage function
> > > +untar_progress ()
> > > +{
> > > + TARBALL=$1;
> > > + DIRECTPATH=$2;
> > > + BLOCKING_FACTOR=$(($(gzip --list ${TARBALL} | sed -n -e "s/.*[[:space:]]\+[0-9]\+[[:space:]]\+\([0-9]\+\)[[:space:]].*$/\1/p") / 51200 + 1));
> > > + tar --blocking-factor=${BLOCKING_FACTOR} --checkpoint=1 --checkpoint-action='ttyout=Written %u% \r' -zxf ${TARBALL} -C ${DIRECTPATH}
> > > +}
> > > +
> > > +#copy/paste programs
> > > +cp_progress ()
> > > +{
> > > + CURRENTSIZE=0
> > > + while [ $CURRENTSIZE -lt $TOTALSIZE ]
> > > + do
> > > + TOTALSIZE=$1;
> > > + TOHERE=$2;
> > > + CURRENTSIZE=`sudo du -c $TOHERE | grep total | awk {'print $1'}`
> > > + echo -e -n "$CURRENTSIZE / $TOTALSIZE copied \r"
> > > + sleep 1
> > > + done
> > > +}
> > > +
> > > +populate_3_partitions() {
> > > + ENTERCORRECTLY="0"
> > > + while [ $ENTERCORRECTLY -ne 1 ]
> > > + do
> > > + read -e -p 'Enter path where SD card tarballs were downloaded : ' TARBALLPATH
> > > +
> > > + echo ""
> > > + ENTERCORRECTLY=1
> > > + if [ -d $TARBALLPATH ]
> > > + then
> > > + echo "Directory exists"
> > > + echo ""
> > > + echo "This directory contains:"
> > > + ls $TARBALLPATH
> > > + echo ""
> > > + read -p 'Is this correct? [y/n] : ' ISRIGHTPATH
> > > + case $ISRIGHTPATH in
> > > + "y" | "Y") ;;
> > > + "n" | "N" ) ENTERCORRECTLY=0;continue;;
> > > + *) echo "Please enter y or n";ENTERCORRECTLY=0;continue;;
> > > + esac
> > > + else
> > > + echo "Invalid path make sure to include complete path"
> > > + ENTERCORRECTLY=0
> > > + continue
> > > + fi
> > > + # Check that tarballs were found
> > > + if [ ! -e "$TARBALLPATH""/boot_partition.tar.gz" ]
> > > + then
> > > + echo "Could not find boot_partition.tar.gz as expected. Please"
> > > + echo "point to the directory containing the boot_partition.tar.gz"
> > > + ENTERCORRECTLY=0
> > > + continue
> > > + fi
> > > +
> > > + if [ ! -e "$TARBALLPATH""/rootfs_partition.tar.gz" ]
> > > + then
> > > + echo "Could not find rootfs_partition.tar.gz as expected. Please"
> > > + echo "point to the directory containing the rootfs_partition.tar.gz"
> > > + ENTERCORRECTLY=0
> > > + continue
> > > + fi
> > > +
> > > + if [ ! -e "$TARBALLPATH""/start_here_partition.tar.gz" ]
> > > + then
> > > + echo "Could not find start_here_partition.tar.gz as expected. Please"
> > > + echo "point to the directory containing the start_here_partition.tar.gz"
> > > + ENTERCORRECTLY=0
> > > + continue
> > > + fi
> > > + done
> > > +
> > > + # Make temporary directories and untar mount the partitions
> > > + mkdir $PWD/boot
> > > + mkdir $PWD/rootfs
> > > + mkdir $PWD/start_here
> > > + mkdir $PWD/tmp
> > > +
> > > + mount -t vfat "/dev/""$DEVICEDRIVENAME""1" boot
> > > + mount -t ext3 "/dev/""$DEVICEDRIVENAME""2" rootfs
> > > + mount -t ext3 "/dev/""$DEVICEDRIVENAME""3" start_here
> > > +
> > > + # Remove any existing content in case the partitions were not
> > > + # recreated
> > > + sudo rm -rf boot/*
> > > + sudo rm -rf rootfs/*
> > > + sudo rm -rf start_here/*
> > > +
> > > + # Extract the tarball contents.
> > > +cat << EOM
> > > +
> > > +################################################################################
> > > + Extracting boot partition tarball
> > > +
> > > +################################################################################
> > > +EOM
> > > + untar_progress $TARBALLPATH/boot_partition.tar.gz tmp/
> > > + if [ -e "./tmp/MLO" ]
> > > + then
> > > + cp ./tmp/MLO boot/
> > > + fi
> > > + cp -rf ./tmp/* boot/
> > > +
> > > +cat << EOM
> > > +
> > > +################################################################################
> > > + Extracting rootfs partition tarball
> > > +
> > > +################################################################################
> > > +EOM
> > > + untar_progress $TARBALLPATH/rootfs_partition.tar.gz rootfs/
> > > +
> > > +cat << EOM
> > > +
> > > +################################################################################
> > > + Extracting start_here partition to temp directory
> > > +
> > > +################################################################################
> > > +EOM
> > > + rm -rf tmp/*
> > > + untar_progress $TARBALLPATH/start_here_partition.tar.gz tmp/
> > > +
> > > +cat << EOM
> > > +
> > > +################################################################################
> > > + Extracting CCS tarball
> > > +
> > > +################################################################################
> > > +EOM
> > > + mv tmp/CCS-5*.tar.gz .
> > > + untar_progress CCS-5*.tar.gz tmp/
> > > + rm CCS-5*.tar.gz
> > > +
> > > +cat << EOM
> > > +
> > > +################################################################################
> > > + Copying Contents to START_HERE
> > > +
> > > +################################################################################
> > > +EOM
> > > +
> > > + TOTALSIZE=`sudo du -c tmp/* | grep total | awk {'print $1'}`
> > > + cp -rf tmp/* start_here/ &
> > > + cp_progress $TOTALSIZE start_here/
> > > + sync;sync
> > > + # Fix up the START_HERE partitoin permissions
> > > + chown nobody -R start_here
> > > + chgrp nogroup -R start_here
> > > + chmod -R g+r+x,o+r+x start_here/CCS
> > > +
> > > + umount boot rootfs start_here
> > > + sync;sync
> > > +
> > > + # Clean up the temp directories
> > > + rm -rf boot rootfs start_here tmp
> > > +}
> > > +
> > > +
> > > +# find the avaible SD cards
> > > +echo " "
> > > +echo "Availible Drives to write images to: "
> > > +echo " "
> > > +ROOTDRIVE=`mount | grep 'on / ' | awk {'print $1'} | cut -c6-8`
> > > +echo "# major minor size name "
> > > +cat /proc/partitions | grep -v $ROOTDRIVE | grep '\<sd.\>' | grep -n ''
> > > +echo " "
> > > +
> > > +ENTERCORRECTLY=0
> > > +while [ $ENTERCORRECTLY -ne 1 ]
> > > +do
> > > + read -p 'Enter Device Number: ' DEVICEDRIVENUMBER
> > > + echo " "
> > > + DEVICEDRIVENAME=`cat /proc/partitions | grep -v 'sda' | grep '\<sd.\>' | grep -n '' | grep "${DEVICEDRIVENUMBER}:" | awk '{print $5}'`
> > > +
> > > + DRIVE=/dev/$DEVICEDRIVENAME
> > > + DEVICESIZE=`cat /proc/partitions | grep -v 'sda' | grep '\<sd.\>' | grep -n '' | grep "${DEVICEDRIVENUMBER}:" | awk '{print $4}'`
> > > +
> > > +
> > > + if [ -n "$DEVICEDRIVENAME" ]
> > > + then
> > > + ENTERCORRECTLY=1
> > > + else
> > > + echo "Invalid selection"
> > > + fi
> > > +
> > > + echo ""
> > > +done
> > > +
> > > +echo "$DEVICEDRIVENAME was selected"
> > > +#Check the size of disk to make sure its under 16GB
> > > +if [ $DEVICESIZE -gt 17000000 ] ; then
> > > +cat << EOM
> > > +
> > > +################################################################################
> > > +
> > > + **********WARNING**********
> > > +
> > > + Selected Device is greater then 16GB
> > > + Continuing past this point will erase data from device
> > > + Double check that this is the correct SD Card
> > > +
> > > +################################################################################
> > > +
> > > +EOM
> > > + ENTERCORRECTLY=0
> > > + while [ $ENTERCORRECTLY -ne 1 ]
> > > + do
> > > + read -p 'Would you like to continue [y/n] : ' SIZECHECK
> > > + echo ""
> > > + echo " "
> > > + ENTERCORRECTLY=1
> > > + case $SIZECHECK in
> > > + "y") ;;
> > > + "n") exit;;
> > > + *) echo "Please enter y or n";ENTERCORRECTLY=0;;
> > > + esac
> > > + echo ""
> > > + done
> > > +
> > > +fi
> > > +
> > > +echo ""
> > > +
> > > +
> > > +
> > > +DRIVE=/dev/$DEVICEDRIVENAME
> > > +
> > > +echo "Checking the device is unmounted"
> > > +#unmount drives if they are mounted
> > > +unmounted1=`df | grep '\<'$DEVICEDRIVENAME'1\>' | awk '{print $1}'`
> > > +unmounted2=`df | grep '\<'$DEVICEDRIVENAME'2\>' | awk '{print $1}'`
> > > +unmounted3=`df | grep '\<'$DEVICEDRIVENAME'3\>' | awk '{print $1}'`
> > > +if [ -n "$unmounted1" ]
> > > +then
> > > + echo " unmounted ${DRIVE}1"
> > > + sudo umount -f ${DRIVE}1
> > > +fi
> > > +if [ -n "$unmounted2" ]
> > > +then
> > > + echo " unmounted ${DRIVE}2"
> > > + sudo umount -f ${DRIVE}2
> > > +fi
> > > +if [ -n "$unmounted3" ]
> > > +then
> > > + echo " unmounted ${DRIVE}3"
> > > + sudo umount -f ${DRIVE}3
> > > +fi
> > > +echo ""
> > > +# check to see if the device is already partitioned
> > > +SIZE1=`cat /proc/partitions | grep -v 'sda' | grep '\<'$DEVICEDRIVENAME'1\>' | awk '{print $3}'`
> > > +SIZE2=`cat /proc/partitions | grep -v 'sda' | grep '\<'$DEVICEDRIVENAME'2\>' | awk '{print $3}'`
> > > +SIZE3=`cat /proc/partitions | grep -v 'sda' | grep '\<'$DEVICEDRIVENAME'3\>' | awk '{print $3}'`
> > > +SIZE4=`cat /proc/partitions | grep -v 'sda' | grep '\<'$DEVICEDRIVENAME'4\>' | awk '{print $3}'`
> > > +echo "${DEVICEDRIVENAME}1 ${DEVICEDRIVENAME}2 ${DEVICEDRIVENAME}3"
> > > +echo $SIZE1 $SIZE2 $SIZE3 $SIZE4
> > > +echo ""
> > > +
> > > +if [ -n "$SIZE1" -a -n "$SIZE2" ] ; then
> > > + if [ "$SIZE1" -gt "72000" -a "$SIZE2" -gt "700000" ]
> > > + then
> > > + PARTITION=1
> > > +
> > > + if [ -z "$SIZE3" -a -z "$SIZE4" ]
> > > + then
> > > + #Detected 2 partitions
> > > + PARTS=2
> > > +
> > > + elif [ "$SIZE3" -gt "1000" -a -z "$SIZE4" ]
> > > + then
> > > + #Detected 3 partitions
> > > + PARTS=3
> > > +
> > > + else
> > > + echo "SD Card is not correctly partitioned"
> > > + PARTITION=0
> > > + fi
> > > + fi
> > > +else
> > > + echo "SD Card is not correctly partitioned"
> > > + PARTITION=0
> > > + PARTS=0
> > > +fi
> > > +
> > > +
> > > +#Partition is found
> > > +if [ "$PARTITION" -eq "1" ]
> > > +then
> > > +cat << EOM
> > > +
> > > +################################################################################
> > > +
> > > + Detected device has $PARTS partitions already
> > > +
> > > + Re-partitioning will allow the choice of 2 or 3 partitions
> > > +
> > > +################################################################################
> > > +
> > > +EOM
> > > +
> > > + ENTERCORRECTLY=0
> > > + while [ $ENTERCORRECTLY -ne 1 ]
> > > + do
> > > + read -p 'Would you like to re-partition the drive anyways [y/n] : ' CASEPARTITION
> > > + echo ""
> > > + echo " "
> > > + ENTERCORRECTLY=1
> > > + case $CASEPARTITION in
> > > + "y") echo "Now partitioning $DEVICEDRIVENAME ...";PARTITION=0;;
> > > + "n") echo "Skipping partitioning";;
> > > + *) echo "Please enter y or n";ENTERCORRECTLY=0;;
> > > + esac
> > > + echo ""
> > > + done
> > > +
> > > +fi
> > > +
> > > +#Partition is not found, choose to partition 2 or 3 segments
> > > +if [ "$PARTITION" -eq "0" ]
> > > +then
> > > +cat << EOM
> > > +
> > > +################################################################################
> > > +
> > > + Select 2 partitions if only need boot and rootfs (most users)
> > > + Select 3 partitions if need SDK & CCS on SD card. This is usually used
> > > + by device manufacturers with access to partition tarballs.
> > > +
> > > + ****WARNING**** continuing will erase all data on $DEVICEDRIVENAME
> > > +
> > > +################################################################################
> > > +
> > > +EOM
> > > + ENTERCORRECTLY=0
> > > + while [ $ENTERCORRECTLY -ne 1 ]
> > > + do
> > > +
> > > + read -p 'Number of partitions needed [2/3] : ' CASEPARTITIONNUMBER
> > > + echo ""
> > > + echo " "
> > > + ENTERCORRECTLY=1
> > > + case $CASEPARTITIONNUMBER in
> > > + "2") echo "Now partitioning $DEVICEDRIVENAME with 2 partitions...";PARTITION=2;;
> > > + "3") echo "Now partitioning $DEVICEDRIVENAME with 3 partitions...";PARTITION=3;;
> > > + "n") exit;;
> > > + *) echo "Please enter 2 or 3";ENTERCORRECTLY=0;;
> > > + esac
> > > + echo " "
> > > + done
> > > +fi
> > > +
> > > +
> > > +
> > > +#Section for partitioning the drive
> > > +
> > > +#create 3 partitions
> > > +if [ "$PARTITION" -eq "3" ]
> > > +then
> > > +
> > > +# set the PARTS value as well
> > > +PARTS=3
> > > +
> > > +cat << EOM
> > > +
> > > +################################################################################
> > > +
> > > + Now making 3 partitions
> > > +
> > > +################################################################################
> > > +
> > > +EOM
> > > +
> > > +dd if=/dev/zero of=$DRIVE bs=1024 count=1024
> > > +
> > > +SIZE=`fdisk -l $DRIVE | grep Disk | awk '{print $5}'`
> > > +
> > > +echo DISK SIZE - $SIZE bytes
> > > +
> > > +CYLINDERS=`echo $SIZE/255/63/512 | bc`
> > > +
> > > +sfdisk -D -H 255 -S 63 -C $CYLINDERS $DRIVE << EOF
> > > +,9,0x0C,*
> > > +10,90,,-
> > > +100,,,-
> > > +EOF
> > > +
> > > +cat << EOM
> > > +
> > > +################################################################################
> > > +
> > > + Partitioning Boot
> > > +
> > > +################################################################################
> > > +EOM
> > > + mkfs.vfat -F 32 -n "boot" ${DRIVE}1
> > > +cat << EOM
> > > +
> > > +################################################################################
> > > +
> > > + Partitioning Rootfs
> > > +
> > > +################################################################################
> > > +EOM
> > > + mkfs.ext3 -L "rootfs" ${DRIVE}2
> > > +cat << EOM
> > > +
> > > +################################################################################
> > > +
> > > + Partitioning START_HERE
> > > +
> > > +################################################################################
> > > +EOM
> > > + mkfs.ext3 -L "START_HERE" ${DRIVE}3
> > > + sync
> > > + sync
> > > +
> > > +#create only 2 partitions
> > > +elif [ "$PARTITION" -eq "2" ]
> > > +then
> > > +
> > > +# Set the PARTS value as well
> > > +PARTS=2
> > > +cat << EOM
> > > +
> > > +################################################################################
> > > +
> > > + Now making 2 partitions
> > > +
> > > +################################################################################
> > > +
> > > +EOM
> > > +dd if=/dev/zero of=$DRIVE bs=1024 count=1024
> > > +
> > > +SIZE=`fdisk -l $DRIVE | grep Disk | awk '{print $5}'`
> > > +
> > > +echo DISK SIZE - $SIZE bytes
> > > +
> > > +CYLINDERS=`echo $SIZE/255/63/512 | bc`
> > > +
> > > +sfdisk -D -H 255 -S 63 -C $CYLINDERS $DRIVE << EOF
> > > +,9,0x0C,*
> > > +10,,,-
> > > +EOF
> > > +
> > > +cat << EOM
> > > +
> > > +################################################################################
> > > +
> > > + Partitioning Boot
> > > +
> > > +################################################################################
> > > +EOM
> > > + mkfs.vfat -F 32 -n "boot" ${DRIVE}1
> > > +cat << EOM
> > > +
> > > +################################################################################
> > > +
> > > + Partitioning rootfs
> > > +
> > > +################################################################################
> > > +EOM
> > > + mkfs.ext3 -L "rootfs" ${DRIVE}2
> > > + sync
> > > + sync
> > > + INSTALLSTARTHERE=n
> > > +fi
> > > +
> > > +
> > > +
> > > +#Break between partitioning and installing file system
> > > +cat << EOM
> > > +
> > > +
> > > +################################################################################
> > > +
> > > + Partitioning is now done
> > > + Continue to install filesystem or select 'n' to safe exit
> > > +
> > > + **Warning** Continuing will erase files any files in the partitions
> > > +
> > > +################################################################################
> > > +
> > > +
> > > +EOM
> > > +ENTERCORRECTLY=0
> > > +while [ $ENTERCORRECTLY -ne 1 ]
> > > +do
> > > + read -p 'Would you like to continue? [y/n] : ' EXITQ
> > > + echo ""
> > > + echo " "
> > > + ENTERCORRECTLY=1
> > > + case $EXITQ in
> > > + "y") ;;
> > > + "n") exit;;
> > > + *) echo "Please enter y or n";ENTERCORRECTLY=0;;
> > > + esac
> > > +done
> > > +
> > > +# If this is a three partition card then we will jump to a function to
> > > +# populate the three partitions and then exit the script. If not we
> > > +# go on to prompt the user for input on the two partitions
> > > +if [ "$PARTS" -eq "3" ]
> > > +then
> > > + populate_3_partitions
> > > + exit 0
> > > +fi
> > > +
> > > +#Add directories for images
> > > +export START_DIR=$PWD
> > > +mkdir $START_DIR/tmp
> > > +export PATH_TO_SDBOOT=boot
> > > +export PATH_TO_SDROOTFS=rootfs
> > > +export PATH_TO_TMP_DIR=$START_DIR/tmp
> > > +
> > > +
> > > +echo " "
> > > +echo "Mount the partitions "
> > > +mkdir $PATH_TO_SDBOOT
> > > +mkdir $PATH_TO_SDROOTFS
> > > +
> > > +sudo mount -t vfat ${DRIVE}1 boot/
> > > +sudo mount -t ext3 ${DRIVE}2 rootfs/
> > > +
> > > +
> > > +
> > > +echo " "
> > > +echo "Emptying partitions "
> > > +echo " "
> > > +sudo rm -rf $PATH_TO_SDBOOT/*
> > > +sudo rm -rf $PATH_TO_SDROOTFS/*
> > > +
> > > +echo ""
> > > +echo "Syncing...."
> > > +echo ""
> > > +sync
> > > +sync
> > > +sync
> > > +
> > > +cat << EOM
> > > +################################################################################
> > > +
> > > + Choose file path to install from
> > > +
> > > + 1 ) Install pre-built images from SDK
> > > + 2 ) Enter in custom boot and rootfs file paths
> > > +
> > > +################################################################################
> > > +
> > > +EOM
> > > +ENTERCORRECTLY=0
> > > +while [ $ENTERCORRECTLY -ne 1 ]
> > > +do
> > > + read -p 'Choose now [1/2] : ' FILEPATHOPTION
> > > + echo ""
> > > + echo " "
> > > + ENTERCORRECTLY=1
> > > + case $FILEPATHOPTION in
> > > + "1") echo "Will now install from SDK pre-built images";;
> > > + "2") echo "";;
> > > + *) echo "Please enter 1 or 2";ENTERCORRECTLY=0;;
> > > + esac
> > > +done
> > > +
> > > +# SDK DEFAULTS
> > > +if [ $FILEPATHOPTION -eq 1 ] ; then
> > > +
> > > + #check that in the right directory
> > > +
> > > + THEEVMSDK=`echo $PARSEPATH | grep -o 'ti-sdk-.*[0-9]'`
> > > +
> > > + if [ $PATHVALID -eq 1 ]; then
> > > + echo "now installing: $THEEVMSDK"
> > > + else
> > > + echo "no SDK PATH found"
> > > + ENTERCORRECTLY=0
> > > + while [ $ENTERCORRECTLY -ne 1 ]
> > > + do
> > > + read -e -p 'Enter path to SDK : ' SDKFILEPATH
> > > +
> > > + echo ""
> > > + ENTERCORRECTLY=1
> > > + if [ -d $SDKFILEPATH ]
> > > + then
> > > + echo "Directory exists"
> > > + echo ""
> > > + PARSEPATH=`echo $SDKFILEPATH | grep -o '.*ti-sdk.*.[0-9]/'`
> > > + #echo $PARSEPATH
> > > +
> > > + if [ "$PARSEPATH" != "" ] ; then
> > > + PATHVALID=1
> > > + else
> > > + PATHVALID=0
> > > + fi
> > > + #echo $PATHVALID
> > > + if [ $PATHVALID -eq 1 ] ; then
> > > +
> > > + THEEVMSDK=`echo $SDKFILEPATH | grep -o 'ti-sdk-.*[0-9]'`
> > > + echo "Is this the correct SDK: $THEEVMSDK"
> > > + echo ""
> > > + read -p 'Is this correct? [y/n] : ' ISRIGHTPATH
> > > + case $ISRIGHTPATH in
> > > + "y") ;;
> > > + "n") ENTERCORRECTLY=0;;
> > > + *) echo "Please enter y or n";ENTERCORRECTLY=0;;
> > > + esac
> > > + else
> > > + echo "Invalid SDK path make sure to include ti-sdk-xxxx"
> > > + ENTERCORRECTLY=0
> > > + fi
> > > +
> > > + else
> > > + echo "Invalid path make sure to include complete path"
> > > +
> > > + ENTERCORRECTLY=0
> > > + fi
> > > + done
> > > + fi
> > > +
> > > +
> > > +
> > > + #check that files are in SDK
> > > + BOOTFILEPATH="$PARSEPATH/board-support/prebuilt-images"
> > > + MLO=`ls $BOOTFILEPATH | grep MLO | awk {'print $1'}`
> > > + UIMAGE=`ls $BOOTFILEPATH | grep uImage | awk {'print $1'}`
> > > + BOOTIMG=`ls $BOOTFILEPATH | grep u-boot | grep .img | awk {'print $1'}`
> > > + BOOTBIN=`ls $BOOTFILEPATH | grep u-boot | grep .bin | awk {'print $1'}`
> > > + #rootfs
> > > + ROOTFILEPARTH="$PARSEPATH/filesystem"
> > > + #ROOTFSTAR=`ls $ROOTFILEPARTH | grep tisdk-rootfs | awk {'print $1'}`
> > > +
> > > + #Make sure there is only 1 tar
> > > + CHECKNUMOFTAR=`ls $ROOTFILEPARTH | grep "tisdk-rootfs" | grep 'tar.gz' | grep -n '' | grep '2:' | awk {'print $1'}`
> > > + if [ -n "$CHECKNUMOFTAR" ]
> > > + then
> > > +cat << EOM
> > > +
> > > +################################################################################
> > > +
> > > + Multiple rootfs Tarballs found
> > > +
> > > +################################################################################
> > > +
> > > +EOM
> > > + ls $ROOTFILEPARTH | grep "tisdk-rootfs" | grep 'tar.gz' | grep -n '' | awk {'print " " , $1'}
> > > + echo ""
> > > + read -p "Enter Number of rootfs Tarball: " TARNUMBER
> > > + echo " "
> > > + FOUNDTARFILENAME=`ls $ROOTFILEPARTH | grep "rootfs" | grep 'tar.gz' | grep -n '' | grep "${TARNUMBER}:" | cut -c3- | awk {'print$1'}`
> > > + ROOTFSTAR=$FOUNDTARFILENAME
> > > +
> > > + else
> > > + ROOTFSTAR=`ls $ROOTFILEPARTH | grep tisdk-rootfs | awk {'print $1'}`
> > > + fi
> > > +
> > > + ROOTFSUSERFILEPATH=$ROOTFILEPARTH/$ROOTFSTAR
> > > + BOOTPATHOPTION=1
> > > + ROOTFSPATHOPTION=2
> > > +
> > > +elif [ $FILEPATHOPTION -eq 2 ] ; then
> > > +cat << EOM
> > > +################################################################################
> > > +
> > > + For Boot partition
> > > +
> > > + If files are located in Tarball write complete path including the file name.
> > > + e.x. $: /home/user/MyCustomTars/boot.tar.gz
> > > +
> > > + If files are located in a directory write the directory path
> > > + e.x. $: /ti-sdk/board-support/prebuilt-images/
> > > +
> > > + and the beginning of the files should be labeled with MLO, u-boot, uImage
> > > + i.e. test_MLO_image must be labeled as MLO_test_image
> > > +
> > > + NOTE: Not all platforms will have an MLO file and this file can
> > > + be ignored for platforms that do not support an MLO
> > > +################################################################################
> > > +
> > > +EOM
> > > + ENTERCORRECTLY=0
> > > + while [ $ENTERCORRECTLY -ne 1 ]
> > > + do
> > > + read -e -p 'Enter path for Boot Partition : ' BOOTUSERFILEPATH
> > > +
> > > + echo ""
> > > + ENTERCORRECTLY=1
> > > + if [ -f $BOOTUSERFILEPATH ]
> > > + then
> > > + echo "File exists"
> > > + echo ""
> > > + elif [ -d $BOOTUSERFILEPATH ]
> > > + then
> > > + echo "Directory exists"
> > > + echo ""
> > > + echo "This directory contains:"
> > > + ls $BOOTUSERFILEPATH
> > > + echo ""
> > > + read -p 'Is this correct? [y/n] : ' ISRIGHTPATH
> > > + case $ISRIGHTPATH in
> > > + "y") ;;
> > > + "n") ENTERCORRECTLY=0;;
> > > + *) echo "Please enter y or n";ENTERCORRECTLY=0;;
> > > + esac
> > > + else
> > > + echo "Invalid path make sure to include complete path"
> > > +
> > > + ENTERCORRECTLY=0
> > > + fi
> > > + done
> > > +
> > > +cat << EOM
> > > +
> > > +
> > > +################################################################################
> > > +
> > > + For Rootfs partition
> > > +
> > > + If files are located in Tarball write complete path including the file name.
> > > + e.x. $: /home/user/MyCustomTars/rootfs.tar.gz
> > > +
> > > + If files are located in a directory write the directory path
> > > + e.x. $: /ti-sdk/targetNFS/
> > > +
> > > +################################################################################
> > > +
> > > +EOM
> > > + ENTERCORRECTLY=0
> > > + while [ $ENTERCORRECTLY -ne 1 ]
> > > + do
> > > + read -e -p 'Enter path for Rootfs Partition : ' ROOTFSUSERFILEPATH
> > > + echo ""
> > > + ENTERCORRECTLY=1
> > > + if [ -f $ROOTFSUSERFILEPATH ]
> > > + then
> > > + echo "File exists"
> > > + echo ""
> > > + elif [ -d $ROOTFSUSERFILEPATH ]
> > > + then
> > > + echo "This directory contains:"
> > > + ls $ROOTFSUSERFILEPATH
> > > + echo ""
> > > + read -p 'Is this correct? [y/n] : ' ISRIGHTPATH
> > > + case $ISRIGHTPATH in
> > > + "y") ;;
> > > + "n") ENTERCORRECTLY=0;;
> > > + *) echo "Please enter y or n";ENTERCORRECTLY=0;;
> > > + esac
> > > +
> > > + else
> > > + echo "Invalid path make sure to include complete path"
> > > +
> > > + ENTERCORRECTLY=0
> > > + fi
> > > + done
> > > + echo ""
> > > +
> > > +
> > > + # Check if user entered a tar or not for Boot
> > > + ISBOOTTAR=`ls $BOOTUSERFILEPATH | grep .tar.gz | awk {'print $1'}`
> > > + if [ -n "$ISBOOTTAR" ]
> > > + then
> > > + BOOTPATHOPTION=2
> > > + else
> > > + BOOTPATHOPTION=1
> > > + BOOTFILEPATH=$BOOTUSERFILEPATH
> > > + MLO=`ls $BOOTFILEPATH | grep MLO | awk {'print $1'}`
> > > + UIMAGE=`ls $BOOTFILEPATH | grep uImage | awk {'print $1'}`
> > > + BOOTIMG=`ls $BOOTFILEPATH | grep u-boot | grep .img | awk {'print $1'}`
> > > + BOOTBIN=`ls $BOOTFILEPATH | grep u-boot | grep .bin | awk {'print $1'}`
> > > + fi
> > > +
> > > + #Check if user entered a tar or not for Rootfs
> > > + ISROOTFSTAR=`ls $ROOTFSUSERFILEPATH | grep .tar.gz | awk {'print $1'}`
> > > + if [ -n "$ISROOTFSTAR" ]
> > > + then
> > > + ROOTFSPATHOPTION=2
> > > + else
> > > + ROOTFSPATHOPTION=1
> > > + ROOTFSFILEPATH=$ROOTFSUSERFILEPATH
> > > + fi
> > > +fi
> > > +
> > > +cat << EOM
> > > +################################################################################
> > > +
> > > + Copying files now... will take minutes
> > > +
> > > +################################################################################
> > > +
> > > +Copying boot partition
> > > +EOM
> > > +
> > > +
> > > +if [ $BOOTPATHOPTION -eq 1 ] ; then
> > > +
> > > + echo ""
> > > + #copy boot files out of board support
> > > + if [ "$MLO" != "" ] ; then
> > > + cp $BOOTFILEPATH/$MLO $PATH_TO_SDBOOT/MLO
> > > + echo "MLO copied"
> > > + else
> > > + echo "MLO file not found"
> > > + fi
> > > +
> > > + echo ""
> > > +
> > > + if [ "$BOOTBIN" != "" ] ; then
> > > + cp $BOOTFILEPATH/$BOOTBIN $PATH_TO_SDBOOT/u-boot.bin
> > > + echo "u-boot.bin copied"
> > > + else
> > > + echo "u-boot.bin file not found"
> > > + fi
> > > +
> > > + echo ""
> > > +
> > > + if [ "$BOOTIMG" != "" ] ; then
> > > + cp $BOOTFILEPATH/$BOOTIMG $PATH_TO_SDBOOT/u-boot.img
> > > + echo "u-boot.img copied"
> > > + else
> > > + echo "u-boot.img file not found"
> > > + fi
> > > +
> > > + echo ""
> > > +
> > > + if [ "$UIMAGE" != "" ] ; then
> > > + cp $BOOTFILEPATH/$UIMAGE $PATH_TO_SDBOOT/uImage
> > > + echo "uImage copied"
> > > + else
> > > + echo "uImage file not found"
> > > + fi
> > > +
> > > +elif [ $BOOTPATHOPTION -eq 2 ] ; then
> > > + untar_progress $BOOTUSERFILEPATH $PATH_TO_TMP_DIR
> > > + cp -rf $PATH_TO_TMP_DIR/* $PATH_TO_SDBOOT
> > > + echo ""
> > > +
> > > +fi
> > > +
> > > +echo ""
> > > +sync
> > > +
> > > +echo "Copying rootfs System partition"
> > > +if [ $ROOTFSPATHOPTION -eq 1 ] ; then
> > > + TOTALSIZE=`sudo du -c $ROOTFSUSERFILEPATH/* | grep total | awk {'print $1'}`
> > > + sudo cp -r $ROOTFSUSERFILEPATH/* $PATH_TO_SDROOTFS & cp_progress $TOTALSIZE $PATH_TO_SDROOTFS
> > > +
> > > +elif [ $ROOTFSPATHOPTION -eq 2 ] ; then
> > > + untar_progress $ROOTFSUSERFILEPATH $PATH_TO_SDROOTFS
> > > +fi
> > > +
> > > +echo ""
> > > +echo ""
> > > +echo "Syncing..."
> > > +sync
> > > +sync
> > > +sync
> > > +sync
> > > +sync
> > > +sync
> > > +sync
> > > +sync
> > > +
> > > +
> > > +echo " "
> > > +echo "Un-mount the partitions "
> > > +sudo umount -f $PATH_TO_SDBOOT
> > > +sudo umount -f $PATH_TO_SDROOTFS
> > > +
> > > +
> > > +echo " "
> > > +echo "Remove created temp directories "
> > > +sudo rm -rf $PATH_TO_TMP_DIR
> > > +sudo rm -rf $PATH_TO_SDROOTFS
> > > +sudo rm -rf $PATH_TO_SDBOOT
> > > +
> > > +
> > > +echo " "
> > > +echo "Operation Finished"
> > > +echo " "
> > > diff --git a/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-host-check.sh b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-host-check.sh
> > > new file mode 100644
> > > index 0000000..ec32030
> > > --- /dev/null
> > > +++ b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-host-check.sh
> > > @@ -0,0 +1,43 @@
> > > +#!/bin/sh
> > > +
> > > +# This distribution contains contributions or derivatives under copyright
> > > +# as follows:
> > > +#
> > > +# Copyright (c) 2010, Texas Instruments Incorporated
> > > +# All rights reserved.
> > > +#
> > > +# Redistribution and use in source and binary forms, with or without
> > > +# modification, are permitted provided that the following conditions
> > > +# are met:
> > > +# - Redistributions of source code must retain the above copyright notice,
> > > +# this list of conditions and the following disclaimer.
> > > +# - Redistributions in binary form must reproduce the above copyright
> > > +# notice, this list of conditions and the following disclaimer in the
> > > +# documentation and/or other materials provided with the distribution.
> > > +# - Neither the name of Texas Instruments nor the names of its
> > > +# contributors may be used to endorse or promote products derived
> > > +# from this software without specific prior written permission.
> > > +#
> > > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> > > +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> > > +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> > > +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
> > > +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
> > > +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
> > > +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
> > > +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> > > +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
> > > +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
> > > +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> > > +
> > > +echo
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo "Verifying Linux host distribution"
> > > +host=`lsb_release -a 2>/dev/null | grep Codename: | awk {'print $2'}`
> > > +if [ "$host" != "lucid" ]; then
> > > + echo "Unsupported host machine, only Ubuntu 10.04 LTS supported"
> > > + exit 1
> > > +fi
> > > +echo "Ubuntu 10.04 LTS found successfully, continuing.."
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo
> > > diff --git a/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-minicom.sh b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-minicom.sh
> > > new file mode 100644
> > > index 0000000..d099b2f
> > > --- /dev/null
> > > +++ b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-minicom.sh
> > > @@ -0,0 +1,101 @@
> > > +#!/bin/sh
> > > +
> > > +# This distribution contains contributions or derivatives under copyright
> > > +# as follows:
> > > +#
> > > +# Copyright (c) 2010, Texas Instruments Incorporated
> > > +# All rights reserved.
> > > +#
> > > +# Redistribution and use in source and binary forms, with or without
> > > +# modification, are permitted provided that the following conditions
> > > +# are met:
> > > +# - Redistributions of source code must retain the above copyright notice,
> > > +# this list of conditions and the following disclaimer.
> > > +# - Redistributions in binary form must reproduce the above copyright
> > > +# notice, this list of conditions and the following disclaimer in the
> > > +# documentation and/or other materials provided with the distribution.
> > > +# - Neither the name of Texas Instruments nor the names of its
> > > +# contributors may be used to endorse or promote products derived
> > > +# from this software without specific prior written permission.
> > > +#
> > > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> > > +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> > > +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> > > +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
> > > +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
> > > +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
> > > +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
> > > +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> > > +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
> > > +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
> > > +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> > > +
> > > +cwd=`dirname $0`
> > > +. $cwd/common.sh
> > > +
> > > +
> > > +minicomcfg=${HOME}/.minirc.dfl
> > > +
> > > +echo
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo "This step will set up minicom (serial communication application) for"
> > > +echo "SDK development"
> > > +echo
> > > +echo
> > > +echo "For boards that contain a USB-to-Serial converter on the board (BeagleBone), "
> > > +echo "the port used for minicom will be automatically detected. By default Ubuntu "
> > > +echo "will not recognize this device. Setup will add a udev rule to "
> > > +echo "/etc/udev/ so that from now on it will be recognized as soon as the board is "
> > > +echo "plugged in."
> > > +echo
> > > +echo "For other boards, the serial will defualt to /dev/ttyS0. Please update based "
> > > +echo "on your setup."
> > > +
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo
> > > +
> > > +portdefault=/dev/ttyS0
> > > +
> > > +echo ""
> > > +echo "NOTE: For boards with a built-in USB to Serial adapter please press"
> > > +echo " ENTER at the prompt below. The correct port will be determined"
> > > +echo " automatically at a later step. For all other boards select"
> > > +echo " the serial port that the board is connected to"
> > > +echo "Which serial port do you want to use with minicom?"
> > > +read -p "[ $portdefault ] " port
> > > +
> > > +if [ ! -n "$port" ]; then
> > > + port=$portdefault
> > > +fi
> > > +
> > > +if [ -f $minicomcfg ]; then
> > > + cp $minicomcfg $minicomcfg.old
> > > + echo
> > > + echo "Copied existing $minicomcfg to $minicomcfg.old"
> > > +fi
> > > +
> > > +echo "pu port $port
> > > +pu baudrate 115200
> > > +pu bits 8
> > > +pu parity N
> > > +pu stopbits 1
> > > +pu minit
> > > +pu mreset
> > > +pu mdialpre
> > > +pu mdialsuf
> > > +pu mdialpre2
> > > +pu mdialsuf2
> > > +pu mdialpre3
> > > +pu mdialsuf3
> > > +pu mconnect
> > > +pu mnocon1 NO CARRIER
> > > +pu mnocon2 BUSY
> > > +pu mnocon3 NO DIALTONE
> > > +pu mnocon4 VOICE
> > > +pu rtscts No" | tee $minicomcfg > /dev/null
> > > +check_status
> > > +
> > > +echo
> > > +echo "Configuration saved to $minicomcfg. You can change it further from inside"
> > > +echo "minicom, see the Software Development Guide for more information."
> > > +echo "--------------------------------------------------------------------------------"
> > > diff --git a/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-package-install.sh b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-package-install.sh
> > > new file mode 100644
> > > index 0000000..cc75337
> > > --- /dev/null
> > > +++ b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-package-install.sh
> > > @@ -0,0 +1,50 @@
> > > +#!/bin/sh
> > > +
> > > +# This distribution contains contributions or derivatives under copyright
> > > +# as follows:
> > > +#
> > > +# Copyright (c) 2010, Texas Instruments Incorporated
> > > +# All rights reserved.
> > > +#
> > > +# Redistribution and use in source and binary forms, with or without
> > > +# modification, are permitted provided that the following conditions
> > > +# are met:
> > > +# - Redistributions of source code must retain the above copyright notice,
> > > +# this list of conditions and the following disclaimer.
> > > +# - Redistributions in binary form must reproduce the above copyright
> > > +# notice, this list of conditions and the following disclaimer in the
> > > +# documentation and/or other materials provided with the distribution.
> > > +# - Neither the name of Texas Instruments nor the names of its
> > > +# contributors may be used to endorse or promote products derived
> > > +# from this software without specific prior written permission.
> > > +#
> > > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> > > +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> > > +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> > > +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
> > > +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
> > > +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
> > > +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
> > > +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> > > +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
> > > +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
> > > +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> > > +
> > > +. `dirname $0`/common.sh
> > > +
> > > +cmd="sudo apt-get install xinetd tftpd nfs-kernel-server minicom build-essential libncurses5-dev uboot-mkimage autoconf automake"
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo "This step will make sure you have the proper host support packages installed"
> > > +echo "using the following command: $cmd"
> > > +echo
> > > +echo "Note! This command requires you to have administrator priviliges (sudo access) "
> > > +echo "on your host."
> > > +read -p "Press return to continue" REPLY
> > > +
> > > +echo
> > > +$cmd
> > > +check_status
> > > +echo
> > > +echo "Package verification and installation successfully completed"
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo
> > > diff --git a/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-targetfs-nfs.sh b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-targetfs-nfs.sh
> > > new file mode 100644
> > > index 0000000..595f432
> > > --- /dev/null
> > > +++ b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-targetfs-nfs.sh
> > > @@ -0,0 +1,153 @@
> > > +#!/bin/sh
> > > +
> > > +# This distribution contains contributions or derivatives under copyright
> > > +# as follows:
> > > +#
> > > +# Copyright (c) 2010, Texas Instruments Incorporated
> > > +# All rights reserved.
> > > +#
> > > +# Redistribution and use in source and binary forms, with or without
> > > +# modification, are permitted provided that the following conditions
> > > +# are met:
> > > +# - Redistributions of source code must retain the above copyright notice,
> > > +# this list of conditions and the following disclaimer.
> > > +# - Redistributions in binary form must reproduce the above copyright
> > > +# notice, this list of conditions and the following disclaimer in the
> > > +# documentation and/or other materials provided with the distribution.
> > > +# - Neither the name of Texas Instruments nor the names of its
> > > +# contributors may be used to endorse or promote products derived
> > > +# from this software without specific prior written permission.
> > > +#
> > > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> > > +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> > > +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> > > +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
> > > +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
> > > +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
> > > +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
> > > +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> > > +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
> > > +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
> > > +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> > > +
> > > +cwd=`dirname $0`
> > > +. $cwd/common.sh
> > > +
> > > +SDKinstall=`grep TI_SDK_PATH= $cwd/../Rules.make | cut -d= -f2`
> > > +
> > > +dstdefault=$SDKinstall/targetNFS
> > > +
> > > +
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo "In which directory do you want to install the target filesystem?(if this directory does not exist it will be created)"
> > > +read -p "[ $dstdefault ] " dst
> > > +
> > > +if [ ! -n "$dst" ]; then
> > > + dst=$dstdefault
> > > +fi
> > > +echo "--------------------------------------------------------------------------------"
> > > +
> > > +echo
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo "This step will extract the target filesystem to $dst"
> > > +echo
> > > +echo "Note! This command requires you to have administrator priviliges (sudo access) "
> > > +echo "on your host."
> > > +read -p "Press return to continue" REPLY
> > > +
> > > +extract_fs() {
> > > + fstar=`ls -1 $cwd/../filesystem/??sdk*rootfs*.tar.gz`
> > > + me=`whoami`
> > > + sudo mkdir -p $1
> > > + check_status
> > > + sudo tar xzf $fstar -C $1
> > > + check_status
> > > + sudo chown $me:$me $1
> > > + check_status
> > > + sudo chown -R $me:$me $1/home $1/usr $1/etc $1/lib $1/opt $1/boot
> > > + check_status
> > > + echo
> > > + echo "Successfully extracted `basename $fstar` to $1"
> > > +}
> > > +
> > > +if [ -d $dst ]; then
> > > + echo "$dst already exists"
> > > + echo "(r) rename existing filesystem (o) overwrite existing filesystem (s) skip filesystem extraction"
> > > + read -p "[r] " exists
> > > + case "$exists" in
> > > + s) echo "Skipping filesystem extraction"
> > > + echo "WARNING! Keeping the previous filesystem may cause compatibility problems if you are upgrading the SDK"
> > > + ;;
> > > + o) sudo rm -rf $dst
> > > + echo "Old $dst removed"
> > > + extract_fs $dst
> > > + ;;
> > > + *) dte="`date +%m%d%Y`_`date +%H`.`date +%M`"
> > > + echo "Path for old filesystem:"
> > > + read -p "[ $dst.$dte ]" old
> > > + if [ ! -n "$old" ]; then
> > > + old="$dst.$dte"
> > > + fi
> > > + sudo mv $dst $old
> > > + check_status
> > > + echo
> > > + echo "Successfully moved old $dst to $old"
> > > + extract_fs $dst
> > > + ;;
> > > + esac
> > > +else
> > > + extract_fs $dst
> > > +fi
> > > +echo $dst > $cwd/../.targetfs
> > > +echo "set sysroot $dst" > $cwd/../.gdbinit
> > > +echo "--------------------------------------------------------------------------------"
> > > +
> > > +platform=`grep PLATFORM= $cwd/../Rules.make | cut -d= -f2`
> > > +echo
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo "This step will set up the SDK to install binaries in to:"
> > > +echo " $dst/home/root/$platform"
> > > +echo
> > > +echo "The files will be available from /home/root/$platform on the target."
> > > +echo
> > > +echo "This setting can be changed later by editing Rules.make and changing the"
> > > +echo "EXEC_DIR or DESTDIR variable (depending on your SDK)."
> > > +echo
> > > +read -p "Press return to continue" REPLY
> > > +
> > > +sed -i "s=EXEC_DIR\=.*$=EXEC_DIR\=$dst/home/root/$platform=g" $cwd/../Rules.make
> > > +check_status
> > > +
> > > +sed -i "s=DESTDIR\=.*$=DESTDIR\=$dst=g" $cwd/../Rules.make
> > > +check_status
> > > +
> > > +echo "Rules.make edited successfully.."
> > > +echo "--------------------------------------------------------------------------------"
> > > +
> > > +echo
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo "This step will export your target filesystem for NFS access."
> > > +echo
> > > +echo "Note! This command requires you to have administrator priviliges (sudo access) "
> > > +echo "on your host."
> > > +read -p "Press return to continue" REPLY
> > > +
> > > +grep $dst /etc/exports > /dev/null
> > > +if [ "$?" -eq "0" ]; then
> > > + echo "$dst already NFS exported, skipping.."
> > > +else
> > > + sudo chmod 666 /etc/exports
> > > + check_status
> > > + sudo echo "$dst *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)" >> /etc/exports
> > > + check_status
> > > + sudo chmod 644 /etc/exports
> > > + check_status
> > > +fi
> > > +
> > > +echo
> > > +sudo /etc/init.d/nfs-kernel-server stop
> > > +check_status
> > > +sleep 1
> > > +sudo /etc/init.d/nfs-kernel-server start
> > > +check_status
> > > +echo "--------------------------------------------------------------------------------"
> > > diff --git a/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-tftp.sh b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-tftp.sh
> > > new file mode 100644
> > > index 0000000..b11a76b
> > > --- /dev/null
> > > +++ b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-tftp.sh
> > > @@ -0,0 +1,150 @@
> > > +#!/bin/sh
> > > +
> > > +# This distribution contains contributions or derivatives under copyright
> > > +# as follows:
> > > +#
> > > +# Copyright (c) 2010, Texas Instruments Incorporated
> > > +# All rights reserved.
> > > +#
> > > +# Redistribution and use in source and binary forms, with or without
> > > +# modification, are permitted provided that the following conditions
> > > +# are met:
> > > +# - Redistributions of source code must retain the above copyright notice,
> > > +# this list of conditions and the following disclaimer.
> > > +# - Redistributions in binary form must reproduce the above copyright
> > > +# notice, this list of conditions and the following disclaimer in the
> > > +# documentation and/or other materials provided with the distribution.
> > > +# - Neither the name of Texas Instruments nor the names of its
> > > +# contributors may be used to endorse or promote products derived
> > > +# from this software without specific prior written permission.
> > > +#
> > > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> > > +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> > > +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> > > +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
> > > +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
> > > +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
> > > +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
> > > +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> > > +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
> > > +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
> > > +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> > > +
> > > +cwd=`dirname $0`
> > > +. $cwd/common.sh
> > > +
> > > +tftpcfg=/etc/xinetd.d/tftp
> > > +tftprootdefault=/tftpboot
> > > +
> > > +tftp() {
> > > + echo "
> > > +service tftp
> > > +{
> > > +protocol = udp
> > > +port = 69
> > > +socket_type = dgram
> > > +wait = yes
> > > +user = nobody
> > > +server = /usr/sbin/in.tftpd
> > > +server_args = $tftproot
> > > +disable = no
> > > +}
> > > +" | sudo tee $tftpcfg > /dev/null
> > > + check_status
> > > + echo
> > > + echo "$tftpcfg successfully created"
> > > +}
> > > +
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo "Which directory do you want to be your tftp root directory?(if this directory does not exist it will be created for you)"
> > > +read -p "[ $tftprootdefault ] " tftproot
> > > +
> > > +if [ ! -n "$tftproot" ]; then
> > > + tftproot=$tftprootdefault
> > > +fi
> > > +echo $tftproot > $cwd/../.tftproot
> > > +echo "--------------------------------------------------------------------------------"
> > > +
> > > +echo
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo "This step will set up the tftp server in the $tftproot directory."
> > > +echo
> > > +echo "Note! This command requires you to have administrator priviliges (sudo access) "
> > > +echo "on your host."
> > > +read -p "Press return to continue" REPLY
> > > +
> > > +if [ -d $tftproot ]; then
> > > + echo
> > > + echo "$tftproot already exists, not creating.."
> > > +else
> > > + sudo mkdir -p $tftproot
> > > + check_status
> > > + sudo chmod 777 $tftproot
> > > + check_status
> > > + sudo chown nobody $tftproot
> > > + check_status
> > > +fi
> > > +
> > > +platform=`cat $cwd/../Rules.make | grep -e "^PLATFORM=" | cut -d= -f2`
> > > +uimage="uImage-""$platform"".bin"
> > > +uimagesrc=`ls -1 $cwd/../board-support/prebuilt-images/$uimage`
> > > +if [ -f $tftproot/$uimage ]; then
> > > + echo
> > > + echo "$tftproot/$uimage already exists. The existing installed file can be renamed and saved under the new name."
> > > + echo "(r) rename (o) overwrite (s) skip copy "
> > > + read -p "[r] " exists
> > > + case "$exists" in
> > > + s) echo "Skipping copy of $uimage, existing version will be used"
> > > + ;;
> > > + o) sudo cp $uimagesrc $tftproot
> > > + check_status
> > > + echo
> > > + echo "Successfully overwritten $uimage in tftp root directory $tftproot"
> > > + ;;
> > > + *) dte="`date +%m%d%Y`_`date +%H`.`date +%M`"
> > > + echo "New name for existing uImage: "
> > > + read -p "[ $uimage.$dte ]" newname
> > > + if [ ! -n "$newname" ]; then
> > > + newname="$uimage.$dte"
> > > + fi
> > > + sudo mv "$tftproot/$uimage" "$tftproot/$newname"
> > > + check_status
> > > + sudo cp $uimagesrc $tftproot
> > > + check_status
> > > + echo
> > > + echo "Successfully copied $uimage to tftp root directory $tftproot as $newname"
> > > + ;;
> > > + esac
> > > +else
> > > + sudo cp $uimagesrc $tftproot
> > > + check_status
> > > + echo
> > > + echo "Successfully copied $uimage to tftp root directory $tftproot"
> > > +fi
> > > +
> > > +echo
> > > +if [ -f $tftpcfg ]; then
> > > + echo "$tftpcfg already exists.."
> > > +
> > > + #Use = instead of == for POSIX and dash shell compliance
> > > + if [ "`cat $tftpcfg | grep server_args | cut -d= -f2 | sed 's/^[ ]*//'`" \
> > > + = "$tftproot" ]; then
> > > + echo "$tftproot already exported for TFTP, skipping.."
> > > + else
> > > + echo "Copying old $tftpcfg to $tftpcfg.old"
> > > + sudo cp $tftpcfg $tftpcfg.old
> > > + check_status
> > > + tftp
> > > + fi
> > > +else
> > > + tftp
> > > +fi
> > > +
> > > +echo
> > > +echo "Restarting tftp server"
> > > +sudo /etc/init.d/xinetd stop
> > > +check_status
> > > +sleep 1
> > > +sudo /etc/init.d/xinetd start
> > > +check_status
> > > +echo "--------------------------------------------------------------------------------"
> > > diff --git a/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-uboot-env-am18x.sh b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-uboot-env-am18x.sh
> > > new file mode 100644
> > > index 0000000..f486dda
> > > --- /dev/null
> > > +++ b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-uboot-env-am18x.sh
> > > @@ -0,0 +1,308 @@
> > > +#!/bin/sh
> > > +
> > > +# This distribution contains contributions or derivatives under copyright
> > > +# as follows:
> > > +#
> > > +# Copyright (c) 2010, Texas Instruments Incorporated
> > > +# All rights reserved.
> > > +#
> > > +# Redistribution and use in source and binary forms, with or without
> > > +# modification, are permitted provided that the following conditions
> > > +# are met:
> > > +# - Redistributions of source code must retain the above copyright notice,
> > > +# this list of conditions and the following disclaimer.
> > > +# - Redistributions in binary form must reproduce the above copyright
> > > +# notice, this list of conditions and the following disclaimer in the
> > > +# documentation and/or other materials provided with the distribution.
> > > +# - Neither the name of Texas Instruments nor the names of its
> > > +# contributors may be used to endorse or promote products derived
> > > +# from this software without specific prior written permission.
> > > +#
> > > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> > > +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> > > +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> > > +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
> > > +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
> > > +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
> > > +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
> > > +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> > > +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
> > > +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
> > > +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> > > +
> > > +cwd=`dirname $0`
> > > +. $cwd/common.sh
> > > +
> > > +echo
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo "This step will set up the u-boot variables for booting the EVM."
> > > +
> > > +SDKinstall=`grep TI_SDK_PATH= $cwd/../Rules.make | cut -d= -f2`
> > > +
> > > +dstdefault=$SDKinstall/targetNFS
> > > +
> > > +
> > > +ipdefault=`ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1 }'`
> > > +platform=`grep PLATFORM= $cwd/../Rules.make | cut -d= -f2`
> > > +prompt=" >"
> > > +
> > > +echo "Autodetected the following ip address of your host, correct it if necessary"
> > > +read -p "[ $ipdefault ] " ip
> > > +echo
> > > +
> > > +if [ ! -n "$ip" ]; then
> > > + ip=$ipdefault
> > > +fi
> > > +
> > > +if [ -f $cwd/../.targetfs ]; then
> > > + rootpath=`cat $cwd/../.targetfs`
> > > +else
> > > + echo "Where is your target filesystem extracted?"
> > > + read -p "[ $dstdefault ]" rootpath
> > > +
> > > + if [ ! -n "$rootpath" ]; then
> > > + rootpath="$dstdefault"
> > > + fi
> > > + echo
> > > +fi
> > > +
> > > +if [ -f $cwd/../.tftproot ]; then
> > > + tftproot=`cat $cwd/../.tftproot`
> > > +else
> > > + echo "Where is your TFTP root?"
> > > + read -p "[ /tftpboot ] " tftproot
> > > +
> > > + if [ ! -n "$tftproot" ]; then
> > > + tftproot="/tftpboot"
> > > + fi
> > > + echo
> > > +fi
> > > +
> > > +uimage="uImage-""$platform"".bin"
> > > +uimagesrc=`ls -1 $cwd/../board-support/prebuilt-images/$uimage`
> > > +uimagedefault=`basename $uimagesrc`
> > > +
> > > +baseargs="console=ttyS2,115200n8 rw noinitrd"
> > > +videoargs=""
> > > +extendbaseargs=""
> > > +fssdargs="root=/dev/mmcblk0p2 rootfstype=ext3 rootwait"
> > > +fsnfsargs1="root=/dev/nfs nfsroot="
> > > +fsnfsargs2="$ip:"
> > > +fsnfsargs3="$rootpath"
> > > +fsnfsargs4=",nolock,rsize=1024,wsize=1024"
> > > +fsnfsargs=$fsnfsargs1$fsnfsargs2$fsnfsargs3$fsnfsargs4
> > > +
> > > +echo "Select Linux kernel location:"
> > > +echo " 1: TFTP"
> > > +echo " 2: SD card"
> > > +echo " 3: flash"
> > > +echo
> > > +read -p "[ 1 ] " kernel
> > > +
> > > +if [ ! -n "$kernel" ]; then
> > > + kernel="1"
> > > +fi
> > > +
> > > +echo
> > > +echo "Select root file system location:"
> > > +echo " 1: NFS"
> > > +echo " 2: SD card"
> > > +echo
> > > +read -p "[ 1 ] " fs
> > > +
> > > +if [ ! -n "$fs" ]; then
> > > + fs="1"
> > > +fi
> > > +
> > > +if [ "$kernel" -eq "1" ]; then
> > > + echo
> > > + echo "Available kernel images in $tftproot:"
> > > + for file in $tftproot/*; do
> > > + basefile=`basename $file`
> > > + echo " $basefile"
> > > + done
> > > + if [ ! -f $tftproot/$uimagedefault ]; then
> > > + uimagedefault=`ls -1 $tftproot/* | head -1`
> > > + uimagedefault=`basename $uimagedefault`
> > > + fi
> > > + echo
> > > + echo "Which kernel image do you want to boot from TFTP?"
> > > + read -p "[ $uimagedefault ] " uimage
> > > +
> > > + if [ ! -n "$uimage" ]; then
> > > + uimage=$uimagedefault
> > > + fi
> > > +
> > > +# bootcmd="setenv bootcmd 'dhcp;bootm'"
> > > + bootcmd="setenv bootcmd 'dhcp;setenv serverip $ip;tftpboot;bootm'"
> > > + serverip="setenv serverip $ip"
> > > + bootfile="setenv bootfile $uimage"
> > > +
> > > + if [ "$fs" -eq "1" ]; then
> > > + bootargs="setenv bootargs $baseargs $extendbaseargs $videoargs $fsnfsargs ip=dhcp"
> > > + cfg="uimage-tftp_fs-nfs"
> > > + else
> > > + bootargs="setenv bootargs $baseargs $extendbaseargs $videoargs $fssdargs ip=none"
> > > + cfg="uimage-tftp_fs-sd"
> > > + fi
> > > +else
> > > + if [ "$kernel" -eq "2" ]; then
> > > +
> > > + if [ "$fs" -eq "1" ]; then
> > > + bootargs="setenv bootargs $baseargs $extendbaseargs $videoargs $fsnfsargs ip=dhcp"
> > > + bootcmd="setenv bootcmd 'mmc rescan 0; fatload mmc 0 0xc0700000 uImage; bootm 0xc0700000'"
> > > + cfg="uimage-sd_fs-nfs"
> > > + else
> > > + bootargs="setenv bootargs $baseargs $extendbaseargs $videoargs $fssdargs ip=none"
> > > + bootcmd="setenv bootcmd 'mmc rescan 0; fatload mmc 0 0xc0700000 uImage; bootm 0xc0700000'"
> > > + cfg="uimage-sd_fs-sd"
> > > + fi
> > > + else
> > > + if [ "$fs" -eq "1" ]; then
> > > + bootargs="setenv bootargs $baseargs $extendbaseargs $videoargs $fsnfsargs ip=dhcp"
> > > + bootcmd="setenv bootcmd 'sf probe 0; sf read 0xc0700000 0x80000 0x280000; bootm 0xc0700000'"
> > > + cfg="uimage-flash_fs-nfs"
> > > + else
> > > + bootargs="setenv bootargs $baseargs $extendbaseargs $videoargs $fssdargs ip=none"
> > > + bootcmd="setenv bootcmd 'sf probe 0; sf read 0xc0700000 0x80000 0x280000; bootm 0xc0700000'"
> > > + cfg="uimage-flash_fs-sd"
> > > + fi
> > > + fi
> > > +fi
> > > +
> > > +echo
> > > +echo "Resulting u-boot variable settings:"
> > > +echo
> > > +echo "setenv bootdelay 3"
> > > +echo "setenv baudrate 115200"
> > > +echo $bootargs
> > > +echo $bootcmd
> > > +
> > > +if [ -n "$serverip" ]; then
> > > + echo "setenv autoload no"
> > > + echo $serverip
> > > +fi
> > > +
> > > +if [ -n "$bootfile" ]; then
> > > + echo $bootfile
> > > +fi
> > > +echo "--------------------------------------------------------------------------------"
> > > +
> > > +do_expect() {
> > > + echo "expect {" >> $3
> > > + check_status
> > > + echo " $1" >> $3
> > > + check_status
> > > + echo "}" >> $3
> > > + check_status
> > > + echo $2 >> $3
> > > + check_status
> > > + echo >> $3
> > > +}
> > > +
> > > +echo
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo "Would you like to create a minicom script with the above parameters (y/n)?"
> > > +read -p "[ y ] " minicom
> > > +echo
> > > +
> > > +if [ ! -n "$minicom" ]; then
> > > + minicom="y"
> > > +fi
> > > +
> > > +#Use = instead of == for POSIX compliance and dash compatibility
> > > +if [ "$minicom" = "y" ]; then
> > > + minicomfile=setup_$platform_$cfg.minicom
> > > + minicomfilepath=$cwd/../$minicomfile
> > > +
> > > + if [ -f $minicomfilepath ]; then
> > > + echo "Moving existing $minicomfile to $minicomfile.old"
> > > + mv $minicomfilepath $minicomfilepath.old
> > > + check_status
> > > + fi
> > > +
> > > + timeout=300
> > > + echo "timeout $timeout" >> $minicomfilepath
> > > + echo "verbose on" >> $minicomfilepath
> > > + echo >> $minicomfilepath
> > > + do_expect "\"stop autoboot:\"" "send \"\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"setenv bootdelay 4\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"setenv baudrate 115200\"" $minicomfilepath
> > > + do_expect "\"ENTER ...\"" "send \"\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"setenv oldbootargs \$\{bootargs\}\"" $minicomfilepath
> > > +
> > > +# For dash compatibility need to use printf instead of echo
> > > +# because dash shell will expand the \c by default
> > > +# do_expect "\"$prompt\"" "send \"setenv bootargs $baseargs \c\"" $minicomfilepath
> > > + echo "expect {" >> $minicomfilepath
> > > + check_status
> > > + echo " \"$prompt\"" >> $minicomfilepath
> > > + check_status
> > > + echo "}" >> $minicomfilepath
> > > + check_status
> > > + printf "send \"setenv bootargs $baseargs \c\"\n" >> $minicomfilepath
> > > + check_status
> > > +
> > > +# For dash compatibility need to use printf instead of echo
> > > +# printf "send \"$extendbaseargs \c\"\n" >> $minicomfilepath
> > > +# printf "send \"$videoargs1 \c\"\n" >> $minicomfilepath
> > > +# printf "send \"$videoargs2 \c\"\n" >> $minicomfilepath
> > > +# printf "send \"$videoargs3 \c\"\n" >> $minicomfilepath
> > > + if [ "$fs" -eq "1" ]; then
> > > + printf "send \"$fsnfsargs1\c\"\n" >> $minicomfilepath
> > > + printf "send \"$fsnfsargs2\c\"\n" >> $minicomfilepath
> > > + printf "send \"$fsnfsargs3\c\"\n" >> $minicomfilepath
> > > + printf "send \"$fsnfsargs4 \c\"\n" >> $minicomfilepath
> > > + echo "send \"ip=dhcp\"" >> $minicomfilepath
> > > + else
> > > + printf "send \"$fssdargs \c\"\n" >> $minicomfilepath
> > > + echo "send \"ip=off\"" >> $minicomfilepath
> > > + fi
> > > + if [ "$kernel" -eq "1" ]; then
> > > + do_expect "\"$prompt\"" "send \"setenv autoload no\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"setenv oldserverip \$\{serverip\}\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"$serverip\"" $minicomfilepath
> > > +# do_expect "\"$prompt\"" "send \"setenv oldbootfile \$\{bootfile\}\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"$bootfile\"" $minicomfilepath
> > > + fi
> > > + do_expect "\"$prompt\"" "send \"setenv oldbootcmd \$\{bootcmd\}\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"$bootcmd\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"saveenv\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "! killall -s SIGHUP minicom" $minicomfilepath
> > > +
> > > + echo -n "Successfully wrote "
> > > + readlink -m $minicomfilepath
> > > +
> > > + echo
> > > + echo "Would you like to run the setup script now (y/n)? This requires you to connect"
> > > + echo "the RS-232 cable between your host and EVM as well as your ethernet cable as"
> > > + echo "described in the Quick Start Guide. Once answering 'y' on the prompt below"
> > > + echo "you will have $timeout seconds to connect the board and power cycle it"
> > > + echo "before the setup times out."
> > > + echo
> > > + echo "After successfully executing this script, your EVM will be set up. You will be "
> > > + echo "able to connect to it by executing 'minicom -w' or if you prefer a windows host"
> > > + echo "you can set up Tera Term as explained in the Software Developer's Guide."
> > > + echo "If you connect minicom or Tera Term and power cycle the board Linux will boot."
> > > + echo
> > > + read -p "[ y ] " minicomsetup
> > > +
> > > + if [ ! -n "$minicomsetup" ]; then
> > > + minicomsetup="y"
> > > + fi
> > > +
> > > + savedir=""
> > > + #Use = instead of == for POSIX compliance and dash compatibility
> > > + if [ "$minicomsetup" = "y" ]; then
> > > + #For dash compatibility, do not use pushd & popd
> > > + savedir=$cwd
> > > + cd "$cwd/.."
> > > + check_status
> > > + minicom -S $minicomfile
> > > + cd $savedir
> > > + check_status
> > > + fi
> > > +
> > > + echo "You can manually run minicom in the future with this setup script using: minicom -S $minicomfile"
> > > +fi
> > > +echo "--------------------------------------------------------------------------------"
> > > diff --git a/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-uboot-env-am335x.sh b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-uboot-env-am335x.sh
> > > new file mode 100644
> > > index 0000000..600e3ad
> > > --- /dev/null
> > > +++ b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-uboot-env-am335x.sh
> > > @@ -0,0 +1,409 @@
> > > +#!/bin/sh
> > > +
> > > +# This distribution contains contributions or derivatives under copyright
> > > +# as follows:
> > > +#
> > > +# Copyright (c) 2010, Texas Instruments Incorporated
> > > +# All rights reserved.
> > > +#
> > > +# Redistribution and use in source and binary forms, with or without
> > > +# modification, are permitted provided that the following conditions
> > > +# are met:
> > > +# - Redistributions of source code must retain the above copyright notice,
> > > +# this list of conditions and the following disclaimer.
> > > +# - Redistributions in binary form must reproduce the above copyright
> > > +# notice, this list of conditions and the following disclaimer in the
> > > +# documentation and/or other materials provided with the distribution.
> > > +# - Neither the name of Texas Instruments nor the names of its
> > > +# contributors may be used to endorse or promote products derived
> > > +# from this software without specific prior written permission.
> > > +#
> > > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> > > +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> > > +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> > > +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
> > > +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
> > > +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
> > > +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
> > > +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> > > +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
> > > +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
> > > +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> > > +
> > > +cwd=`dirname $0`
> > > +. $cwd/common.sh
> > > +
> > > +do_expect() {
> > > + echo "expect {" >> $3
> > > + check_status
> > > + echo " $1" >> $3
> > > + check_status
> > > + echo "}" >> $3
> > > + check_status
> > > + echo $2 >> $3
> > > + check_status
> > > + echo >> $3
> > > +}
> > > +
> > > +
> > > +echo
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo "This step will set up the u-boot variables for booting the EVM."
> > > +echo "Becuase the not all AM335x devices have a NAND, the u-boot variables will"
> > > +echo "be stored in uEnv.txt on the boot partition. U-boot will read this"
> > > +echo "file on boot."
> > > +echo
> > > +
> > > +ipdefault=`ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1 }'`
> > > +platform=`grep PLATFORM= $cwd/../Rules.make | cut -d= -f2`
> > > +
> > > +
> > > +echo "Autodetected the following ip address of your host, correct it if necessary"
> > > +read -p "[ $ipdefault ] " ip
> > > +echo
> > > +
> > > +if [ ! -n "$ip" ]; then
> > > + ip=$ipdefault
> > > +fi
> > > +
> > > +if [ -f $cwd/../.targetfs ]; then
> > > + rootpath=`cat $cwd/../.targetfs`
> > > +else
> > > + echo "Where is your target filesystem extracted?"
> > > + read -p "[ ${HOME}/targetNFS ]" rootpath
> > > +
> > > + if [ ! -n "$rootpath" ]; then
> > > + rootpath="${HOME}/targetNFS"
> > > + fi
> > > + echo
> > > +fi
> > > +
> > > +uimage="uImage-""$platform"".bin"
> > > +uimagesrc=`ls -1 $cwd/../board-support/prebuilt-images/$uimage`
> > > +uimagedefault=`basename $uimagesrc`
> > > +
> > > +
> > > +echo "Select Linux kernel location:"
> > > +echo " 1: TFTP"
> > > +echo " 2: SD card"
> > > +echo
> > > +read -p "[ 1 ] " kernel
> > > +
> > > +if [ ! -n "$kernel" ]; then
> > > + kernel="1"
> > > +fi
> > > +
> > > +echo
> > > +echo "Select root file system location:"
> > > +echo " 1: NFS"
> > > +echo " 2: SD card"
> > > +echo
> > > +read -p "[ 1 ] " fs
> > > +
> > > +if [ ! -n "$fs" ]; then
> > > + fs="1"
> > > +fi
> > > +
> > > +
> > > +
> > > +if [ "$kernel" -eq "1" ]; then
> > > + echo
> > > + echo "Available kernel images in /tftproot:"
> > > + for file in /tftpboot/*; do
> > > + basefile=`basename $file`
> > > + echo " $basefile"
> > > + done
> > > + echo
> > > + echo "Which kernel image do you want to boot from TFTP?"
> > > + read -p "[ $uimagedefault ] " uimage
> > > +
> > > + if [ ! -n "$uimage" ]; then
> > > + uimage=$uimagedefault
> > > + fi
> > > +fi
> > > +
> > > +isBB="n"
> > > +isBBrevA3="n"
> > > +configBB="n"
> > > +
> > > +check_for_beaglebone() {
> > > + # First check if there is a rev A3 board which uses the custom VID/PID
> > > + # combination
> > > + lsusb -d 0403:a6d0 > /dev/null
> > > +
> > > + if [ "$?" = "0" ]
> > > + then
> > > + # We found a beaglebone
> > > + isBB="y"
> > > + isBBrevA3="y"
> > > + return
> > > + fi
> > > +
> > > + # Now let's check for a standard VID/PID like newer BeagleBones have
> > > + sudo lsusb -vv -d 0403:6010 | grep "Product" | grep "BeagleBone" > /dev/null
> > > +
> > > + if [ "$?" = "0" ]
> > > + then
> > > + isBB="y"
> > > + return
> > > + fi
> > > +
> > > + # Now let's check for EVM-SK
> > > + sudo lsusb -vv -d 0403:6010 | grep "Product" | grep "EVM-SK" > /dev/null
> > > +
> > > + if [ "$?" = "0" ]
> > > + then
> > > + isBB="y"
> > > + return
> > > + fi
> > > +}
> > > +
> > > +check_for_beaglebone
> > > +
> > > +if [ "$isBB" = "y" ]
> > > +then
> > > + echo ""
> > > + echo ""
> > > + echo "This SDK supports both the AM335x EVM and the BeagleBone/EVM-SK."
> > > + echo "A BeagleBone/EVM-SK has been detected as attached to your host system"
> > > + echo "Are you wanting to configure u-boot for this device? An"
> > > + echo "answer of 'n' will configure u-boot for the AM335x EVM instead"
> > > + read -p "(y/n) " configBB
> > > +fi
> > > +
> > > +if [ "$configBB" = "y" ]; then
> > > +#The BeagleBone has been detected, write information to uEnv.txt
> > > +
> > > +
> > > + if [ "$kernel" -eq "1" ]; then
> > > + if [ "$fs" -eq "1" ]; then
> > > + #TFTP and NFS Boot
> > > + echo "serverip=$ip" > $cwd/uEnv.txt
> > > + echo "rootpath=$rootpath" >> $cwd/uEnv.txt
> > > + echo "bootfile=$uimage" >> $cwd/uEnv.txt
> > > + echo "ip_method=dhcp" >> $cwd/uEnv.txt
> > > + echo "tftp_nfs_boot=echo Booting from network...; dhcp \${loadaddr} \${bootfile}; run net_args; bootm \${loadaddr}" >> $cwd/uEnv.txt
> > > + echo "uenvcmd=run tftp_nfs_boot" >> $cwd/uEnv.txt
> > > + else
> > > + #TFTP and SD Boot
> > > + echo "serverip=$ip" > $cwd/uEnv.txt
> > > + echo "bootfile=$uimage" >> $cwd/uEnv.txt
> > > + echo "ip_method=none" >> $cwd/uEnv.txt
> > > + echo "tftp_sd_boot=run bootargs_defaults; dhcp \${loadaddr} \${bootfile}; run mmc_args; bootm \${loadaddr}" >> $cwd/uEnv.txt
> > > + echo "uenvcmd=run tftp_sd_boot" >> $cwd/uEnv.txt
> > > +
> > > + fi
> > > + else
> > > + if [ "$fs" -eq "1" ]; then
> > > + #SD and NFS Boot
> > > + echo "serverip=$ip" > $cwd/uEnv.txt
> > > + echo "rootpath=$rootpath" >> $cwd/uEnv.txt
> > > + echo "ip_method=dhcp" >> $cwd/uEnv.txt
> > > + echo "uenvcmd=setenv autoload no; mmc rescan 0; run mmc_load_uimage; run net_args; bootm \${kloadaddr}" >> $cwd/uEnv.txt
> > > + else
> > > + #SD and SD boot
> > > + echo "ip_method=none" > $cwd/uEnv.txt
> > > + echo "uenvcmd=mmc rescan 0; run mmc_boot" >> $cwd/uEnv.txt
> > > + fi
> > > + fi
> > > +
> > > +
> > > +
> > > + #Copy uEnv.txt to the mounted /media/boot partition
> > > + if [ ! -d /media/boot ]; then
> > > + echo "The boot partition doesn't appear to be mounted on the host."
> > > + echo "If you're using a virtual machine, please ensure it has been imported to Linux"
> > > + echo "Please ensure the boot partition is mounted and run setup.sh again."
> > > + read -p "Press Enter to exit" pressEnter
> > > + exit
> > > + fi
> > > +
> > > + echo "Copying uEnv.txt to boot partition..."
> > > +
> > > + #Let's check to make sure it's /media/boot/ and not /media/boot_
> > > + boots=`ls -1 /media/ | grep boot`
> > > + if [ ! "$boots" = "boot" ]; then
> > > + echo "There are multiple boot partions mounted in /media/."
> > > + echo "Please unmount these partitions, reset the board, and run setup.sh again."
> > > + read -p "Press Enter to exit" pressEnter
> > > + exit
> > > + fi
> > > +
> > > + cp $cwd/uEnv.txt /media/boot/
> > > + sync
> > > + sync
> > > +
> > > +
> > > +
> > > + ftdiInstalled=`lsmod | grep ftdi_sio`
> > > + if [ -z "$ftdiInstalled" ]; then
> > > + #Add the ability to regconize the BeagleBone as two serial ports
> > > + if [ "$isBBrevA3" = "y" ]
> > > + then
> > > + echo "Finishing install by adding drivers for Beagle Bone..."
> > > + sudo modprobe -q ftdi_sio vendor=0x0403 product=0xa6d0
> > > +
> > > + #Create uDev rule
> > > + echo "# Load ftdi_sio driver including support for XDS100v2." > $cwd/99-custom.rules
> > > + echo "SYSFS{idVendor}=="0403", SYSFS{idProduct}=="a6d0", \\" >> $cwd/99-custom.rules
> > > + echo "RUN+=\"/sbin/modprobe -q ftdi_sio vendor=0x0403 product=0xa6d0\"" >> $cwd/99-custom.rules
> > > + sudo cp $cwd/99-custom.rules /etc/udev/rules.d/
> > > + rm $cwd/99-custom.rules
> > > + else
> > > + sudo modprobe -q ftdi_sio
> > > + fi
> > > + fi
> > > +
> > > + port=`dmesg | grep FTDI | grep "tty" | tail -1 | grep "attached" | awk '{ print $NF }'`
> > > + while [ -z "$port" ]
> > > + do
> > > + sleep 1
> > > + port=`dmesg | grep FTDI | grep "tty" | tail -1 | grep "attached" | awk '{ print $NF }'`
> > > + done
> > > +
> > > + #Change minicom to accurately reflect the bone
> > > + minicomcfg=${HOME}/.minirc.dfl
> > > + echo "pu port /dev/$port
> > > + pu baudrate 115200
> > > + pu bits 8
> > > + pu parity N
> > > + pu stopbits 1
> > > + pu minit
> > > + pu mreset
> > > + pu mdialpre
> > > + pu mdialsuf
> > > + pu mdialpre2
> > > + pu mdialsuf2
> > > + pu mdialpre3
> > > + pu mdialsuf3
> > > + pu mconnect
> > > + pu mnocon1 NO CARRIER
> > > + pu mnocon2 BUSY
> > > + pu mnocon3 NO DIALTONE
> > > + pu mnocon4 VOICE
> > > + pu rtscts No" | tee $minicomcfg > /dev/null
> > > + check_status
> > > +
> > > + echo
> > > + echo
> > > + echo "--------------------------------------------------------------------------------"
> > > + echo "uEnv.text has been saved to the boot partition. uEnv.txt contains:"
> > > + cat $cwd/uEnv.txt
> > > + echo
> > > + echo "On the next boot, the BeagleBone will boot with these settings."
> > > + echo "Would you like to restart now (y/n)?"
> > > + read -p "[ y ]" restartNow
> > > +
> > > + if [ ! -n "$restartNow" ]; then
> > > + restartNow="y"
> > > + fi
> > > +
> > > + if [ "$restartNow" = "y" ]; then
> > > + echo "timeout 300" > $cwd/resetBoard.minicom
> > > + echo "verbose on" >> $cwd/resetBoard.minicom
> > > + echo "send \"\"" >> $cwd/resetBoard.minicom
> > > + do_expect "\"am335x-evm login: \"" "send \"root\"" $cwd/resetBoard.minicom
> > > + echo "send \"init 6\"" >> $cwd/resetBoard.minicom
> > > + do_expect "\"Restarting system.\"" "! killall -s SIGHUP minicom" $cwd/resetBoard.minicom
> > > + # Change directory into cwd because minicom does not like . in the
> > > + # path to the script
> > > + cd $cwd
> > > + minicom -w -S resetBoard.minicom
> > > + cd -
> > > +
> > > + fi
> > > +
> > > + echo "--------------------------------------------------------------------------------"
> > > + minicom -w
> > > +
> > > +else
> > > +#This is an AM335x EVM and thus has a NAND. Flash information to NAND.
> > > +
> > > +
> > > + echo "timeout 300" > $cwd/setupBoard.minicom
> > > + echo "verbose on" >> $cwd/setupBoard.minicom
> > > + do_expect "\"stop autoboot:\"" "send \" \"" $cwd/setupBoard.minicom
> > > + if [ "$kernel" -eq "1" ]; then
> > > + if [ "$fs" -eq "1" ]; then
> > > + #TFTP and NFS Boot
> > > + do_expect "\"U-Boot#\"" "send \"setenv serverip $ip\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"setenv rootpath $rootpath\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"setenv bootfile $uimage\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"setenv ip_method dhcp\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"setenv bootcmd 'setenv autoload no;dhcp \"\$\{bootfile\}\";tftp \"\$\{loadaddr\}\" \"\$\{bootfile\}\";run net_args;bootm \"\$\{loadaddr\}\"'\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"saveenv\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"boot\"" $cwd/setupBoard.minicom
> > > + else
> > > + #TFTP and SD Boot
> > > + do_expect "\"U-Boot#\"" "send \"setenv serverip $ip\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"setenv bootfile $uimage\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"setenv ip_method none\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"setenv bootcmd 'run bootargs_defaults; setenv autoload no; dhcp \"\$\{bootfile\}\"; tftp \"\$\{loadaddr\}\" \"\$\{bootfile\}\"; run mmc_args; bootm \"\$\{loadaddr\}\"'\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"saveenv\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"boot\"" $cwd/setupBoard.minicom
> > > + fi
> > > + else
> > > + if [ "$fs" -eq "1" ]; then
> > > + #SD and NFS Boot
> > > + do_expect "\"U-Boot#\"" "send \"setenv serverip $ip\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"setenv rootpath $rootpath\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"setenv bootfile uImage\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"setenv ip_method dhcp\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"setenv mmc_load_uimage 'mmc rescan; fatload mmc \"\$\{mmc_dev\}\" \"\$\{kloadaddr\}\" \"$\{bootfile\}\"'\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"setenv bootcmd 'setenv autoload no; run mmc_load_uimage; run net_args; bootm \"\$\{kloadaddr\}\"'\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"saveenv\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"boot\"" $cwd/setupBoard.minicom
> > > + else
> > > + #SD and SD boot.
> > > + do_expect "\"U-Boot#\"" "send \"setenv ip_method none\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"setenv bootfile uImage\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"setenv bootcmd 'mmc rescan 0; run mmc_boot'\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"saveenv\"" $cwd/setupBoard.minicom
> > > + do_expect "\"U-Boot#\"" "send \"boot\"" $cwd/setupBoard.minicom
> > > +
> > > + fi
> > > + fi
> > > + echo "! killall -s SIGHUP minicom" >> $cwd/setupBoard.minicom
> > > +
> > > + echo "--------------------------------------------------------------------------------"
> > > + echo "Would you like to create a minicom script with the above parameters (y/n)?"
> > > + read -p "[ y ] " minicom
> > > + echo
> > > +
> > > + if [ ! -n "$minicom" ]; then
> > > + minicom="y"
> > > + fi
> > > +
> > > + if [ "$minicom" = "y" ]; then
> > > +
> > > + echo -n "Successfully wrote "
> > > + readlink -m $cwd/setupBoard.minicom
> > > +
> > > + echo "Would you like to run the setup script now (y/n)? This requires you to connect"
> > > + echo "the RS-232 cable between your host and EVM as well as your ethernet cable as"
> > > + echo "described in the Quick Start Guide. Once answering 'y' on the prompt below"
> > > + echo "you will have 300 seconds to connect the board and power cycle it"
> > > + echo "before the setup times out"
> > > + echo
> > > + echo "After successfully executing this script, your EVM will be set up. You will be "
> > > + echo "able to connect to it by executing 'minicom -w' or if you prefer a windows host"
> > > + echo "you can set up Tera Term as explained in the Software Developer's Guide."
> > > + echo "If you connect minicom or Tera Term and power cycle the board Linux will boot."
> > > + echo
> > > + read -p "[ y ] " minicomsetup
> > > +
> > > + if [ ! -n "$minicomsetup" ]; then
> > > + minicomsetup="y"
> > > + fi
> > > +
> > > + if [ "$minicomsetup" = "y" ]; then
> > > + cd $cwd
> > > + minicom -w -S setupBoard.minicom
> > > + cd -
> > > + fi
> > > +
> > > + echo "You can manually run minicom in the future with this setup script using: minicom -S $cwd/setupBoard.minicom"
> > > + echo "--------------------------------------------------------------------------------"
> > > +
> > > + fi
> > > +fi
> > > diff --git a/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-uboot-env-am3517.sh b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-uboot-env-am3517.sh
> > > new file mode 100644
> > > index 0000000..86c12e5
> > > --- /dev/null
> > > +++ b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-uboot-env-am3517.sh
> > > @@ -0,0 +1,266 @@
> > > +#!/bin/sh
> > > +
> > > +# This distribution contains contributions or derivatives under copyright
> > > +# as follows:
> > > +#
> > > +# Copyright (c) 2010, Texas Instruments Incorporated
> > > +# All rights reserved.
> > > +#
> > > +# Redistribution and use in source and binary forms, with or without
> > > +# modification, are permitted provided that the following conditions
> > > +# are met:
> > > +# - Redistributions of source code must retain the above copyright notice,
> > > +# this list of conditions and the following disclaimer.
> > > +# - Redistributions in binary form must reproduce the above copyright
> > > +# notice, this list of conditions and the following disclaimer in the
> > > +# documentation and/or other materials provided with the distribution.
> > > +# - Neither the name of Texas Instruments nor the names of its
> > > +# contributors may be used to endorse or promote products derived
> > > +# from this software without specific prior written permission.
> > > +#
> > > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> > > +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> > > +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> > > +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
> > > +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
> > > +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
> > > +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
> > > +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> > > +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
> > > +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
> > > +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> > > +
> > > +cwd=`dirname $0`
> > > +. $cwd/common.sh
> > > +
> > > +echo
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo "This step will set up the u-boot variables for booting the EVM."
> > > +
> > > +ipdefault=`ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1 }'`
> > > +platform=`grep PLATFORM= $cwd/../Rules.make | cut -d= -f2`
> > > +prompt="EVM #"
> > > +
> > > +echo "Autodetected the following ip address of your host, correct it if necessary"
> > > +read -p "[ $ipdefault ] " ip
> > > +echo
> > > +
> > > +if [ ! -n "$ip" ]; then
> > > + ip=$ipdefault
> > > +fi
> > > +
> > > +if [ -f $cwd/../.targetfs ]; then
> > > + rootpath=`cat $cwd/../.targetfs`
> > > +else
> > > + echo "Where is your target filesystem extracted?"
> > > + read -p "[ ${HOME}/targetNFS ]" rootpath
> > > +
> > > + if [ ! -n "$rootpath" ]; then
> > > + rootpath="${HOME}/targetNFS"
> > > + fi
> > > + echo
> > > +fi
> > > +
> > > +uimage="uImage-""$platform"".bin"
> > > +uimagesrc=`ls -1 $cwd/../board-support/prebuilt-images/$uimage`
> > > +uimagedefault=`basename $uimagesrc`
> > > +
> > > +baseargs="console=ttyO2,115200n8 rw noinitrd"
> > > +videoargs=""
> > > +fssdargs="root=/dev/mmcblk0p2 rootfstype=ext3 rootwait"
> > > +fsnfsargs1="root=/dev/nfs nfsroot="
> > > +fsnfsargs2="$ip:"
> > > +fsnfsargs3="$rootpath"
> > > +fsnfsargs4=",nolock,rsize=1024,wsize=1024"
> > > +fsnfsargs=$fsnfsargs1$fsnfsargs2$fsnfsargs3$fsnfsargs4
> > > +
> > > +echo "Select Linux kernel location:"
> > > +echo " 1: TFTP"
> > > +echo " 2: SD card"
> > > +echo
> > > +read -p "[ 1 ] " kernel
> > > +
> > > +if [ ! -n "$kernel" ]; then
> > > + kernel="1"
> > > +fi
> > > +
> > > +echo
> > > +echo "Select root file system location:"
> > > +echo " 1: NFS"
> > > +echo " 2: SD card"
> > > +echo
> > > +read -p "[ 1 ] " fs
> > > +
> > > +if [ ! -n "$fs" ]; then
> > > + fs="1"
> > > +fi
> > > +
> > > +if [ "$kernel" -eq "1" ]; then
> > > + echo
> > > + echo "Available kernel images in /tftproot:"
> > > + for file in /tftpboot/*; do
> > > + basefile=`basename $file`
> > > + echo " $basefile"
> > > + done
> > > + echo
> > > + echo "Which kernel image do you want to boot from TFTP?"
> > > + read -p "[ $uimagedefault ] " uimage
> > > +
> > > + if [ ! -n "$uimage" ]; then
> > > + uimage=$uimagedefault
> > > + fi
> > > +
> > > + bootcmd="setenv bootcmd 'dhcp;setenv serverip $ip;tftpboot;bootm'"
> > > + serverip="setenv serverip $ip"
> > > + bootfile="setenv bootfile $uimage"
> > > +
> > > + if [ "$fs" -eq "1" ]; then
> > > + bootargs="setenv bootargs $baseargs $videoargs $fsnfsargs ip=dhcp"
> > > + cfg="uimage-tftp_fs-nfs"
> > > + else
> > > + bootargs="setenv bootargs $baseargs $videoargs $fssdargs ip=none"
> > > + cfg="uimage-tftp_fs-sd"
> > > + fi
> > > +else
> > > + if [ "$fs" -eq "1" ]; then
> > > + bootargs="setenv bootargs $baseargs $videoargs $fsnfsargs ip=dhcp"
> > > + bootcmd="setenv bootcmd 'mmc rescan 0;fatload mmc 0 0x82000000 uImage;bootm 0x82000000'"
> > > + cfg="uimage-sd_fs-nfs"
> > > + else
> > > + bootargs="setenv bootargs $baseargs $videoargs $fssdargs ip=none"
> > > + bootcmd="setenv bootcmd 'mmc rescan 0;fatload mmc 0 0x82000000 uImage;bootm 0x82000000'"
> > > + cfg="uimage-sd_fs-sd"
> > > + fi
> > > +fi
> > > +
> > > +echo
> > > +echo "Resulting u-boot variable settings:"
> > > +echo
> > > +echo "setenv bootdelay 3"
> > > +echo "setenv baudrate 115200"
> > > +echo $bootargs
> > > +echo $bootcmd
> > > +
> > > +if [ -n "$serverip" ]; then
> > > + echo "setenv autoload no"
> > > + echo $serverip
> > > +fi
> > > +
> > > +if [ -n "$bootfile" ]; then
> > > + echo $bootfile
> > > +fi
> > > +echo "--------------------------------------------------------------------------------"
> > > +
> > > +do_expect() {
> > > + echo "expect {" >> $3
> > > + check_status
> > > + echo " $1" >> $3
> > > + check_status
> > > + echo "}" >> $3
> > > + check_status
> > > + echo $2 >> $3
> > > + check_status
> > > + echo >> $3
> > > +}
> > > +
> > > +echo
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo "Would you like to create a minicom script with the above parameters (y/n)?"
> > > +read -p "[ y ] " minicom
> > > +echo
> > > +
> > > +if [ ! -n "$minicom" ]; then
> > > + minicom="y"
> > > +fi
> > > +
> > > +#Use = instead of == for POSIX compliance and dash compatibility
> > > +if [ "$minicom" = "y" ]; then
> > > + minicomfile=setup_$platform_$cfg.minicom
> > > + minicomfilepath=$cwd/../$minicomfile
> > > +
> > > + if [ -f $minicomfilepath ]; then
> > > + echo "Moving existing $minicomfile to $minicomfile.old"
> > > + mv $minicomfilepath $minicomfilepath.old
> > > + check_status
> > > + fi
> > > +
> > > + timeout=300
> > > + echo "timeout $timeout" >> $minicomfilepath
> > > + echo "verbose on" >> $minicomfilepath
> > > + echo >> $minicomfilepath
> > > + do_expect "\"stop autoboot:\"" "send \"\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"setenv bootdelay 3\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"setenv baudrate 115200\"" $minicomfilepath
> > > + do_expect "\"ENTER ...\"" "send \"\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"setenv oldbootargs \$\{bootargs\}\"" $minicomfilepath
> > > +
> > > +# For dash compatibility need to use printf instead of echo
> > > +# because dash shell will expand the \c by default
> > > +# do_expect "\"$prompt\"" "send \"setenv bootargs $baseargs \c\"" $minicomfilepath
> > > + echo "expect {" >> $minicomfilepath
> > > + check_status
> > > + echo " \"$prompt\"" >> $minicomfilepath
> > > + check_status
> > > + echo "}" >> $minicomfilepath
> > > + check_status
> > > + printf "send \"setenv bootargs $baseargs \c\"\n" >> $minicomfilepath
> > > + check_status
> > > +
> > > +# For dash compatibility need to use printf instead of echo
> > > + if [ "$fs" -eq "1" ]; then
> > > + printf "send \"$fsnfsargs1\c\"\n" >> $minicomfilepath
> > > + printf "send \"$fsnfsargs2\c\"\n" >> $minicomfilepath
> > > + printf "send \"$fsnfsargs3\c\"\n" >> $minicomfilepath
> > > + printf "send \"$fsnfsargs4 \c\"\n" >> $minicomfilepath
> > > + echo "send \"ip=dhcp\"" >> $minicomfilepath
> > > + else
> > > + printf "send \"$fssdargs \c\"\n" >> $minicomfilepath
> > > + echo "send \"ip=off\"" >> $minicomfilepath
> > > + fi
> > > + if [ "$kernel" -eq "1" ]; then
> > > + do_expect "\"$prompt\"" "send \"setenv autoload no\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"setenv oldserverip \$\{serverip\}\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"$serverip\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"setenv oldbootfile \$\{bootfile\}\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"$bootfile\"" $minicomfilepath
> > > + fi
> > > + do_expect "\"$prompt\"" "send \"setenv oldbootcmd \$\{bootcmd\}\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"$bootcmd\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"saveenv\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "! killall -s SIGHUP minicom" $minicomfilepath
> > > +
> > > + echo -n "Successfully wrote "
> > > + readlink -m $minicomfilepath
> > > + echo
> > > + echo "Would you like to run the setup script now (y/n)? This requires you to connect"
> > > + echo "the RS-232 cable between your host and EVM as well as your ethernet cable as"
> > > + echo "described in the Quick Start Guide. Once answering 'y' on the prompt below"
> > > + echo "you will have $timeout seconds to connect the board and power cycle it"
> > > + echo "before the setup times out"
> > > + echo
> > > + echo "After successfully executing this script, your EVM will be set up. You will be "
> > > + echo "able to connect to it by executing 'minicom -w' or if you prefer a windows host"
> > > + echo "you can set up Tera Term as explained in the Software Developer's Guide."
> > > + echo "If you connect minicom or Tera Term and power cycle the board Linux will boot."
> > > + echo
> > > + read -p "[ y ] " minicomsetup
> > > +
> > > + if [ ! -n "$minicomsetup" ]; then
> > > + minicomsetup="y"
> > > + fi
> > > +
> > > + savedir=""
> > > +#Use = instead of == for POSIX compliance and dash compatibility
> > > + if [ "$minicomsetup" = "y" ]; then
> > > +#For dash compatibility, do not use pushd and popd
> > > + savedir=$cwd
> > > + cd "$cwd/.."
> > > + check_status
> > > + minicom -S $minicomfile
> > > + cd $savedir
> > > + check_status
> > > + fi
> > > +
> > > + echo "You can manually run minicom in the future with this setup script using: minicom -S $minicomfile"
> > > +fi
> > > +echo "--------------------------------------------------------------------------------"
> > > diff --git a/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-uboot-env-am37x.sh b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-uboot-env-am37x.sh
> > > new file mode 100644
> > > index 0000000..444b3f4
> > > --- /dev/null
> > > +++ b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-uboot-env-am37x.sh
> > > @@ -0,0 +1,268 @@
> > > +#!/bin/sh
> > > +
> > > +# This distribution contains contributions or derivatives under copyright
> > > +# as follows:
> > > +#
> > > +# Copyright (c) 2010, Texas Instruments Incorporated
> > > +# All rights reserved.
> > > +#
> > > +# Redistribution and use in source and binary forms, with or without
> > > +# modification, are permitted provided that the following conditions
> > > +# are met:
> > > +# - Redistributions of source code must retain the above copyright notice,
> > > +# this list of conditions and the following disclaimer.
> > > +# - Redistributions in binary form must reproduce the above copyright
> > > +# notice, this list of conditions and the following disclaimer in the
> > > +# documentation and/or other materials provided with the distribution.
> > > +# - Neither the name of Texas Instruments nor the names of its
> > > +# contributors may be used to endorse or promote products derived
> > > +# from this software without specific prior written permission.
> > > +#
> > > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> > > +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> > > +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> > > +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
> > > +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
> > > +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
> > > +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
> > > +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> > > +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
> > > +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
> > > +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> > > +
> > > +cwd=`dirname $0`
> > > +. $cwd/common.sh
> > > +
> > > +echo
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo "This step will set up the u-boot variables for booting the EVM."
> > > +
> > > +ipdefault=`ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1 }'`
> > > +platform=`grep PLATFORM= $cwd/../Rules.make | cut -d= -f2`
> > > +prompt="EVM #"
> > > +
> > > +echo "Autodetected the following ip address of your host, correct it if necessary"
> > > +read -p "[ $ipdefault ] " ip
> > > +echo
> > > +
> > > +if [ ! -n "$ip" ]; then
> > > + ip=$ipdefault
> > > +fi
> > > +
> > > +if [ -f $cwd/../.targetfs ]; then
> > > + rootpath=`cat $cwd/../.targetfs`
> > > +else
> > > + echo "Where is your target filesystem extracted?"
> > > + read -p "[ ${HOME}/targetNFS ]" rootpath
> > > +
> > > + if [ ! -n "$rootpath" ]; then
> > > + rootpath="${HOME}/targetNFS"
> > > + fi
> > > + echo
> > > +fi
> > > +
> > > +uimage="uImage-""$platform"".bin"
> > > +uimagesrc=`ls -1 $cwd/../board-support/prebuilt-images/$uimage`
> > > +uimagedefault=`basename $uimagesrc`
> > > +
> > > +baseargs="console=ttyO0,115200n8 rw noinitrd"
> > > +videoargs="omap_vout.vid1_static_vrfb_alloc=y"
> > > +fssdargs="root=/dev/mmcblk0p2 rootfstype=ext3 rootwait"
> > > +fsnfsargs1="root=/dev/nfs nfsroot="
> > > +fsnfsargs2="$ip:"
> > > +fsnfsargs3="$rootpath"
> > > +fsnfsargs4=",nolock,rsize=1024,wsize=1024"
> > > +fsnfsargs=$fsnfsargs1$fsnfsargs2$fsnfsargs3$fsnfsargs4
> > > +
> > > +echo "Select Linux kernel location:"
> > > +echo " 1: TFTP"
> > > +echo " 2: SD card"
> > > +echo
> > > +read -p "[ 1 ] " kernel
> > > +
> > > +if [ ! -n "$kernel" ]; then
> > > + kernel="1"
> > > +fi
> > > +
> > > +echo
> > > +echo "Select root file system location:"
> > > +echo " 1: NFS"
> > > +echo " 2: SD card"
> > > +echo
> > > +read -p "[ 1 ] " fs
> > > +
> > > +if [ ! -n "$fs" ]; then
> > > + fs="1"
> > > +fi
> > > +
> > > +if [ "$kernel" -eq "1" ]; then
> > > + echo
> > > + echo "Available kernel images in /tftproot:"
> > > + for file in /tftpboot/*; do
> > > + basefile=`basename $file`
> > > + echo " $basefile"
> > > + done
> > > + echo
> > > + echo "Which kernel image do you want to boot from TFTP?"
> > > + read -p "[ $uimagedefault ] " uimage
> > > +
> > > + if [ ! -n "$uimage" ]; then
> > > + uimage=$uimagedefault
> > > + fi
> > > +
> > > + bootcmd="setenv bootcmd 'dhcp;setenv serverip $ip;tftpboot;bootm'"
> > > + serverip="setenv serverip $ip"
> > > + bootfile="setenv bootfile $uimage"
> > > +
> > > + if [ "$fs" -eq "1" ]; then
> > > + bootargs="setenv bootargs $baseargs $videoargs $fsnfsargs ip=dhcp"
> > > + cfg="uimage-tftp_fs-nfs"
> > > + else
> > > + bootargs="setenv bootargs $baseargs $videoargs $fssdargs ip=none"
> > > + cfg="uimage-tftp_fs-sd"
> > > + fi
> > > +else
> > > + if [ "$fs" -eq "1" ]; then
> > > + bootargs="setenv bootargs $baseargs $videoargs $fsnfsargs ip=dhcp"
> > > + bootcmd="setenv bootcmd 'mmc rescan 0;fatload mmc 0 0x82000000 uImage;bootm 0x82000000'"
> > > + cfg="uimage-sd_fs-nfs"
> > > + else
> > > + bootargs="setenv bootargs $baseargs $videoargs $fssdargs ip=none"
> > > + bootcmd="setenv bootcmd 'mmc rescan 0;fatload mmc 0 0x82000000 uImage;bootm 0x82000000'"
> > > + cfg="uimage-sd_fs-sd"
> > > + fi
> > > +fi
> > > +
> > > +echo
> > > +echo "Resulting u-boot variable settings:"
> > > +echo
> > > +echo "setenv bootdelay 3"
> > > +echo "setenv baudrate 115200"
> > > +echo $bootargs
> > > +echo $bootcmd
> > > +
> > > +if [ -n "$serverip" ]; then
> > > + echo "setenv autoload no"
> > > + echo $serverip
> > > +fi
> > > +
> > > +if [ -n "$bootfile" ]; then
> > > + echo $bootfile
> > > +fi
> > > +echo "--------------------------------------------------------------------------------"
> > > +
> > > +do_expect() {
> > > + echo "expect {" >> $3
> > > + check_status
> > > + echo " $1" >> $3
> > > + check_status
> > > + echo "}" >> $3
> > > + check_status
> > > + echo $2 >> $3
> > > + check_status
> > > + echo >> $3
> > > +}
> > > +
> > > +echo
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo "Would you like to create a minicom script with the above parameters (y/n)?"
> > > +read -p "[ y ] " minicom
> > > +echo
> > > +
> > > +if [ ! -n "$minicom" ]; then
> > > + minicom="y"
> > > +fi
> > > +
> > > +#Use = instead of == for POSIX compliance and dash compatibility
> > > +if [ "$minicom" = "y" ]; then
> > > + minicomfile=setup_$platform_$cfg.minicom
> > > + minicomfilepath=$cwd/../$minicomfile
> > > +
> > > + if [ -f $minicomfilepath ]; then
> > > + echo "Moving existing $minicomfile to $minicomfile.old"
> > > + mv $minicomfilepath $minicomfilepath.old
> > > + check_status
> > > + fi
> > > +
> > > + timeout=300
> > > + echo "timeout $timeout" >> $minicomfilepath
> > > + echo "verbose on" >> $minicomfilepath
> > > + echo >> $minicomfilepath
> > > + do_expect "\"stop autoboot:\"" "send \"\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"setenv bootdelay 3\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"setenv baudrate 115200\"" $minicomfilepath
> > > + do_expect "\"ENTER ...\"" "send \"\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"setenv oldbootargs \$\{bootargs\}\"" $minicomfilepath
> > > +
> > > +# For dash compatibility need to use printf instead of echo
> > > +# because dash shell will expand the \c by default
> > > +# do_expect "\"$prompt\"" "send \"setenv bootargs $baseargs \c\"" $minicomfilepath
> > > + echo "expect {" >> $minicomfilepath
> > > + check_status
> > > + echo " \"$prompt\"" >> $minicomfilepath
> > > + check_status
> > > + echo "}" >> $minicomfilepath
> > > + check_status
> > > + printf "send \"setenv bootargs $baseargs \c\"\n" >> $minicomfilepath
> > > + check_status
> > > +
> > > +# For dash compatibility need to use printf instead of echo
> > > + if [ "$fs" -eq "1" ]; then
> > > + printf "send \"$fsnfsargs1\c\"\n" >> $minicomfilepath
> > > + printf "send \"$fsnfsargs2\c\"\n" >> $minicomfilepath
> > > + printf "send \"$fsnfsargs3\c\"\n" >> $minicomfilepath
> > > + printf "send \"$fsnfsargs4 \c\"\n" >> $minicomfilepath
> > > + printf "send \"$videoargs \c\"\n" >> $minicomfilepath
> > > + echo "send \"ip=dhcp\"" >> $minicomfilepath
> > > + else
> > > + printf "send \"$fssdargs \c\"\n" >> $minicomfilepath
> > > + printf "send \"$videoargs \c\"\n" >> $minicomfilepath
> > > + echo "send \"ip=off\"" >> $minicomfilepath
> > > + fi
> > > + if [ "$kernel" -eq "1" ]; then
> > > + do_expect "\"$prompt\"" "send \"setenv autoload no\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"setenv oldserverip \$\{serverip\}\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"$serverip\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"setenv oldbootfile \$\{bootfile\}\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"$bootfile\"" $minicomfilepath
> > > + fi
> > > + do_expect "\"$prompt\"" "send \"setenv oldbootcmd \$\{bootcmd\}\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"$bootcmd\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"saveenv\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "! killall -s SIGHUP minicom" $minicomfilepath
> > > +
> > > + echo -n "Successfully wrote "
> > > + readlink -m $minicomfilepath
> > > + echo
> > > + echo "Would you like to run the setup script now (y/n)? This requires you to connect"
> > > + echo "the RS-232 cable between your host and EVM as well as your ethernet cable as"
> > > + echo "described in the Quick Start Guide. Once answering 'y' on the prompt below"
> > > + echo "you will have $timeout seconds to connect the board and power cycle it"
> > > + echo "before the setup times out"
> > > + echo
> > > + echo "After successfully executing this script, your EVM will be set up. You will be "
> > > + echo "able to connect to it by executing 'minicom -w' or if you prefer a windows host"
> > > + echo "you can set up Tera Term as explained in the Software Developer's Guide."
> > > + echo "If you connect minicom or Tera Term and power cycle the board Linux will boot."
> > > + echo
> > > + read -p "[ y ] " minicomsetup
> > > +
> > > + if [ ! -n "$minicomsetup" ]; then
> > > + minicomsetup="y"
> > > + fi
> > > +
> > > + savedir=""
> > > +#Use = instead of == for POSIX compliance and dash compatibility
> > > + if [ "$minicomsetup" = "y" ]; then
> > > +#For dash compatibility, do not use pushd and popd
> > > + savedir=$cwd
> > > + cd "$cwd/.."
> > > + check_status
> > > + minicom -S $minicomfile
> > > + cd $savedir
> > > + check_status
> > > + fi
> > > +
> > > + echo "You can manually run minicom in the future with this setup script using: minicom -S $minicomfile"
> > > +fi
> > > +echo "--------------------------------------------------------------------------------"
> > > diff --git a/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-uboot-env-beagleboard.sh b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-uboot-env-beagleboard.sh
> > > new file mode 100644
> > > index 0000000..8bed2e1
> > > --- /dev/null
> > > +++ b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup-uboot-env-beagleboard.sh
> > > @@ -0,0 +1,268 @@
> > > +#!/bin/sh
> > > +
> > > +# This distribution contains contributions or derivatives under copyright
> > > +# as follows:
> > > +#
> > > +# Copyright (c) 2010, Texas Instruments Incorporated
> > > +# All rights reserved.
> > > +#
> > > +# Redistribution and use in source and binary forms, with or without
> > > +# modification, are permitted provided that the following conditions
> > > +# are met:
> > > +# - Redistributions of source code must retain the above copyright notice,
> > > +# this list of conditions and the following disclaimer.
> > > +# - Redistributions in binary form must reproduce the above copyright
> > > +# notice, this list of conditions and the following disclaimer in the
> > > +# documentation and/or other materials provided with the distribution.
> > > +# - Neither the name of Texas Instruments nor the names of its
> > > +# contributors may be used to endorse or promote products derived
> > > +# from this software without specific prior written permission.
> > > +#
> > > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> > > +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> > > +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> > > +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
> > > +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
> > > +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
> > > +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
> > > +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> > > +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
> > > +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
> > > +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> > > +
> > > +cwd=`dirname $0`
> > > +. $cwd/common.sh
> > > +
> > > +echo
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo "This step will set up the u-boot variables for booting the EVM."
> > > +
> > > +ipdefault=`ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1 }'`
> > > +platform=`grep PLATFORM= $cwd/../Rules.make | cut -d= -f2`
> > > +prompt="OMAP3 beagleboard.org #"
> > > +
> > > +echo "Autodetected the following ip address of your host, correct it if necessary"
> > > +read -p "[ $ipdefault ] " ip
> > > +echo
> > > +
> > > +if [ ! -n "$ip" ]; then
> > > + ip=$ipdefault
> > > +fi
> > > +
> > > +if [ -f $cwd/../.targetfs ]; then
> > > + rootpath=`cat $cwd/../.targetfs`
> > > +else
> > > + echo "Where is your target filesystem extracted?"
> > > + read -p "[ ${HOME}/targetNFS ]" rootpath
> > > +
> > > + if [ ! -n "$rootpath" ]; then
> > > + rootpath="${HOME}/targetNFS"
> > > + fi
> > > + echo
> > > +fi
> > > +
> > > +uimage="uImage-""$platform"".bin"
> > > +uimagesrc=`ls -1 $cwd/../board-support/prebuilt-images/$uimage`
> > > +uimagedefault=`basename $uimagesrc`
> > > +
> > > +baseargs="console=ttyO2,115200n8 rw noinitrd"
> > > +videoargs="vram=12M omapfb.mode=dvi:640x480MR-16@60 omapdss.def_disp=dvi"
> > > +fssdargs="root=/dev/mmcblk0p2 rootfstype=ext3 rootwait"
> > > +fsnfsargs1="root=/dev/nfs nfsroot="
> > > +fsnfsargs2="$ip:"
> > > +fsnfsargs3="$rootpath"
> > > +fsnfsargs4=",nolock,rsize=1024,wsize=1024"
> > > +fsnfsargs=$fsnfsargs1$fsnfsargs2$fsnfsargs3$fsnfsargs4
> > > +
> > > +echo "Select Linux kernel location:"
> > > +echo " 1: TFTP"
> > > +echo " 2: SD card"
> > > +echo
> > > +read -p "[ 1 ] " kernel
> > > +
> > > +if [ ! -n "$kernel" ]; then
> > > + kernel="1"
> > > +fi
> > > +
> > > +echo
> > > +echo "Select root file system location:"
> > > +echo " 1: NFS"
> > > +echo " 2: SD card"
> > > +echo
> > > +read -p "[ 1 ] " fs
> > > +
> > > +if [ ! -n "$fs" ]; then
> > > + fs="1"
> > > +fi
> > > +
> > > +if [ "$kernel" -eq "1" ]; then
> > > + echo
> > > + echo "Available kernel images in /tftproot:"
> > > + for file in /tftpboot/*; do
> > > + basefile=`basename $file`
> > > + echo " $basefile"
> > > + done
> > > + echo
> > > + echo "Which kernel image do you want to boot from TFTP?"
> > > + read -p "[ $uimagedefault ] " uimage
> > > +
> > > + if [ ! -n "$uimage" ]; then
> > > + uimage=$uimagedefault
> > > + fi
> > > +
> > > + bootcmd="setenv bootcmd 'dcache off;usb start;dhcp;setenv serverip $ip;tftpboot;bootm'"
> > > + serverip="setenv serverip $ip"
> > > + bootfile="setenv bootfile $uimage"
> > > +
> > > + if [ "$fs" -eq "1" ]; then
> > > + bootargs="setenv bootargs $baseargs $videoargs $fsnfsargs ip=dhcp"
> > > + cfg="uimage-tftp_fs-nfs"
> > > + else
> > > + bootargs="setenv bootargs $baseargs $videoargs $fssdargs ip=none"
> > > + cfg="uimage-tftp_fs-sd"
> > > + fi
> > > +else
> > > + if [ "$fs" -eq "1" ]; then
> > > + bootargs="setenv bootargs $baseargs $videoargs $fsnfsargs ip=dhcp"
> > > + bootcmd="setenv bootcmd 'mmc rescan 0;fatload mmc 0 0x82000000 uImage;bootm 0x82000000'"
> > > + cfg="uimage-sd_fs-nfs"
> > > + else
> > > + bootargs="setenv bootargs $baseargs $videoargs $fssdargs ip=none"
> > > + bootcmd="setenv bootcmd 'mmc rescan 0;fatload mmc 0 0x82000000 uImage;bootm 0x82000000'"
> > > + cfg="uimage-sd_fs-sd"
> > > + fi
> > > +fi
> > > +
> > > +echo
> > > +echo "Resulting u-boot variable settings:"
> > > +echo
> > > +echo "setenv bootdelay 3"
> > > +echo "setenv baudrate 115200"
> > > +echo $bootargs
> > > +echo $bootcmd
> > > +
> > > +if [ -n "$serverip" ]; then
> > > + echo "setenv autoload no"
> > > + echo $serverip
> > > +fi
> > > +
> > > +if [ -n "$bootfile" ]; then
> > > + echo $bootfile
> > > +fi
> > > +echo "--------------------------------------------------------------------------------"
> > > +
> > > +do_expect() {
> > > + echo "expect {" >> $3
> > > + check_status
> > > + echo " $1" >> $3
> > > + check_status
> > > + echo "}" >> $3
> > > + check_status
> > > + echo $2 >> $3
> > > + check_status
> > > + echo >> $3
> > > +}
> > > +
> > > +echo
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo "Would you like to create a minicom script with the above parameters (y/n)?"
> > > +read -p "[ y ] " minicom
> > > +echo
> > > +
> > > +if [ ! -n "$minicom" ]; then
> > > + minicom="y"
> > > +fi
> > > +
> > > +#Use = instead of == for POSIX compliance and dash compatibility
> > > +if [ "$minicom" = "y" ]; then
> > > + minicomfile=setup_$platform_$cfg.minicom
> > > + minicomfilepath=$cwd/../$minicomfile
> > > +
> > > + if [ -f $minicomfilepath ]; then
> > > + echo "Moving existing $minicomfile to $minicomfile.old"
> > > + mv $minicomfilepath $minicomfilepath.old
> > > + check_status
> > > + fi
> > > +
> > > + timeout=300
> > > + echo "timeout $timeout" >> $minicomfilepath
> > > + echo "verbose on" >> $minicomfilepath
> > > + echo >> $minicomfilepath
> > > + do_expect "\"stop autoboot:\"" "send \"\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"setenv bootdelay 3\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"setenv baudrate 115200\"" $minicomfilepath
> > > + do_expect "\"ENTER ...\"" "send \"\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"setenv oldbootargs \$\{bootargs\}\"" $minicomfilepath
> > > +
> > > +# For dash compatibility need to use printf instead of echo
> > > +# because dash shell will expand the \c by default
> > > +# do_expect "\"$prompt\"" "send \"setenv bootargs $baseargs \c\"" $minicomfilepath
> > > + echo "expect {" >> $minicomfilepath
> > > + check_status
> > > + echo " \"$prompt\"" >> $minicomfilepath
> > > + check_status
> > > + echo "}" >> $minicomfilepath
> > > + check_status
> > > + printf "send \"setenv bootargs $baseargs \c\"\n" >> $minicomfilepath
> > > + check_status
> > > +
> > > +# For dash compatibility need to use printf instead of echo
> > > + if [ "$fs" -eq "1" ]; then
> > > + printf "send \"$fsnfsargs1\c\"\n" >> $minicomfilepath
> > > + printf "send \"$fsnfsargs2\c\"\n" >> $minicomfilepath
> > > + printf "send \"$fsnfsargs3\c\"\n" >> $minicomfilepath
> > > + printf "send \"$fsnfsargs4 \c\"\n" >> $minicomfilepath
> > > + printf "send \"$videoargs \c\"\n" >> $minicomfilepath
> > > + echo "send \"ip=dhcp\"" >> $minicomfilepath
> > > + else
> > > + printf "send \"$fssdargs \c\"\n" >> $minicomfilepath
> > > + printf "send \"$videoargs \c\"\n" >> $minicomfilepath
> > > + echo "send \"ip=off\"" >> $minicomfilepath
> > > + fi
> > > + if [ "$kernel" -eq "1" ]; then
> > > + do_expect "\"$prompt\"" "send \"setenv autoload no\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"setenv oldserverip \$\{serverip\}\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"$serverip\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"setenv oldbootfile \$\{bootfile\}\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"$bootfile\"" $minicomfilepath
> > > + fi
> > > + do_expect "\"$prompt\"" "send \"setenv oldbootcmd \$\{bootcmd\}\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"$bootcmd\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "send \"saveenv\"" $minicomfilepath
> > > + do_expect "\"$prompt\"" "! killall -s SIGHUP minicom" $minicomfilepath
> > > +
> > > + echo -n "Successfully wrote "
> > > + readlink -m $minicomfilepath
> > > + echo
> > > + echo "Would you like to run the setup script now (y/n)? This requires you to connect"
> > > + echo "the RS-232 cable between your host and EVM as well as your ethernet cable as"
> > > + echo "described in the Quick Start Guide. Once answering 'y' on the prompt below"
> > > + echo "you will have $timeout seconds to connect the board and power cycle it"
> > > + echo "before the setup times out"
> > > + echo
> > > + echo "After successfully executing this script, your EVM will be set up. You will be "
> > > + echo "able to connect to it by executing 'minicom -w' or if you prefer a windows host"
> > > + echo "you can set up Tera Term as explained in the Software Developer's Guide."
> > > + echo "If you connect minicom or Tera Term and power cycle the board Linux will boot."
> > > + echo
> > > + read -p "[ y ] " minicomsetup
> > > +
> > > + if [ ! -n "$minicomsetup" ]; then
> > > + minicomsetup="y"
> > > + fi
> > > +
> > > + savedir=""
> > > +#Use = instead of == for POSIX compliance and dash compatibility
> > > + if [ "$minicomsetup" = "y" ]; then
> > > +#For dash compatibility, do not use pushd and popd
> > > + savedir=$cwd
> > > + cd "$cwd/.."
> > > + check_status
> > > + minicom -S $minicomfile
> > > + cd $savedir
> > > + check_status
> > > + fi
> > > +
> > > + echo "You can manually run minicom in the future with this setup script using: minicom -S $minicomfile"
> > > +fi
> > > +echo "--------------------------------------------------------------------------------"
> > > diff --git a/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup.sh b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup.sh
> > > new file mode 100644
> > > index 0000000..dec292f
> > > --- /dev/null
> > > +++ b/meta-arago-distro/recipes-tisdk/ti-tisdk-setup/ti-tisdk-setup/setup.sh
> > > @@ -0,0 +1,65 @@
> > > +#!/bin/sh
> > > +
> > > +# This distribution contains contributions or derivatives under copyright
> > > +# as follows:
> > > +#
> > > +# Copyright (c) 2010, Texas Instruments Incorporated
> > > +# All rights reserved.
> > > +#
> > > +# Redistribution and use in source and binary forms, with or without
> > > +# modification, are permitted provided that the following conditions
> > > +# are met:
> > > +# - Redistributions of source code must retain the above copyright notice,
> > > +# this list of conditions and the following disclaimer.
> > > +# - Redistributions in binary form must reproduce the above copyright
> > > +# notice, this list of conditions and the following disclaimer in the
> > > +# documentation and/or other materials provided with the distribution.
> > > +# - Neither the name of Texas Instruments nor the names of its
> > > +# contributors may be used to endorse or promote products derived
> > > +# from this software without specific prior written permission.
> > > +#
> > > +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> > > +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> > > +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> > > +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
> > > +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
> > > +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
> > > +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
> > > +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> > > +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
> > > +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
> > > +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> > > +
> > > +echo
> > > +echo "--------------------------------------------------------------------------------"
> > > +echo "TISDK setup script"
> > > +echo
> > > +echo "This script will set up your development host for SDK development."
> > > +echo "Parts of this script require administrator priviliges (sudo access)."
> > > +echo "--------------------------------------------------------------------------------"
> > > +
> > > +cwd=`dirname $0`
> > > +. $cwd/bin/common.sh
> > > +
> > > +$cwd/bin/setup-host-check.sh
> > > +check_status
> > > +
> > > +$cwd/bin/setup-package-install.sh
> > > +check_status
> > > +
> > > +$cwd/bin/setup-targetfs-nfs.sh
> > > +check_status
> > > +
> > > +$cwd/bin/setup-tftp.sh
> > > +check_status
> > > +
> > > +$cwd/bin/setup-minicom.sh
> > > +check_status
> > > +
> > > +$cwd/bin/setup-uboot-env.sh
> > > +check_status
> > > +
> > > +echo
> > > +echo "TISDK setup completed!"
> > > +echo "Please continue reading the Software Developer's Guide for more information on"
> > > +echo "how to develop software on the EVM"
> > > --
> > > 1.7.0.4
> > >
> > > _______________________________________________
> > > meta-arago mailing list
> > > meta-arago@arago-project.org
> > > http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
> > >
> > _______________________________________________
> > meta-arago mailing list
> > meta-arago@arago-project.org
> > http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
> _______________________________________________
> meta-arago mailing list
> meta-arago@arago-project.org
> http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
>
next prev parent reply other threads:[~2012-10-10 18:55 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-22 0:51 [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago Franklin S. Cooper Jr
2012-09-24 21:57 ` Denys Dmytriyenko
2012-10-10 18:21 ` Cooper Jr., Franklin
2012-10-10 18:52 ` Denys Dmytriyenko
2012-10-10 18:55 ` Denys Dmytriyenko [this message]
2012-10-10 19:08 ` Cooper Jr., Franklin
2012-10-10 19:43 ` Maupin, Chase
2012-10-10 19:57 ` Denys Dmytriyenko
2012-10-10 20:01 ` Maupin, Chase
2012-10-11 2:51 ` Denys Dmytriyenko
2012-10-11 2:53 ` Cooper Jr., Franklin
2012-10-11 2:55 ` Denys Dmytriyenko
2012-10-11 3:00 ` Cooper Jr., Franklin
2012-10-11 3:12 ` Denys Dmytriyenko
2012-10-11 3:18 ` Cooper Jr., Franklin
2012-10-12 4:20 ` Cooper Jr., Franklin
2012-10-24 19:45 ` Denys Dmytriyenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20121010185513.GD16944@denix.org \
--to=denys@ti.com \
--cc=fcooper@ti.com \
--cc=meta-arago@arago-project.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.