For all of you that wondered on how to place a LINUX ISO image onto the BMA here is a script that will do this for you. 

Here are 2 example runs…. 

# Example run: /usr/local/etc/ISOExtractor /tmp/CentOS-6.5-x86_64-bin-DVD1.iso CentOS65
# Example run: /usr/local/etc/ISOExtractor /tmp/rhel-server-6.2-x86_64-dvd.iso RHEL62

In the drop down of UCS-D for PXE boot one would see CentOS65 and RHEL62

The ISO should sit in /tmp
The ISOExtrator should sit in /usr/local/etc (chmod +x ISOExtractor)

[root@localhost etc]# cat ISOExtractor
#!/bin/bash
#
#
# Orf Gelbrich
# ogelbric@cisco.com
# 1-28-2014
#
# ISOExtracter
#
# Example run: /usr/local/etc/ISOExtractor /tmp/CentOS-6.5-x86_64-bin-DVD1.iso CentOS65
# Example run: /usr/local/etc/ISOExtractor /tmp/rhel-server-6.2-x86_64-dvd.iso RHEL62
#
# Check out the inputiso file
#
if [ ! -f "$1" ] 
then
echo "Input file does not exist: $1 " 
echo "Usage: $0 [path/ISOfilemane] [OSname]"
exit 1
else
echo "Input file is being used: $1 " 
fi
#
# check out the OS description
#
if [ -z "$2" ] 
then
echo "Input OS name not there: $2 " 
echo "Usage: $0 [path/ISOfilemane] [OSname]"
exit 1
else
echo "Input OS name is being used: $2 " 
fi
#
# create the iso mount
#
if [ ! -d /mnt/iso ]
then
mkdir /mnt/iso
fi
#
# mount the image
#
mount -o loop $1 /mnt/iso
#
# go to the current images and create new image dir
#
cd /opt/cnsaroot/images/
mkdir "$2"
cd /opt/cnsaroot/images/"$2"
if [ ! -d /opt/cnsaroot/images/"$2" ] 
then
echo "Cound not create /opt/cnsaroot/images/$2" 
exit 1
fi
pwd
#
# copy the image
#

echo "Copy the iso dvd..."
cd /opt/cnsaroot/images/"$2"
cp -R /mnt/iso/* .
umount /mnt/iso
#
# create link
#
cd /var/www/html
ln -s /opt/cnsaroot/images/"$2" "$2"

#
# fix up the templates
#
cd /opt/cnsaroot/templates
mkdir "$2"
cd /opt/cnsaroot/templates/"$2"

cat > ks.cfg <<EOF
auth  --useshadow  --enablemd5 
bootloader --append="rhgb quiet" --location=mbr --driveorder=sda
clearpart --linux --initlabel 
zerombr 
ignoredisk --only-use=sda 
text
firewall --disabled
firstboot --disable
keyboard us
lang en_US
logging --level=info
url --url=http://\$PXE_NATIVE_WEBSERVER/CentOS65
reboot
#network --bootproto=static --device=eth0 --ip=\$PXE_IP --netmask=\$PXE_NETMASK --gateway=\$PXE_GATEWAY  --hostname=i\$PXE_NAME --onboot=on
rootpw \$PXE_PASSWD
selinux --disabled
timezone --isUtc Asia/Calcutta
install
part /  --fstype="ext3" --size=8000
%packages --nobase
wget
%post
echo "\$PXE_IP   \$PXE_NAME" >> /etc/hosts
echo "NETWORKING=yes" > /etc/sysconfig/network
echo "HOSTNAME=\$PXE_NAME" >> /etc/sysconfig/network
cat /etc/sysconfig/network-scripts/ifcfg-eth0 | sed 's/BOOTPROTO="dhcp"/BOOTPROTO="static"/' >/tmp/a 
cp -f /tmp/a /etc/sysconfig/network-scripts/ifcfg-eth0
echo "IPADDR=\$PXE_IP" >> /etc/sysconfig/network-scripts/ifcfg-eth0
echo "GATEWAY=\$PXE_GATEWAY" >> /etc/sysconfig/network-scripts/ifcfg-eth0
echo "NETMASK=\$PXE_NETMASK" >> /etc/sysconfig/network-scripts/ifcfg-eth0
chmod 644 /etc/sysconfig/network-scripts/ifcfg-eth0
rm -rf /etc/udev/rules.d/70-persistent-net.rules
echo "nameserver \$PXE_NS" > /etc/resolv.conf

wget http://\$PXE_WEBSERVER/$PXEID/notify.html
%end
EOF

mv ks.cfg ks.cfg.orig.$$
cat ks.cfg.orig.$$ | sed "s/CentOS65/$2/g" > ks.cfg.new1
mv ks.cfg.new1 ks.cfg

cat > pxe.cfg <<EOF
default linux
label linux
kernel images/CentOS65/isolinux/vmlinuz
append initrd=images/CentOS65/isolinux/initrd.img ramdisk_size=9216 noapic acpi=off ip=dhcp ksdevice=eth0 ks=\$PXE_KS_URL
prompt 0 
timeout 0
EOF

mv pxe.cfg pxe.cfg.orig.$$
cat pxe.cfg.orig.$$ | sed "s#CentOS65#$2#" > pxe.cfg.new1
mv pxe.cfg.new1 pxe.cfg

/opt/infra/configure.sh 192.168.66.2
chkconfig --level 2345 iptables off
/etc/init.d/iptables stop

exit 0