The first thing you need to do is install the RoboInst server software on the machine we'll call the server. The server is the machine you'll be using to launch the installations. Specifically, you need to install the roboinst.sw.server subsystem on the server machine, using either inst or Software Manager.
If you decide to use the -f option, you'll probably want to copy the RoboInst installation package from the CD, to a directory on the server. For example, if you have the IRIX 6.5 Installation Tools CD in the CDROM drive, you can issue the following command:
# mkdir -p /usr/local/boot/roboinst/dist # cp /CDROM/dist/roboinst* /usr/local/boot/roboinst/distThen later, when you launch roboinst, you can use the -f /usr/local/boot/roboinst/dist option to automatically install the roboinst client software on each of your clients.
The syntax of the mrconfig file is somewhat involved, so it is described on it's own web page.
Once you've created your mrconfig file, you should put it in a directory that is tftp-accessible. For example, the default directory is /usr/local/boot/roboinst. Note: the mrconfig file does not have to reside on the same machine as the roboinst server. It can reside on any machine that is not a client.
The .index file contains size and checksum information that will be used by the roboinst software to verify that your mrconfig file has been copied to the client machines without any data corruption. The tool also checks for and reports some types of syntactical errors in the mrconfig file.
For example, if you put your mrconfig file in the directory /usr/local/boot/roboinst, then you would run the command:
/usr/etc/roboinst_config -c /usr/local/boot/roboinst
Creating a sub-directory per distribution CD is preferred, as that has 2 benefits over putting it all in one directory:
See the Installation and Licensing Guide for more information.
This step is not be required if you decide to remote-install from CD by putting the CD's in various drives around your network, and then using the command roboinst -b server:/CDROM/dist as the boot location. Your mrconfig file will have to specify each of the CDROM drives that will be used.
This may involve editing the tftp entry in the /etc/inetd.conf file, and executing a "killall -HUP inetd" command while logged-in as root.
Here's an example. Let's say you create a directory called /var/tmp/roboinst and put your mrconfig file in that directory. Then, you would edit the /etc/inetd.conf file and edit the tftp line to look like this:
tftp dgram udp wait guest /usr/etc/tftpd tftpd -s /usr/local/boot /usr/etc/boot /var/tmp/roboinstThen, force inetd to re-read the inetd.conf file, by issuing the following command while logged-in as root:
killall -HUP inetdAlternatively, if you put your mrconfig file in the directory /usr/local/boot/roboinst, then you would probably not have to modify /etc/inetd.conf if the -s /usr/local/boot option is already present in /etc/inetd.conf (which it is by default).
For more information, see the tftp manual page, and the comments about tftp in the /etc/inetd.conf file.
DHCP is the Dynamic Host Configuration Protocol, described in RFC 2131. DHCP allows you to allocate hostnames and network addresses automatically. See the dhcp_bootp man page and the IRIX Admin: Networking and Mail online book for DHCP server configuration instructions.
RoboInst can determine the configuration server:/directory from DHCP. It uses tftp to fetch the host:/file pointed to by the ExtensionsPathname DHCP tag. This is the pro_extensions_pathname item in the Proclaim configuration file, and should reference a tftp-able file that contains lines like:
# SGI extensions to dhcp_bootp attributes pro_roboinstdir : 10.62.51.86:/var/tmp/roboinst
For miniroot installations with RoboInst you'll need to make sure bootp is operating on your network. Specifically, bootp will be used to load the miniroot ("sa" file) and the miniroot kernels (miniroot/unix.* files) that are distributed on the Irix 6.5 Installation Tools CD, under /CDROM/dist/sa and /CDROM/dist/miniroot/unix.*.
If you are loading the miniroot across networks, bootp forwarding must be enabled on your routers.
Once you've prepared your mrconfig file, and setup BOOTP and TFTP on your network, you're ready to initiate the install, in one of three ways:
The server machine can be any machine that has the roboinst.sw.server subsystem installed. If the client machine is up and running on the network, has a .rhosts entry or no root password, and is running IRIX 5.3 or later, you can initiate the installation as follows while logged-in as root on the server:
roboinst -b dist:/CDROM/dist -c server:/configdir \ -f dist2:/CDROM/dist/roboinst -t now \ client1 client2 ...Where the -b argument is the directory where you are booting the sa file from, and the -c argument is the directory containing your "mrconfig" file. The -t argument specifies when to the install should begin.
The -f argument causes the RoboInst client software (roboinst.sw.client subsystem) to be installed on the client machine if necessary.
More information about the /usr/etc/roboinst script is provided in the roboinst(1m) manual page that is included in the roboinst.man inst package.
Before attempting this, you must run the roboinst_config program to generate a .index file in your configuration directory on the server:
roboinst_config -c /configdirNote: you must re-run this command each time you change the contents of your configuration directory, unless you disable checksum- and size- checking by removing the "checksum" and "size" attributes from the the .index file.
2. Initiate the install from the client
You can initiate RoboInst from the client machine itself, as long as you have installed the roboinst.sw.client subsystem as described above. The only difference is that the client name is omitted.
roboinst -b dist:/CDROM/dist -c server:/configdir \ -f dist2:/CDROM/dist/roboinst -t now
3. Initiate the install from the PROM monitor of the client
Finally, if the client is not up and running on the network, you can initiate a roboinstall from the PROM monitor of the client as follows, with a boot command and the argument mrmode=custom.
Note: pay special attention to the disksetup keyword. Use the disksetup keyword only if you plan to repartition the disk drive since it will normally cause all current contents of the root drive to be lost.
The final argument, mrconfig=addr:/pathname is used to specify the ip address and pathname of the directory containing your mrconfig file.
boot -f bootp()server:/path/sa(sashARCS) mrmode=custom disksetup=true mrconfig=130.62.51.86:/var/tmp/roboinst boot -f bootp()server:/path/sa(sashARCS) mrmode=custom mrconfig=130.62.51.86:/var/tmp/roboinst boot -f bootp()server:/path/sa(sashARCS) mrmode=custom boot -f bootp()server:/path/sa(sash64) mrmode=custom mrconfig=130.62.51.86:/var/tmp/roboinst boot -f bootp()server:/path/sa(sash64) mrmode=customIn the examples above, it is only necessary to use an ip-address for the configuration server if it is different from the boot server. If these two servers are the same, then a hostname can be specified:
boot -f bootp()server:/path/sa(sashARCS) mrmode=custom mrconfig=server:/var/tmp/roboinst
Note: the boot command may fail if you have not properly set your netaddr nvram variable. Use this prom command to display the current value:
>> printenv netaddr netaddr=130.62.51.201If it is not set correctly, or if it is set to 192.0.2.1, you will need to set it to the appropriate value for your network, with a command such as:
>> setenv netaddr 143.69.51.201Contact your network administrator if you are not sure what the appropriate address is. On some networks, if you have a properly configured bootp server with your machine listed in its /etc/bootptab file, your netaddr variable will be set automatically if you first unset it with this command:
>> unsetenv netaddrand then use the boot command described above.