Static IP

Solaris 11 network stack is using crossbow so network administration is completely different now. In order to switch from DHCP to a static IP, we need to do the following:

# netadm enable -p ncp DefaultFixed
# ipadm create-ip net0
# ipadm create-addr -T static -a 192.168.1.21/24 net0/v4

Enable root login

rolemod -K type=normal root

Install Gnome

pfexec pkg install --accept solaris-desktop

Automated Installer

If the installadm client fails to boot and you land at the grub prompt, you may be missing next-server directive in the dhcp configuration. This should follow the filename directive.

# vi /etc/inet/dhcpd4.conf
...

host 08002746E9C3 {
  hardware ethernet 08:00:27:46:E9:C3;
  if option arch = 00:00 {
    filename "0108002746E9C3.bios";
  } else if option arch = 00:07 {
    filename "0108002746E9C3.uefi";
  }
  next-server 192.168.2.1;
}

If you’re like me and prefer the command line to the GUI, here’s a trick and script to help you manage your Solaris VMs.

  1. Enable a serial port for the VM.
    1. Enable Port 1
    2. Port Number COM1
    3. Port Mode: Host Pipe
    4. Create Pipe
    5. Port/File Path: /tmp/vb-VM-NAME-console
  2. Perform a reconfiguration boot on the VM.
  3. Install socat on the host system

    sudo apt-get install socat
  4. Change the eeprom console device for the VM:

    eeprom console=ttya
  5. Change the /boot/grub/menu.lst for the VM:

    ...
    # To enable grub serial console to ttya uncomment the following lines
    # and comment out the splashimage line below
    # WARNING: don't enable grub serial console when BIOS console serial
    #       redirection is active!!!
    serial --unit=0 --speed=9600
    terminal serial
    #
    # Uncomment the following line to enable GRUB splashimage on console
    #splashimage /boot/grub/splash.xpm.gz
    #
    # To chainload another OS
    ...
  6. Bring down the VM:

    init 5
  7. Once this is done, we can now tell VirtualBox to boot the VM headless and connect with socat

    VBoxManage startvm node1 --type headless && socat -,raw,echo=0 /tmp/vb-node1-console

    I wrote a perl script to handle booting and connecting the console. Feel free to download: vb.pl


    $ vb.pl -h
    usage:

    vb.pl -l
    vb.pl -n VM -b
    vb.pl -n VM -p
    vb.pl -h

    -l : list VirtualBox machines
    -n : name of the VirtualBox machine
    -b : power on and boot machine
    -p : power off machine
    -h : this message.