Solaris jumpstart process
- Client sends a RARP query asking for its IP address.
- Servers in.rarpd responds
- Client sends tftp request for inetboot.
- On server, Inetd starts in.tftpd that sends /tftboot/xx
- Client sends bootparam request
- Server responds... (/etc/bootparams)
- Client nfs-mounts it's root partition...
- Init (first process thats being started)
- Init runs /etc/rcS which reads bootoptions with /sbin/getbootargs and parses them. Creates /tmp/.install_boot if install is an argument and /tmp/.nowin if w is an argument.
- Runs nothing in runlevel 1 and starts /sbin/startup in runlevel 2.
- Because rootpartition is readonly is exists some links from /etc/ to /tmp so the scripts can create them. Some examples are nsswitch.conf, hosts and netmask. (it will overwrite them if you export readwrite and then only the first jumpstart will work so don't do that)
- Checks for a sysidcfg file, first on floppy and the bootparams or dhcp (nfs mount if found
- Starts Openwindows unless /tmp/.nowin exists
- Runs /sbin/sysconfig script
- Runs /usr/sbin/sysidnet which wants to know default locale, console type, hostname and ip-address.
- Runs /usr/sbin/sysidns which searches for a NIS, NIS+ server and if no one is found it asks some questions.
- Runs sysidsys which wants to know subnet mask, timezone, date, and time.
- Interactive questions is avoided with a sysidcfg file or information in bootparams and NIS. "* term=:vt100" in bootparams solves one question and with NIS maps netmasks, timeazone, locale answers.
- Runs /sbin/suninstall (also bourne shell script). If you look at the code, its really ugly (uses useradd to check if / is exported with root access)
- Mounts the jumpstart directory Uses /usr/sbin/install.d/profind to find if its available via floppy or nfs.
- Then it runs chkprobe to validate the contents of the jumpstart files. The installation will be interactive here if no matching rule in the rules file is found.
- Runs the begin script
- Installs the OS (as described in profile)
- Runs the finish script
- Reboots