Sometimes Solaris installs get stuck on bpgetfile, particularly when installed on subnets other than 128.200.34. (Or more generally, making Solaris autoinstalls work off subnet) This memo details a series of workarounds that've been used successfully.
The files to be concerned with are, for example: Solaris-9-08-2003/auto_install/Solaris_9/Tools/Boot/usr/sbin/install.d/profind Solaris-9-08-2003/auto_install/Solaris_9/Tools/Boot/etc/rcS Solaris-9-08-2003/auto_install/Solaris_9/Tools/Boot/sbin/rcS Solaris-9-08-2003/auto_install/Solaris_9/Tools/Boot/sbin/sysidfind The two rcS files are linked (or at least identical?), but he profind and sysidfind files are unique.
In profind, in the bootparams shell function, you'll want a line like: set -- `/sbin/bpgetfile -retries 3 install_config 128.200.34.23`
In rcS, in the bootparams_find_and_mount_cdrom function, you'll want a line like: set -- `/sbin/bpgetfile -r 3 root 128.200.34.23` ...in that first one, make sure to add the "root" to it - that's the default keyword, but if you give an IP without the keyword, it's going to use the IP as the keyword instead of root. :-S ...and another like so, again in rcS: set -- `/sbin/bpgetfile -r 3 install 128.200.34.23`
In sysidfind, in the bootparams_sysid_config function, you'll want a line like: set -- `/sbin/bpgetfile -retries 3 sysid_config 128.200.34.23`
Also, there may be a snippet of code like this in ../sbin/rcS: # get the server's netmask if [ -x /sbin/get_netmask ]; then netmask=`/sbin/get_netmask $SERVER_IPADDR 2>/dev/null` if [ -n "$netmask" ]; then /sbin/ifconfig -a netmask 0x${netmask} >/dev/null 2>&1 fi fi ...comment it out! It tries to make things better, but instead make them worse. :)
Hopefully that's all you'll require. :)