All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago
@ 2012-09-22  0:51 Franklin S. Cooper Jr
  2012-09-24 21:57 ` Denys Dmytriyenko
  0 siblings, 1 reply; 17+ messages in thread
From: Franklin S. Cooper Jr @ 2012-09-22  0:51 UTC (permalink / raw)
  To: meta-arago

* 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.

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



^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago
  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
  0 siblings, 1 reply; 17+ messages in thread
From: Denys Dmytriyenko @ 2012-09-24 21:57 UTC (permalink / raw)
  To: Franklin S. Cooper Jr; +Cc: meta-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
> 


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago
  2012-09-24 21:57 ` Denys Dmytriyenko
@ 2012-10-10 18:21   ` Cooper Jr., Franklin
  2012-10-10 18:52     ` Denys Dmytriyenko
  0 siblings, 1 reply; 17+ messages in thread
From: Cooper Jr., Franklin @ 2012-10-10 18:21 UTC (permalink / raw)
  To: Dmytriyenko, Denys, Franklin S. Cooper Jr; +Cc: meta-arago@arago-project.org

What's concerning you about this patch?

-----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


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago
  2012-10-10 18:21   ` Cooper Jr., Franklin
@ 2012-10-10 18:52     ` Denys Dmytriyenko
  2012-10-10 18:55       ` Denys Dmytriyenko
  0 siblings, 1 reply; 17+ messages in thread
From: Denys Dmytriyenko @ 2012-10-10 18:52 UTC (permalink / raw)
  To: Cooper Jr., Franklin; +Cc: meta-arago@arago-project.org

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.


> -----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


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago
  2012-10-10 18:52     ` Denys Dmytriyenko
@ 2012-10-10 18:55       ` Denys Dmytriyenko
  2012-10-10 19:08         ` Cooper Jr., Franklin
  0 siblings, 1 reply; 17+ messages in thread
From: Denys Dmytriyenko @ 2012-10-10 18:55 UTC (permalink / raw)
  To: Denys Dmytriyenko; +Cc: meta-arago@arago-project.org, Cooper Jr., Franklin

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
> 


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago
  2012-10-10 18:55       ` Denys Dmytriyenko
@ 2012-10-10 19:08         ` Cooper Jr., Franklin
  2012-10-10 19:43           ` Maupin, Chase
  0 siblings, 1 reply; 17+ messages in thread
From: Cooper Jr., Franklin @ 2012-10-10 19:08 UTC (permalink / raw)
  To: Dmytriyenko, Denys, Maupin, Chase; +Cc: meta-arago@arago-project.org

I'll look at this tomorrow then. 

Chase,
Did you have any thoughts over the years about improvement to this recipe/ scripts over the years that u wanted to make but couldn't due to legacy reasons?

On Oct 10, 2012, at 1:55 PM, "Dmytriyenko, Denys" <denys@ti.com> wrote:

> 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
>> 


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago
  2012-10-10 19:08         ` Cooper Jr., Franklin
@ 2012-10-10 19:43           ` Maupin, Chase
  2012-10-10 19:57             ` Denys Dmytriyenko
  0 siblings, 1 reply; 17+ messages in thread
From: Maupin, Chase @ 2012-10-10 19:43 UTC (permalink / raw)
  To: Cooper Jr., Franklin, Dmytriyenko, Denys; +Cc: meta-arago@arago-project.org

There are lots of tweaks to the actual scripts that would be nice, but aside from that no.  They all need to go into an SDK.  They make up a large part of the OOBE and they tend to go together.  The only one that could be separated (in that it is not a dependecy for another one) would be create-sdcard.sh but we consider that script as critical as all the others and a mandatory install as part of the setup for an SDK.

> -----Original Message-----
> From: Cooper Jr., Franklin
> Sent: Wednesday, October 10, 2012 2:09 PM
> To: Dmytriyenko, Denys; Maupin, Chase
> Cc: meta-arago@arago-project.org
> Subject: Re: [meta-arago] [meta-arago-extras][PATCH] ti-tisdk-
> setup: Port ti-tisdk-setup from arago
> 
> I'll look at this tomorrow then.
> 
> Chase,
> Did you have any thoughts over the years about improvement to
> this recipe/ scripts over the years that u wanted to make but
> couldn't due to legacy reasons?
> 
> On Oct 10, 2012, at 1:55 PM, "Dmytriyenko, Denys" <denys@ti.com>
> wrote:
> 
> > 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=fc4b04a33df6d892c9f4d
> 4a9d92b945e"
> >>>> +
> >>>> +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
> >>


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago
  2012-10-10 19:43           ` Maupin, Chase
@ 2012-10-10 19:57             ` Denys Dmytriyenko
  2012-10-10 20:01               ` Maupin, Chase
  0 siblings, 1 reply; 17+ messages in thread
From: Denys Dmytriyenko @ 2012-10-10 19:57 UTC (permalink / raw)
  To: Maupin, Chase; +Cc: meta-arago@arago-project.org, Cooper Jr., Franklin

On Wed, Oct 10, 2012 at 07:43:08PM +0000, Maupin, Chase wrote:
> There are lots of tweaks to the actual scripts that would be nice, but aside 
> from that no.  They all need to go into an SDK.  They make up a large part 
> of the OOBE and they tend to go together.  The only one that could be 
> separated (in that it is not a dependecy for another one) would be 
> create-sdcard.sh but we consider that script as critical as all the others 
> and a mandatory install as part of the setup for an SDK.

First of all, let's cut the patch from the email - I'm tired going to the 
administrative interface to approve the oversize message to the list... :)

Second, why can't we have a separate git repository for all those shell 
scripts that are used for OOBE - you'll get version control and move the bulk 
outside of the metadata. Is it feasible?

-- 
Denys


> > -----Original Message-----
> > From: Cooper Jr., Franklin
> > Sent: Wednesday, October 10, 2012 2:09 PM
> > To: Dmytriyenko, Denys; Maupin, Chase
> > Cc: meta-arago@arago-project.org
> > Subject: Re: [meta-arago] [meta-arago-extras][PATCH] ti-tisdk-
> > setup: Port ti-tisdk-setup from arago
> > 
> > I'll look at this tomorrow then.
> > 
> > Chase,
> > Did you have any thoughts over the years about improvement to
> > this recipe/ scripts over the years that u wanted to make but
> > couldn't due to legacy reasons?
> > 
> > On Oct 10, 2012, at 1:55 PM, "Dmytriyenko, Denys" <denys@ti.com>
> > wrote:
> > 
> > > 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...
> > :)


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago
  2012-10-10 19:57             ` Denys Dmytriyenko
@ 2012-10-10 20:01               ` Maupin, Chase
  2012-10-11  2:51                 ` Denys Dmytriyenko
  0 siblings, 1 reply; 17+ messages in thread
From: Maupin, Chase @ 2012-10-10 20:01 UTC (permalink / raw)
  To: Dmytriyenko, Denys; +Cc: meta-arago@arago-project.org, Cooper Jr., Franklin

> -----Original Message-----
> From: Dmytriyenko, Denys
> Sent: Wednesday, October 10, 2012 2:58 PM
> To: Maupin, Chase
> Cc: Cooper Jr., Franklin; Dmytriyenko, Denys; meta-arago@arago-
> project.org
> Subject: Re: [meta-arago] [meta-arago-extras][PATCH] ti-tisdk-
> setup: Port ti-tisdk-setup from arago
> 
> On Wed, Oct 10, 2012 at 07:43:08PM +0000, Maupin, Chase wrote:
> > There are lots of tweaks to the actual scripts that would be
> nice, but aside
> > from that no.  They all need to go into an SDK.  They make up a
> large part
> > of the OOBE and they tend to go together.  The only one that
> could be
> > separated (in that it is not a dependecy for another one) would
> be
> > create-sdcard.sh but we consider that script as critical as all
> the others
> > and a mandatory install as part of the setup for an SDK.
> 
> First of all, let's cut the patch from the email - I'm tired
> going to the
> administrative interface to approve the oversize message to the
> list... :)
> 
> Second, why can't we have a separate git repository for all those
> shell
> scripts that are used for OOBE - you'll get version control and
> move the bulk
> outside of the metadata. Is it feasible?

I'm OK with a separate git repo.  Can you create a tisdk-setup-scripts repo on arago for us?

> 
> --
> Denys
> 
> 
> > > -----Original Message-----
> > > From: Cooper Jr., Franklin
> > > Sent: Wednesday, October 10, 2012 2:09 PM
> > > To: Dmytriyenko, Denys; Maupin, Chase
> > > Cc: meta-arago@arago-project.org
> > > Subject: Re: [meta-arago] [meta-arago-extras][PATCH] ti-
> tisdk-
> > > setup: Port ti-tisdk-setup from arago
> > >
> > > I'll look at this tomorrow then.
> > >
> > > Chase,
> > > Did you have any thoughts over the years about improvement to
> > > this recipe/ scripts over the years that u wanted to make but
> > > couldn't due to legacy reasons?
> > >
> > > On Oct 10, 2012, at 1:55 PM, "Dmytriyenko, Denys"
> <denys@ti.com>
> > > wrote:
> > >
> > > > 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...
> > > :)


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago
  2012-10-10 20:01               ` Maupin, Chase
@ 2012-10-11  2:51                 ` Denys Dmytriyenko
  2012-10-11  2:53                   ` Cooper Jr., Franklin
  0 siblings, 1 reply; 17+ messages in thread
From: Denys Dmytriyenko @ 2012-10-11  2:51 UTC (permalink / raw)
  To: Maupin, Chase; +Cc: meta-arago@arago-project.org, Cooper Jr., Franklin

On Wed, Oct 10, 2012 at 04:01:17PM -0400, Maupin, Chase wrote:
> > -----Original Message-----
> > From: Dmytriyenko, Denys
> > Sent: Wednesday, October 10, 2012 2:58 PM
> > To: Maupin, Chase
> > Cc: Cooper Jr., Franklin; Dmytriyenko, Denys; meta-arago@arago-
> > project.org
> > Subject: Re: [meta-arago] [meta-arago-extras][PATCH] ti-tisdk-
> > setup: Port ti-tisdk-setup from arago
> > 
> > On Wed, Oct 10, 2012 at 07:43:08PM +0000, Maupin, Chase wrote:
> > > There are lots of tweaks to the actual scripts that would be
> > nice, but aside
> > > from that no.  They all need to go into an SDK.  They make up a
> > large part
> > > of the OOBE and they tend to go together.  The only one that
> > could be
> > > separated (in that it is not a dependecy for another one) would
> > be
> > > create-sdcard.sh but we consider that script as critical as all
> > the others
> > > and a mandatory install as part of the setup for an SDK.
> > 
> > First of all, let's cut the patch from the email - I'm tired
> > going to the
> > administrative interface to approve the oversize message to the
> > list... :)
> > 
> > Second, why can't we have a separate git repository for all those
> > shell
> > scripts that are used for OOBE - you'll get version control and
> > move the bulk
> > outside of the metadata. Is it feasible?
> 
> I'm OK with a separate git repo.  Can you create a tisdk-setup-scripts repo 
> on arago for us?

You know I can, and I did :) Who do you want in contributors, besides 
yourself?

-- 
Denys


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago
  2012-10-11  2:51                 ` Denys Dmytriyenko
@ 2012-10-11  2:53                   ` Cooper Jr., Franklin
  2012-10-11  2:55                     ` Denys Dmytriyenko
  0 siblings, 1 reply; 17+ messages in thread
From: Cooper Jr., Franklin @ 2012-10-11  2:53 UTC (permalink / raw)
  To: Dmytriyenko, Denys; +Cc: meta-arago@arago-project.org

Me 
On Oct 10, 2012, at 9:51 PM, "Dmytriyenko, Denys" <denys@ti.com> wrote:

> On Wed, Oct 10, 2012 at 04:01:17PM -0400, Maupin, Chase wrote:
>>> -----Original Message-----
>>> From: Dmytriyenko, Denys
>>> Sent: Wednesday, October 10, 2012 2:58 PM
>>> To: Maupin, Chase
>>> Cc: Cooper Jr., Franklin; Dmytriyenko, Denys; meta-arago@arago-
>>> project.org
>>> Subject: Re: [meta-arago] [meta-arago-extras][PATCH] ti-tisdk-
>>> setup: Port ti-tisdk-setup from arago
>>> 
>>> On Wed, Oct 10, 2012 at 07:43:08PM +0000, Maupin, Chase wrote:
>>>> There are lots of tweaks to the actual scripts that would be
>>> nice, but aside
>>>> from that no.  They all need to go into an SDK.  They make up a
>>> large part
>>>> of the OOBE and they tend to go together.  The only one that
>>> could be
>>>> separated (in that it is not a dependecy for another one) would
>>> be
>>>> create-sdcard.sh but we consider that script as critical as all
>>> the others
>>>> and a mandatory install as part of the setup for an SDK.
>>> 
>>> First of all, let's cut the patch from the email - I'm tired
>>> going to the
>>> administrative interface to approve the oversize message to the
>>> list... :)
>>> 
>>> Second, why can't we have a separate git repository for all those
>>> shell
>>> scripts that are used for OOBE - you'll get version control and
>>> move the bulk
>>> outside of the metadata. Is it feasible?
>> 
>> I'm OK with a separate git repo.  Can you create a tisdk-setup-scripts repo 
>> on arago for us?
> 
> You know I can, and I did :) Who do you want in contributors, besides 
> yourself?
> 
> -- 
> Denys


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago
  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-12  4:20                       ` Cooper Jr., Franklin
  0 siblings, 2 replies; 17+ messages in thread
From: Denys Dmytriyenko @ 2012-10-11  2:55 UTC (permalink / raw)
  To: Cooper Jr., Franklin; +Cc: meta-arago@arago-project.org

On Wed, Oct 10, 2012 at 10:53:27PM -0400, Cooper Jr., Franklin wrote:
> Me 

Ok, you too.

> On Oct 10, 2012, at 9:51 PM, "Dmytriyenko, Denys" <denys@ti.com> wrote:
> 
> > On Wed, Oct 10, 2012 at 04:01:17PM -0400, Maupin, Chase wrote:
> >>> -----Original Message-----
> >>> From: Dmytriyenko, Denys
> >>> Sent: Wednesday, October 10, 2012 2:58 PM
> >>> To: Maupin, Chase
> >>> Cc: Cooper Jr., Franklin; Dmytriyenko, Denys; meta-arago@arago-
> >>> project.org
> >>> Subject: Re: [meta-arago] [meta-arago-extras][PATCH] ti-tisdk-
> >>> setup: Port ti-tisdk-setup from arago
> >>> 
> >>> On Wed, Oct 10, 2012 at 07:43:08PM +0000, Maupin, Chase wrote:
> >>>> There are lots of tweaks to the actual scripts that would be
> >>> nice, but aside
> >>>> from that no.  They all need to go into an SDK.  They make up a
> >>> large part
> >>>> of the OOBE and they tend to go together.  The only one that
> >>> could be
> >>>> separated (in that it is not a dependecy for another one) would
> >>> be
> >>>> create-sdcard.sh but we consider that script as critical as all
> >>> the others
> >>>> and a mandatory install as part of the setup for an SDK.
> >>> 
> >>> First of all, let's cut the patch from the email - I'm tired
> >>> going to the
> >>> administrative interface to approve the oversize message to the
> >>> list... :)
> >>> 
> >>> Second, why can't we have a separate git repository for all those
> >>> shell
> >>> scripts that are used for OOBE - you'll get version control and
> >>> move the bulk
> >>> outside of the metadata. Is it feasible?
> >> 
> >> I'm OK with a separate git repo.  Can you create a tisdk-setup-scripts repo 
> >> on arago for us?
> > 
> > You know I can, and I did :) Who do you want in contributors, besides 
> > yourself?
> > 
> > -- 
> > Denys


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago
  2012-10-11  2:55                     ` Denys Dmytriyenko
@ 2012-10-11  3:00                       ` Cooper Jr., Franklin
  2012-10-11  3:12                         ` Denys Dmytriyenko
  2012-10-12  4:20                       ` Cooper Jr., Franklin
  1 sibling, 1 reply; 17+ messages in thread
From: Cooper Jr., Franklin @ 2012-10-11  3:00 UTC (permalink / raw)
  To: Dmytriyenko, Denys; +Cc: meta-arago@arago-project.org

Most likely TI-tisdk-license will have a similar problem as this recipe. Can we go ahead and create a repo for that one also? Its the recipe that packages all the different licenses for the sdk software manifest. I plan to submit it tomorrow.

On Oct 10, 2012, at 9:55 PM, "Dmytriyenko, Denys" <denys@ti.com> wrote:

> On Wed, Oct 10, 2012 at 10:53:27PM -0400, Cooper Jr., Franklin wrote:
>> Me 
> 
> Ok, you too.
> 
>> On Oct 10, 2012, at 9:51 PM, "Dmytriyenko, Denys" <denys@ti.com> wrote:
>> 
>>> On Wed, Oct 10, 2012 at 04:01:17PM -0400, Maupin, Chase wrote:
>>>>> -----Original Message-----
>>>>> From: Dmytriyenko, Denys
>>>>> Sent: Wednesday, October 10, 2012 2:58 PM
>>>>> To: Maupin, Chase
>>>>> Cc: Cooper Jr., Franklin; Dmytriyenko, Denys; meta-arago@arago-
>>>>> project.org
>>>>> Subject: Re: [meta-arago] [meta-arago-extras][PATCH] ti-tisdk-
>>>>> setup: Port ti-tisdk-setup from arago
>>>>> 
>>>>> On Wed, Oct 10, 2012 at 07:43:08PM +0000, Maupin, Chase wrote:
>>>>>> There are lots of tweaks to the actual scripts that would be
>>>>> nice, but aside
>>>>>> from that no.  They all need to go into an SDK.  They make up a
>>>>> large part
>>>>>> of the OOBE and they tend to go together.  The only one that
>>>>> could be
>>>>>> separated (in that it is not a dependecy for another one) would
>>>>> be
>>>>>> create-sdcard.sh but we consider that script as critical as all
>>>>> the others
>>>>>> and a mandatory install as part of the setup for an SDK.
>>>>> 
>>>>> First of all, let's cut the patch from the email - I'm tired
>>>>> going to the
>>>>> administrative interface to approve the oversize message to the
>>>>> list... :)
>>>>> 
>>>>> Second, why can't we have a separate git repository for all those
>>>>> shell
>>>>> scripts that are used for OOBE - you'll get version control and
>>>>> move the bulk
>>>>> outside of the metadata. Is it feasible?
>>>> 
>>>> I'm OK with a separate git repo.  Can you create a tisdk-setup-scripts repo 
>>>> on arago for us?
>>> 
>>> You know I can, and I did :) Who do you want in contributors, besides 
>>> yourself?
>>> 
>>> -- 
>>> Denys


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago
  2012-10-11  3:00                       ` Cooper Jr., Franklin
@ 2012-10-11  3:12                         ` Denys Dmytriyenko
  2012-10-11  3:18                           ` Cooper Jr., Franklin
  0 siblings, 1 reply; 17+ messages in thread
From: Denys Dmytriyenko @ 2012-10-11  3:12 UTC (permalink / raw)
  To: Cooper Jr., Franklin; +Cc: meta-arago@arago-project.org

On Wed, Oct 10, 2012 at 11:00:28PM -0400, Cooper Jr., Franklin wrote:
> Most likely TI-tisdk-license will have a similar problem as this recipe. Can 
> we go ahead and create a repo for that one also? Its the recipe that 
> packages all the different licenses for the sdk software manifest. I plan to 
> submit it tomorrow.

Can we reuse oe-core/meta/files/common-licenses/?

> On Oct 10, 2012, at 9:55 PM, "Dmytriyenko, Denys" <denys@ti.com> wrote:
> 
> > On Wed, Oct 10, 2012 at 10:53:27PM -0400, Cooper Jr., Franklin wrote:
> >> Me 
> > 
> > Ok, you too.
> > 
> >> On Oct 10, 2012, at 9:51 PM, "Dmytriyenko, Denys" <denys@ti.com> wrote:
> >> 
> >>> On Wed, Oct 10, 2012 at 04:01:17PM -0400, Maupin, Chase wrote:
> >>>>> -----Original Message-----
> >>>>> From: Dmytriyenko, Denys
> >>>>> Sent: Wednesday, October 10, 2012 2:58 PM
> >>>>> To: Maupin, Chase
> >>>>> Cc: Cooper Jr., Franklin; Dmytriyenko, Denys; meta-arago@arago-
> >>>>> project.org
> >>>>> Subject: Re: [meta-arago] [meta-arago-extras][PATCH] ti-tisdk-
> >>>>> setup: Port ti-tisdk-setup from arago
> >>>>> 
> >>>>> On Wed, Oct 10, 2012 at 07:43:08PM +0000, Maupin, Chase wrote:
> >>>>>> There are lots of tweaks to the actual scripts that would be
> >>>>> nice, but aside
> >>>>>> from that no.  They all need to go into an SDK.  They make up a
> >>>>> large part
> >>>>>> of the OOBE and they tend to go together.  The only one that
> >>>>> could be
> >>>>>> separated (in that it is not a dependecy for another one) would
> >>>>> be
> >>>>>> create-sdcard.sh but we consider that script as critical as all
> >>>>> the others
> >>>>>> and a mandatory install as part of the setup for an SDK.
> >>>>> 
> >>>>> First of all, let's cut the patch from the email - I'm tired
> >>>>> going to the
> >>>>> administrative interface to approve the oversize message to the
> >>>>> list... :)
> >>>>> 
> >>>>> Second, why can't we have a separate git repository for all those
> >>>>> shell
> >>>>> scripts that are used for OOBE - you'll get version control and
> >>>>> move the bulk
> >>>>> outside of the metadata. Is it feasible?
> >>>> 
> >>>> I'm OK with a separate git repo.  Can you create a tisdk-setup-scripts repo 
> >>>> on arago for us?
> >>> 
> >>> You know I can, and I did :) Who do you want in contributors, besides 
> >>> yourself?
> >>> 
> >>> -- 
> >>> Denys


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago
  2012-10-11  3:12                         ` Denys Dmytriyenko
@ 2012-10-11  3:18                           ` Cooper Jr., Franklin
  0 siblings, 0 replies; 17+ messages in thread
From: Cooper Jr., Franklin @ 2012-10-11  3:18 UTC (permalink / raw)
  To: Dmytriyenko, Denys; +Cc: meta-arago@arago-project.org



On Oct 10, 2012, at 10:12 PM, "Dmytriyenko, Denys" <denys@ti.com> wrote:

> On Wed, Oct 10, 2012 at 11:00:28PM -0400, Cooper Jr., Franklin wrote:
>> Most likely TI-tisdk-license will have a similar problem as this recipe. Can 
>> we go ahead and create a repo for that one also? Its the recipe that 
>> packages all the different licenses for the sdk software manifest. I plan to 
>> submit it tomorrow.
> 
> Can we reuse oe-core/meta/files/common-licenses/?

That might work. I will try using that.
> 
>> On Oct 10, 2012, at 9:55 PM, "Dmytriyenko, Denys" <denys@ti.com> wrote:
>> 
>>> On Wed, Oct 10, 2012 at 10:53:27PM -0400, Cooper Jr., Franklin wrote:
>>>> Me 
>>> 
>>> Ok, you too.
>>> 
>>>> On Oct 10, 2012, at 9:51 PM, "Dmytriyenko, Denys" <denys@ti.com> wrote:
>>>> 
>>>>> On Wed, Oct 10, 2012 at 04:01:17PM -0400, Maupin, Chase wrote:
>>>>>>> -----Original Message-----
>>>>>>> From: Dmytriyenko, Denys
>>>>>>> Sent: Wednesday, October 10, 2012 2:58 PM
>>>>>>> To: Maupin, Chase
>>>>>>> Cc: Cooper Jr., Franklin; Dmytriyenko, Denys; meta-arago@arago-
>>>>>>> project.org
>>>>>>> Subject: Re: [meta-arago] [meta-arago-extras][PATCH] ti-tisdk-
>>>>>>> setup: Port ti-tisdk-setup from arago
>>>>>>> 
>>>>>>> On Wed, Oct 10, 2012 at 07:43:08PM +0000, Maupin, Chase wrote:
>>>>>>>> There are lots of tweaks to the actual scripts that would be
>>>>>>> nice, but aside
>>>>>>>> from that no.  They all need to go into an SDK.  They make up a
>>>>>>> large part
>>>>>>>> of the OOBE and they tend to go together.  The only one that
>>>>>>> could be
>>>>>>>> separated (in that it is not a dependecy for another one) would
>>>>>>> be
>>>>>>>> create-sdcard.sh but we consider that script as critical as all
>>>>>>> the others
>>>>>>>> and a mandatory install as part of the setup for an SDK.
>>>>>>> 
>>>>>>> First of all, let's cut the patch from the email - I'm tired
>>>>>>> going to the
>>>>>>> administrative interface to approve the oversize message to the
>>>>>>> list... :)
>>>>>>> 
>>>>>>> Second, why can't we have a separate git repository for all those
>>>>>>> shell
>>>>>>> scripts that are used for OOBE - you'll get version control and
>>>>>>> move the bulk
>>>>>>> outside of the metadata. Is it feasible?
>>>>>> 
>>>>>> I'm OK with a separate git repo.  Can you create a tisdk-setup-scripts repo 
>>>>>> on arago for us?
>>>>> 
>>>>> You know I can, and I did :) Who do you want in contributors, besides 
>>>>> yourself?
>>>>> 
>>>>> -- 
>>>>> Denys


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago
  2012-10-11  2:55                     ` Denys Dmytriyenko
  2012-10-11  3:00                       ` Cooper Jr., Franklin
@ 2012-10-12  4:20                       ` Cooper Jr., Franklin
  2012-10-24 19:45                         ` Denys Dmytriyenko
  1 sibling, 1 reply; 17+ messages in thread
From: Cooper Jr., Franklin @ 2012-10-12  4:20 UTC (permalink / raw)
  To: Dmytriyenko, Denys; +Cc: meta-arago@arago-project.org

Do you have a git url to that repo? I don't see it on the http://arago-project.org/git/projects list.

-----Original Message-----
From: Dmytriyenko, Denys 
Sent: Wednesday, October 10, 2012 9:56 PM
To: Cooper Jr., Franklin
Cc: Maupin, Chase; meta-arago@arago-project.org
Subject: Re: [meta-arago] [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago

On Wed, Oct 10, 2012 at 10:53:27PM -0400, Cooper Jr., Franklin wrote:
> Me

Ok, you too.

> On Oct 10, 2012, at 9:51 PM, "Dmytriyenko, Denys" <denys@ti.com> wrote:
> 
> > On Wed, Oct 10, 2012 at 04:01:17PM -0400, Maupin, Chase wrote:
> >>> -----Original Message-----
> >>> From: Dmytriyenko, Denys
> >>> Sent: Wednesday, October 10, 2012 2:58 PM
> >>> To: Maupin, Chase
> >>> Cc: Cooper Jr., Franklin; Dmytriyenko, Denys; meta-arago@arago- 
> >>> project.org
> >>> Subject: Re: [meta-arago] [meta-arago-extras][PATCH] ti-tisdk-
> >>> setup: Port ti-tisdk-setup from arago
> >>> 
> >>> On Wed, Oct 10, 2012 at 07:43:08PM +0000, Maupin, Chase wrote:
> >>>> There are lots of tweaks to the actual scripts that would be
> >>> nice, but aside
> >>>> from that no.  They all need to go into an SDK.  They make up a
> >>> large part
> >>>> of the OOBE and they tend to go together.  The only one that
> >>> could be
> >>>> separated (in that it is not a dependecy for another one) would
> >>> be
> >>>> create-sdcard.sh but we consider that script as critical as all
> >>> the others
> >>>> and a mandatory install as part of the setup for an SDK.
> >>> 
> >>> First of all, let's cut the patch from the email - I'm tired going 
> >>> to the administrative interface to approve the oversize message to 
> >>> the list... :)
> >>> 
> >>> Second, why can't we have a separate git repository for all those 
> >>> shell scripts that are used for OOBE - you'll get version control 
> >>> and move the bulk outside of the metadata. Is it feasible?
> >> 
> >> I'm OK with a separate git repo.  Can you create a 
> >> tisdk-setup-scripts repo on arago for us?
> > 
> > You know I can, and I did :) Who do you want in contributors, 
> > besides yourself?
> > 
> > --
> > Denys


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago
  2012-10-12  4:20                       ` Cooper Jr., Franklin
@ 2012-10-24 19:45                         ` Denys Dmytriyenko
  0 siblings, 0 replies; 17+ messages in thread
From: Denys Dmytriyenko @ 2012-10-24 19:45 UTC (permalink / raw)
  To: Cooper Jr., Franklin; +Cc: meta-arago@arago-project.org

On Fri, Oct 12, 2012 at 04:20:03AM +0000, Cooper Jr., Franklin wrote:
> Do you have a git url to that repo? I don't see it on the http://arago-project.org/git/projects list.

You won't see it until you populate it. The name is tisdk-setup-scripts under 
projects.


> -----Original Message-----
> From: Dmytriyenko, Denys 
> Sent: Wednesday, October 10, 2012 9:56 PM
> To: Cooper Jr., Franklin
> Cc: Maupin, Chase; meta-arago@arago-project.org
> Subject: Re: [meta-arago] [meta-arago-extras][PATCH] ti-tisdk-setup: Port ti-tisdk-setup from arago
> 
> On Wed, Oct 10, 2012 at 10:53:27PM -0400, Cooper Jr., Franklin wrote:
> > Me
> 
> Ok, you too.
> 
> > On Oct 10, 2012, at 9:51 PM, "Dmytriyenko, Denys" <denys@ti.com> wrote:
> > 
> > > On Wed, Oct 10, 2012 at 04:01:17PM -0400, Maupin, Chase wrote:
> > >>> -----Original Message-----
> > >>> From: Dmytriyenko, Denys
> > >>> Sent: Wednesday, October 10, 2012 2:58 PM
> > >>> To: Maupin, Chase
> > >>> Cc: Cooper Jr., Franklin; Dmytriyenko, Denys; meta-arago@arago- 
> > >>> project.org
> > >>> Subject: Re: [meta-arago] [meta-arago-extras][PATCH] ti-tisdk-
> > >>> setup: Port ti-tisdk-setup from arago
> > >>> 
> > >>> On Wed, Oct 10, 2012 at 07:43:08PM +0000, Maupin, Chase wrote:
> > >>>> There are lots of tweaks to the actual scripts that would be
> > >>> nice, but aside
> > >>>> from that no.  They all need to go into an SDK.  They make up a
> > >>> large part
> > >>>> of the OOBE and they tend to go together.  The only one that
> > >>> could be
> > >>>> separated (in that it is not a dependecy for another one) would
> > >>> be
> > >>>> create-sdcard.sh but we consider that script as critical as all
> > >>> the others
> > >>>> and a mandatory install as part of the setup for an SDK.
> > >>> 
> > >>> First of all, let's cut the patch from the email - I'm tired going 
> > >>> to the administrative interface to approve the oversize message to 
> > >>> the list... :)
> > >>> 
> > >>> Second, why can't we have a separate git repository for all those 
> > >>> shell scripts that are used for OOBE - you'll get version control 
> > >>> and move the bulk outside of the metadata. Is it feasible?
> > >> 
> > >> I'm OK with a separate git repo.  Can you create a 
> > >> tisdk-setup-scripts repo on arago for us?
> > > 
> > > You know I can, and I did :) Who do you want in contributors, 
> > > besides yourself?
> > > 
> > > --
> > > Denys
> _______________________________________________
> meta-arago mailing list
> meta-arago@arago-project.org
> http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
> 


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2012-10-24 19:45 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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

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.