Jumpstart on x86

About this page

This page is considered to be an addition to the Solaris advanced installation guide, based on real life experiences with Solaris. It is not intended as a replacement, since I don't see the point in retyping information which is already readily available to users and admins in the Answerbooks and documentation which comes with Solaris (note: not all the documentation comes with the "free" edition of Solaris, but I believe the information is available in the Answerbooks).

The information here has been gathered from a number of sources; partially from standard installation guides, partially from the web (including DejaNews as it was at the time, now Google groups) and partially from Sun's on Sunsolve. However, I was unable to find this kind of resource, where all the information was in one place. Hopefully this will remedy the situation.

It's worth pointing out this information is quite old, but I believe most of it (if not all) is still relevant. Of course, its relevance will decrease if Sun don't reintroduce Solaris/x86 after their 'postponement' on the release of Solaris 9.

Creating the boot floppy

Although a boot floppy comes with Solaris x86, floppies are subject to damage from magnets, moisture heat etc. Also, there are some changes which you have to make to the floppy which you might balk at doing to your only copy.

However, help is at hand. You can download a floppy image from Sun and write this onto a disk using these instructions.

With that done, there are some modifications to make. Firstly, mount the disk in any machine (I think it will work even in a DOS/Windows machine) and edit the solaris/bootenv.rc file and add:

setprop auto-boot? true
setprop auto-boot-cfg-num -1
setprop auto-boot-timeout 5

This enable the automatic bootup.

Next, you will have to boot with this disk at least once so as to enumerate the hardware and create a hardware profile on the diskette for future reference. Also, when presented with the boot options (CD, DISK or NET), change the autoboot settings to default to "NET" installs (you will get a boot path of something like /pci@0,0/pci8086,1@e; this will vary with different network cards and other hardware, so do different boot disks will be required for different hardware configs). With this saved, you should be able to simply put the disk in and it will select a network boot automatically.

Copying the CD image (and modifying it)

A standard part of all jumpstarts is the setting up of the install server. While our clients are both x86 PC's and Sun SPARC workstations, a single SPARC server can serve both of them. The only requirement for the install server is that the client can find a route to it. However, it is generally easier to work with an install server on the same subnet as the client. Since we only have two subnets and the server is multi-homed, this is not a problem.

Ideally, your server should have a fast ethernet connection and reasonably fast disk accesses. More memory is also a boon, for caching purposes. Processor speed is unlikely to be a bottleneck.

Mount the CD-ROM in the server (either locally or via NFS; it really doesn't matter) and go to the Solaris_2.7/Tools directory. There you will find the setup_install_server script, which you should run giving the target jumpstart directory as a parameter. Ours is set up as /export/jumpstart/install/x86/SunOS5.7 for Solaris 7/x86 clients. This allows us to add sparc clients and multiple OS versions on the same server.

It is also worth fixing the /etc/bootrc file to automatically launch a jumpstart install unless you might want to use the install server for maintenance on the clients (eg, for fixing a broken /etc/passwd). To do this, edit /export/jumpstart/install/x86/SunOS5.7/Solaris_2.7/Tools/Boot/etc/bootrc and as a minimum, comment out the "readt" line and replace it with ba0=2. Alternatively, you can delete most of the file, leaving only the beginning preamble and file config and the setprop boot-args install line making:

# retrieve boot-path constructed by MDB
set bootfile kernel/unix
getprop boot-path bp
getprop boot-args ba
set bootargs "${ba}"

# display current defaults
echo "                        <<< Current Boot Parameters >>>
Boot path: ${bp}
Boot args: ${ba}


setprop boot-args install
        echo '
<<<  starting automatic installation >>>

echo "Booting kernel/unix..."
run kernel/unix

You don't actually need the echo commands, but it may help in debugging. Before you make any radical changes to this file, you may wish to keep a backup copy somewhere.

Using sysidcfg to bypass X configuration

Normally, the install program will ask you to configure your X display before allowing you to start installations. However, it is possible to set these properties in a sysidcfg file. The information on how to create these files and setting the X properties is in the Advanced installation guide.

File last modified: Saturday, 06-Mar-2004 14:12:08 GMT