:We are trying to distribute solaris 2.3 to our clients via the network.
:Unfortunately, solaris does not install gracefully in the presence of
:subnets, where it requires an install server. We would like to avoid
:this, so...
We install 2.3 and installed 2.2 over subnets. That is the install_server
is on another subnet (With cdrom copied to disk to gain speed ;-))
On the subnet where the to install machine is you have to take
some action's
1) nis maps/bootparams
ethers
timezone
netmasks
/etc/bootparams (For solaris 2.3 for eachhost a line)
4m_client.domain root=server:/install/export/exec/kvm/sparc.sun4m.Solaris_2.3
install=server:/install install_config=server:/export/install_info_2.3
2) bootimage for install
in /tftpboot (e.g. on your local subnet nis server)
I installed:
/tftpboot/inetboot
/tftpboot/inetboot.sun4{,m,c}.Solaris.2.3
(in fact all the same)
and /tftpboot/mk_link (Own script)
#!/bin/sh
# mk link (program to make link's for a machine)
#
# using ypmatch hosts, (is better updated than host/dns)
if [ $# != 2 ]
then
echo $0: usage $0 host kernel_arch
exit 1
fi
host=$1
kernel_arch=`echo $2 | tr '[a-z]' '[A-Z]'`
case $kernel_arch in
4|SUN4) kernel_arch=SUN4
;;
4C|SUN4C) kernel_arch=SUN4C
;;
4D|SUN4D) kernel_arch=SUN4D
;;
4E|SUN4E) kernel_arch=SUN4E
;;
4M|SUN4M) kernel_arch=SUN4M
;;
*) echo $kernel_arch not supported
exit 1
;;
esac
kerneli=`echo $kernel_arch | tr '[A-Z]' '[a-z]'`
if [ -f ./inetboot.${kerneli}.Solaris.2.3 ]
then
ainetboot=inetboot.${kerneli}.Solaris.2.3
else
ainetboot=inetboot
fi
set -- `host $host`
if [ $? != 0 ]
then
echo $0: $host not in DNS
exit 2
fi
inet=$3
hexid=`echo $inet | awk -F. '{ printf "%02x%02x%02x%02x\n", $1,$2,$3,$4 }'`
hexid=`echo $hexid | tr '[a-z]' '[A-Z]'`
rm -f $hexid $hexid.$kernel_arch
ln -s $ainetboot $hexid
ln -s $ainetboot $hexid.$kernel_arch
3)
for each to install host you do a
./mk_link to_install_host_name to_install_host_kernel_arch
e.g. ./mk_link sunshine 4m
On the install_server you have to make sure, all hosts can
mount the install disk.
in /etc/dfs/dfstab:
share -F nfs -o ro=all_your_machines_netgroup /install
share -F nfs -o ro=all_your_machines_netgroup /export/install_info
(When your netgroup change, perform the commands by hand)
:(1) Is there a way to get the bootloader to use bootp instead of rarp?
: Rarp doesn't tell the client about the netmask or gateway. (Why
: did Sun choose to use an obsolete protocol?)
:(2) Failing (1), and supposing that the client machine is running
: an earlier version of the OS (4.x or 5.x), would it be possible
: to NFSmount the CD and perform the installation while running
: the older OS?
:(3) Failing (2), would it be possible to copy a minimal set of files
: from the install CD to the client's hard disk, reboot the client
: so that it uses the NEW kernel, mounts the install CD
: and performs the install?
:I'm planning to see if any of the above are possible, but I'm hoping
:that someone else has already done the experimentation. I'd appreciate
:any help.
:--Nick
:(please email as well as post)
--
Jan Wortelboer, University of Amsterdam
Unix Kruislaan 403 Kamer F003 Phone: +31 20 525 7501
systems manager 1098 SJ AMSTERDAM Fax : +31 20 525 7490