Less Known Solaris features: Jumpstart Enterprise Toolkit - Part 9: Basic installation of a new system
At first we will do a really basic install. No tricks, just the pure operating system. Nevertheless this part will be a little bit longer as i will do a technical deep-dive into the process of installation in this example to show you the inner workings of JET with this installation as an example.
The template for the first installation
At first we have to create a template for the system. This is really easy:
Okay, this is too much … at start we don´t want all this modules right now. We can add them later, without loosing the configuration. Let´s just use the module for the basic configuration:
Even the basic template is quite long. I´ve reduced it for this tutorial by deleting all comments, all empy lines and all variables without a value.
Let´s dissect this template:
- Line 1-3: This lines are the most basic ones. The first line defines the architecture of the system. The next line is the Ethernet-Address of the new system. The third one specifies the new operating system.
- Line 4: This line specifies, how the new system gathers the most basic informations like it´s own IP.
- Line 5-16: Do you remember the part about \verb=sysidcfg=. The values for this files are defined in this part of the emplate. The
sysidcfgwill be filed with the values of this variables
- Line 17: This line tells ths system to supress the start of the windowing system.
- Line 18: Solaris needs a disk label on the disks for the system. This directive tells the system to write this label to all disks.
- Line 19-22: Another known phrase ... profile. Here you specify the partioning for the system and what packages will be installed on it.
- Line 23-end: There are several further statements. Please the original file for an explanation.
Okay after this step, we have to generate the configuration for the Jumpstart mechanism. This is really easy:
The nice thing about the
make_clientcommand: It doesn´t just generate the Jumpstart configuration. It checks for the most dumb errors like forgetting to share the directory of your Solaris media with NFS. So you can detect many problems at an early stage. You don´t have to wait until the jumpstart client comes up just to detect that there is no NFS or no DHCP config.
The generated Jumpstart configuration files
Okay, let´s look into the \verb=/tftpboot= directory at first. As the system uses
pxegrub we need a
In the GRUB configuration we not only load the Kernel, we additionally name the location of the Jumpstartserver, the exact location and name of the
sysidconfig file, the position of our installation media and at last the location of the miniroot. In our example all locations are NFS locations.
install_config directory is the first important location. We find the
rules.ok file there.
Okay, now let´s have a look in the specified profile file:
As i wrote before, we have to give the system an identity. The \verb=sysidcfg= is responsible for this task, thus we find such a file in our directory. Our new system will use it when the installation has completed.
The installation boot
This leaves you to do one thing. Configure the system to start with PXE in the BIOS of your system. And the system will boot via network and starts to install a system. After a while the installation will be complete. The system will boot up. One tip when you use Virtualbox for the installation. When the system tries to reboot the first time halt the system and switch off the network boot again. Otherwise the system will install again and again. BTW: The default rootpassword is
You can look for the logfile of the installation at \verb=/var/sadm/system/logs=:
Configuring disk (c0d0)
- Creating Fdisk partition table Fdisk partition table for disk c0d0 (input file for fdisk(1M))
type: 130 active: 128 offset: 16065 size: 33527655 type: 100 active: 0 offset: 0 size: 0
type: 100 active: 0 offset: 0 size: 0
type: 100 active: 0 offset: 0 size: 0
- Creating Solaris disk label (VTOC)
- Processing the alternate sector slice Creating and checking UFS file systems
- Creating / (c0d0s0)
Warning: 1608 sector(s) in last cylinder unallocated
/dev/rdsk/c0d0s0: 31744440 sectors in 5167 cylinders of 48 tracks, 128 sectors
15500.2MB in 323 cyl groups (16 c/g, 48.00MB/g, 5824 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
32, 98464, 196896, 295328, 393760, 492192, 590624, 689056, 787488, 885920,
Initializing cylinder groups:
super-block backups for last 10 cylinder groups at:
30776480, 30874912, 30973344, 31071776, 31170208, 31268640, 31367072,
31457312, 31555744, 31654176 Beginning Solaris software installation Installation of
was successful. Solaris 11 software installation succeeded Solaris 11 packages fully installed
SUNWsolnm Customizing system files
- Mount points table (/etc/vfstab)
fd - /dev/fd fd - no -
/proc - /proc proc - no -
/dev/dsk/c0d0s1 - - swap - no -
/dev/dsk/c0d0s0 /dev/rdsk/c0d0s0 / ufs 1 no -
/devices - /devices devfs - no -
sharefs - /etc/dfs/sharetab sharefs - no -
ctfs - /system/contract ctfs - no -
objfs - /system/object objfs - no -
swap - /tmp tmpfs - yes -
- Network host addresses (/etc/hosts)
- Environment variables (/etc/default/init) Cleaning devices Customizing system devices
- Physical devices (/devices)
- Logical devices (/dev) Installing boot information
- Updating boot environment configuration file
- Installing boot blocks (c0d0)
- Installing boot blocks (/dev/rdsk/c0d0s0)
Creating boot_archive for /a
updating /a/platform/i86pc/amd64/boot_archive</blockquote> </code>You see that the system has gone through a perfect automated installation.