Tom's Guide | Tom's Hardware | Tom's Games
![]() |
![]() |
![]() |
I have two machines: one running Solaris 8 x86 (which I'm trying to setup as the jumpstart server), while the other box is a Netra T1 (jumpstart client)
I'm attempting a Solaris 8 Sparc jumpstart for the Netra.
The two machines are on the same subnet and connect via a hub. I am not using NIS.I've been thru the setup_install_server procedure on the x86 box which worked fine. Even run add_to_install_server on it sucessfully.
The problem occurs when I run the add_install_client script on the jumpstart server. It returns the following error:
bash-2.03# ./add_install_client -i 10.0.0.6 -e 8:0:20:b2:fa:59 -s sun1:/export/data/install -c sun1:/export/data/config -p sun1:/export/data/config netra sun4u
Error: unknown client "netra"
I've run /usr/sbin/in.rarpd -a prior to this and have ensured that the client's HW address and hostname are in /etc/ethers
bash-2.03# cat /etc/ethers
08:0:20:b2:fa:59 netraI've also uncommented out the tftp entry in /etc/inetd.conf
The hosts file look fine too:
bash-2.03# cat /etc/hosts
127.0.0.1 localhost
10.0.0.6 netra
10.0.0.4 sun1 loghost timehostI can ping the netra box both by IP and hostname.
Running arp -a on the x86 jumpstart server shows the netra's HW add:
bash-2.03# arp -aNet to Media Table: IPv4
Device IP Address Mask Flags Phys Addr
-------
rtls0 10.0.0.2 255.255.255.255 00:d0:09:d0:15:e3
rtls0 netra 255.255.255.255 08:00:20:b2:fa:59Any ideas as to what else I could do to run the add_install_client sucessfully??

Try this script from Hal Pomeranz.
Any errors are due to modifications I made.
Change the less-than-or-equal characters to less-than.
#!/usr/bin/ksh
# set -x
PS4='$0 line $LINENO: '
# add_client -- simple wrapper for the Jumpstart add_install_client script
# Usage: add_client ¡Ühostname> ¡Üclient arch> ¡Üclient OS vers>
#
# Copyright (c) Deer Run Associates. All rights reserved.
# Permission to distribute freely as long as this Copyright is preserved.
# Author: Hal Pomeranz ¡Ühal@deer-run.com># *** NOTE: Make sure these parameters are appropriate for your configuration!
# CONF_SERVER is the hostname of your configuration server
# CONF_DIR is the path to your configuration directory
# INST_SERVER is the hostname of your installation server
# INST_ROOT is the directory containing your install directories
# (install directories should be named "jump_`uname -r`")
#
# Script assumes that sysidcfg file is located at the top of each install
# directory.
#if [ $# -ne 3 ]; then
echo "Usage $0 ¡Ühostname> ¡Üclient arch> ¡Üclient OS vers>"
echo "Where 'client arch' is one of the following: "
echo " axil4m, sun4c, sun4d, sun4m, sun4s, sun4u, sun4u1, sun4us, tsb1, i86pc, or prep"
echo "Refer to 'http://docs.sun.com/db/doc/802-5740/6i9fqkuqh?a=view' "
echo " for more details on platform group (client arch)"
exit 4
fiHOST=$1
KARCH=$2
VERS=$3
SHORTHOST=`echo $HOST | cut -f 1 -d '.'`
CONF_SERVER=NFS_SERVER
CONF_DIR=/export/jumpstart
INST_SERVER=$CONF_SERVER
INST_ROOT=/export
DATE=`date +%Y%m%d`PASSWD=`awk -F: '/^root:/ { print $2 }' /etc/shadow`
IP_ADDR=`nslookup $HOST | awk '/Address/ { print $2 }' | tail -1`
ETHER=`awk "/$SHORTHOST/ { print \\$1 }" /etc/ethers`
if [ -z "$ETHER" ] ; then
ETHER=`arp -a | awk "/$SHORTHOST/ { print \\$4 }"`
fi
if [ -z "$ETHER" ] ; then
echo "$SHORTHOST not found"
ping $HOST 1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
rsh $HOST ls / >/dev/null 2>&1
if [ $? -eq 0 ] ; then
ETHER=`rsh $HOST ifconfig -a | awk '/ether/ { print $2 }'`
fi
fi
fiif [ "$VERS" = "5.6" ] ; then
if [ -f ${INST_ROOT}/jump${VERS}/${SHORTHOST}sysidcfg ] ; then
PRIM_INT=`grep network_interface ${INST_ROOT}/jump_${VERS}/${SHORTHOST}/sysidcfg | cut -f 2 -d '=' | awk '{ print $1 }'`
fi
if [ -z "$PRIM_INT" ] ; then
rsh $HOST ifconfig -a >/dev/null 2>&1
if [ $? -eq 0 ] ; then
PRIM_INT=`rsh $HOST ifconfig -a | grep -v LOOPBACK | awk '/¡ÜUP/ {print $1}' | sed -e 's/:$//' 2>/dev/null`
else
PRIM_INT="le0"
fi
fi
else
PRIM_INT="primary"
fiecho $ETHER
if [ -n "$ETHER" ] ; then
wc_old=`wc -l /etc/ethers | awk '{ print $1 }'`
((wc_new=wc_old - 1))
mv /etc/ethers /etc/ethers${DATE}
echo "sed /$HOST/d /etc/ethers${DATE} > /etc/ethers"
sed /$HOST/d /etc/ethers${DATE} > /etc/ethers
if [ `wc -l /etc/ethers | awk '{ print $1 }'` -ne $wc_new ] ; then
echo "ERROR with /etc/ethers update"
cat /etc/ethers
mv /etc/ethers${DATE} /etc/ethers
fi
echo "$ETHER $HOST"
echo "$ETHER $HOST" >> /etc/ethers
fiNS=`awk 'BEGIN { ORS = ", " } /nameserver/ { print $2 }' /etc/resolv.conf`
NS_LIST=`echo $NS | sed -e 's/, $//' -e 's/,$//'`RESOLV_CONF=`cat /etc/resolv.conf`
if [ "$VERS" = "5.5.1" ]; then
cd $INST_ROOT/jump_$VERS
./add_install_client -c ${CONF_SERVER}:${CONF_DIR} \
-s ${INST_SERVER}:${INST_ROOT}/jump_${VERS} \
${HOST} ${KARCH}
else
cd $INST_ROOT/jump_$VERS/Solaris_*/Tools
./add_install_client -c ${CONF_SERVER}:${CONF_DIR} \
-p ${INST_SERVER}:${INST_ROOT}/jump_${VERS}/${SHORTHOST} \
-s ${INST_SERVER}:${INST_ROOT}/jump_${VERS} \
${HOST} ${KARCH}
fi
if [ ! -d ${INST_ROOT}/jump_${VERS}/${SHORTHOST} ] ; then
mkdir ${INST_ROOT}/jump_${VERS}/${SHORTHOST}
ficase $VERS in
5.5.1 )
echo "sysidcfg not supported prior to 2.6"
;;
5.6 )
RESOLV_CONF=`cat /etc/resolv.conf`
cat ¡Ü¡Ü- EOT > ${INST_ROOT}/jump_${VERS}/${SHORTHOST}/sysidcfg
timezone=US/Central
terminal=vt100
system_locale=en_US
timeserver=localhost
name_service=OTHER
network_interface=${PRIM_INT} {hostname=${SHORTHOST}.domain.com ip_address=${IP_ADDR} netmask=255.255.255.128}
root_password=${PASSWD}
EOT
;;
5.7 )
cat ¡Ü¡Ü- EOT > ${INST_ROOT}/jump_${VERS}/${SHORTHOST}/sysidcfg
timezone=US/Central
terminal=vt100
system_locale=en_US
timeserver=localhost
name_service=DNS {domain_name=domain.com name_server=${NS_LIST}}
network_interface=primary {hostname=${SHORTHOST}.domain.com ip_address=${IP_ADDR} netmask=255.255.255.128}
root_password=${PASSWD}
EOT
;;
5.8 )
cat ¡Ü¡Ü- EOT > ${INST_ROOT}/jump_${VERS}/${SHORTHOST}/sysidcfg
timezone=US/Central
terminal=vt100
system_locale=en_US
timeserver=localhost
name_service=DNS {domain_name=domain.com name_server=${NS_LIST}}
network_interface=primary {hostname=${SHORTHOST}.domain.com protocol_ipv6=no ip_address=${IP_ADDR} netmask=255.255.255.128}
security_policy=none
root_password=${PASSWD}
EOT
;;
5.9 )
cat ¡Ü¡Ü- EOT > ${INST_ROOT}/jump_${VERS}/${SHORTHOST}/sysidcfg
timezone=US/Central
terminal=vt100
system_locale=en_US
timeserver=localhost
name_service=DNS {domain_name=domain.com name_server=${NS_LIST}}
network_interface=primary {hostname=${SHORTHOST}.domain.com protocol_ipv6=no ip_address=${IP_ADDR} netmask=255.255.255.128 default_route=138.42.11.129}
security_policy=none
root_password=${PASSWD}
EOT
;;
esac

Posting the script with less than characters doesn't work for me. Change the occurances of those odd characters "Ü" to less than signs as would be normal in a here-to document. Yes it worked before I posted it. I use it often to set up my jump start environment.

Here it is without the here-to less than symbols.
Looks like a post size limit. The script is being cut off before the 5.8 and 5.9 sections.
#!/usr/bin/ksh
# set -x
PS4='$0 line $LINENO: '
# add_client -- simple wrapper for the Jumpstart add_install_client script
# Usage: add_client hostname client arch client OS vers
#
# Copyright (c) Deer Run Associates. All rights reserved.
# Permission to distribute freely as long as this Copyright is preserved.
# Author: Hal Pomeranz hal@deer-run.com# *** NOTE: Make sure these parameters are appropriate for your configuration!
# CONF_SERVER is the hostname of your configuration server
# CONF_DIR is the path to your configuration directory
# INST_SERVER is the hostname of your installation server
# INST_ROOT is the directory containing your install directories
# (install directories should be named "jump_`uname -r`")
#
# Script assumes that sysidcfg file is located at the top of each install
# directory.
#if [ $# -ne 3 ]; then
echo "Usage $0 hostname client_arch client_OS_vers"
echo "Where 'client arch' is one of the following: "
echo " axil4m, sun4c, sun4d, sun4m, sun4s, sun4u, sun4u1, sun4us, tsb1, i86pc, or prep"
echo "Refer to 'http://docs.sun.com/db/doc/802-5740/6i9fqkuqh?a=view' "
echo " for more details on platform group (client arch)"
exit 4
fiHOST=$1
KARCH=$2
VERS=$3
SHORTHOST=`echo $HOST | cut -f 1 -d '.'`
CONF_SERVER=uspldv10
CONF_DIR=/export/jumpstart
INST_SERVER=$CONF_SERVER
INST_ROOT=/export
DATE=`date +%Y%m%d`PASSWD=`awk -F: '/^root:/ { print $2 }' /etc/shadow`
IP_ADDR=`nslookup $HOST | awk '/Address/ { print $2 }' | tail -1`
ETHER=`awk "/$SHORTHOST/ { print \\$1 }" /etc/ethers`
if [ -z "$ETHER" ] ; then
ping $HOST 1
ETHER=`arp -a | awk "/$SHORTHOST/ { print \\$NF }"`
fi
if [ -z "$ETHER" ] ; then
echo "$SHORTHOST not found"
ping $HOST 1 > /dev/null 2>&1
if [ $? -eq 0 ] ; then
rsh $HOST ls / >/dev/null 2>&1
if [ $? -eq 0 ] ; then
ETHER=`rsh $HOST ifconfig -a | awk '/ether/ { print $2 }'`
fi
fi
fiif [ "$VERS" = "5.6" ] ; then
if [ -f ${INST_ROOT}/jump${VERS}/${SHORTHOST}sysidcfg ] ; then
PRIM_INT=`grep network_interface ${INST_ROOT}/jump_${VERS}/${SHORTHOST}/sysidcfg | cut -f 2 -d '=' | awk '{ print $1 }'`
fi
if [ -z "$PRIM_INT" ] ; then
rsh $HOST ifconfig -a >/dev/null 2>&1
if [ $? -eq 0 ] ; then
PRIM_INT=`rsh $HOST ifconfig -a | grep -v LOOPBACK | awk '/UP/ {print $1}' | sed -e 's/:$//' 2>/dev/null`
else
PRIM_INT="le0"
fi
fi
else
PRIM_INT="primary"
fiecho $ETHER
if [ -n "$ETHER" ] ; then
wc_old=`wc -l /etc/ethers | awk '{ print $1 }'`
((wc_new=wc_old - 1))
mv /etc/ethers /etc/ethers${DATE}
echo "sed /$HOST/d /etc/ethers${DATE} > /etc/ethers"
sed /$HOST/d /etc/ethers${DATE} > /etc/ethers
if [ `wc -l /etc/ethers | awk '{ print $1 }'` -ne $wc_new ] ; then
echo "ERROR with /etc/ethers update"
cat /etc/ethers
mv /etc/ethers${DATE} /etc/ethers
fi
echo "$ETHER $HOST"
echo "$ETHER $HOST" >> /etc/ethers
fiNS=`awk 'BEGIN { ORS = ", " } /nameserver/ { print $2 }' /etc/resolv.conf`
NS_LIST=`echo $NS | sed -e 's/, $//' -e 's/,$//'`RESOLV_CONF=`cat /etc/resolv.conf`
if [ "$VERS" = "5.5.1" ]; then
cd $INST_ROOT/jump_$VERS
./add_install_client -c ${CONF_SERVER}:${CONF_DIR} \
-s ${INST_SERVER}:${INST_ROOT}/jump_${VERS} \
${HOST} ${KARCH}
else
cd $INST_ROOT/jump_$VERS/Solaris_*/Tools
./add_install_client -c ${CONF_SERVER}:${CONF_DIR} \
-p ${INST_SERVER}:${INST_ROOT}/jump_${VERS}/${SHORTHOST} \
-s ${INST_SERVER}:${INST_ROOT}/jump_${VERS} \
${HOST} ${KARCH}
fi
if [ ! -d ${INST_ROOT}/jump_${VERS}/${SHORTHOST} ] ; then
mkdir ${INST_ROOT}/jump_${VERS}/${SHORTHOST}
ficase $VERS in
5.5.1 )
echo "sysidcfg not supported prior to 2.6"
;;
5.6 )
RESOLV_CONF=`cat /etc/resolv.conf`
SYS_BODY="timezone=US/Central
terminal=vt100
system_locale=en_US
timeserver=localhost
name_service=OTHER
network_interface=${PRIM_INT} {hostname=${SHORTHOST}.domain.com ip_address=${IP_ADDR} netmask=255.255.255.128}
root_password=${PASSWD}"
;;
5.7 )
SYS_BODY="timezone=US/Central
terminal=vt100
system_locale=en_US
timeserver=localhost
name_service=DNS {domain_name=domain.com name_server=${NS_LIST}}
network_interface=primary {hostname=${SHORTHOST}.domain.com ip_address=${IP_ADDR} netmask=255.255.255.128}
root_password=${PASSWD}"

![]() |
![]() |
![]() |

This post is quite old and has been locked from receiving new replies. Please create a new posting instead.
| Ads by Google |