A number of steps must be taken to get all this stuff to work
for you.

	- customize
	- get the ``check'' script from the Solaris cd.
	  (from the auto_install_sample directory)

What does it take to install a Solaris machine over the net?

[ Please feel free to correct ommisions and errors ]

This is a walkthru of the netboot/netinstall processes.
Each step lists a number of requirements for that step
to complete.

To get a fully automated installation procedure you
need to run NIS or NIS+, at least for the netmasks, hosts and timezone
map/table, perhaps even more.
With NIS+ you should take special care that all the needed maps
(netmasks, timezone et. al.) or readable for nobody.  That's who
the machine is at initail boot.
It may be possible to get around this limitation, but not w/o
copying the Solaris CD to disk and editing some of the
startup procedures.

See John DiMarco's contribution in README.install-nonis for
installing without either NIS or NIS+.

	- map its ethernet address to IP address
		- rarpd running on the physical ethernet
		- ethernet address/name entry in ethers table*
		- name to address maping in hosts table
	- boot via tftp
		- tftpboot running on same ethernet
		- right version of inetboot in /tftpboot
		- link from HEXADDR.KARCH and HEXADDR to
		  inetboot
	- getting bootparams
		- bootparam server on physical ethernet
		- bootparam entry in bootparams table
		  the key should be the name returned by gethostbyaddr()
		  on the address of the client.  On correctly configured
		  systems this is the FQDN
		  bootparam should have:
			- root (note karch!)
			- install_config (points to dir with rules
			  script)
			  may require root access export
			- install (root of Solaris CD)
			  REQUIRES EXPORT WITH ROOT ACCESS!!!
			  or (if on ufs disk) chmod -R a+rX <install_root>
			- terminal type (new in 2.4).  If you do't have
			  this booting will go much slower.
			  syntax: term=host:ttytype  (e.g., term=server:sun)
		- if you have a default route, the bootparam
		  daemon will pass that info on too
		  (note that the bootparamd will get confused
		  by routes to hosts and will pass those instead)
	- mounting the directories.
		- directories must exported to this client
		  (if client was added to netgroup, mountd may use
		  stale cached netgroup info.  Try killing/restarting
		  mountd and rerunning exportfs -a or shareall)
		- server can be on another subnet PROVIDED you have
		  a default route on the bootparam server on the
		  physical net the client lives on.
	- getting aditional system info
		- netmask - install a netmask for your network in the
		  netmasks table
		    e.g., 146.50.0.0	255.255.255.0
		  NB: the first entry must be your entire class
		  A, B or C net, not a subnet.
		- time - install a timehost alias in your hosts table/maps.
		- timezone - make a timezone table/map containing:

			timezone 	domainname

		    (e.g., MET fwi.uva.nl)
		- more ?
	- checking install profile:
		- need rule in rules for client
		- needs check script (pre-run check to generate
		  rules.ok file)
		- needs packages finish/start scripts.
		- may need root access on install root or
		  install config tree.

NB: if you export the Solaris CD AND the Solaris CD is
a writable disk of sorts, you must export READ-ONLY or
your installation might fail.  The symptom of such
a failure would be the sudden appearance of a hostname.le0
file on the file server and the inability of the client
to use the network (the internet interfaces would appear
to be missing, while in fact the hostname.le0 file is
missing)
Instead, I recommend chmod -R a+rX on the installation tree
and exporting w/o root access. (NB a+rX, NOT a+rx)

* where I speak of table I mean /etc file, NIS map, NIS+ table
or DNS.  Make sure you edit the one used by the daemon.

Casper Dik (casper@fwi.uva.nl)
