Hipster Handbook - Getting Started with OpenIndiana


This is a DRAFT document which may contain errors!

Help us improve and expand this site.

Please see the Contrib section for more details about joining the OpenIndiana Documentation Team.


Welcome to the OpenIndiana Handbook!

This collection of documents is aimed at providing a comprehensive source of guidance for both new and seasoned Unix administrators. While our aim is to address as many facets of OpenIndiana use and administration as possible, some topics are simply too complex and beyond the scope of an introductory end user handbook. In such cases external sources of information will be provided in the form of references to other web sites, man pages, or printed books.



Commandlines starting with a # character means that they should be run as root. Most of these examples can also be invoked with pfexec(1) or sudo(1m) instead.

You can login as root using su(1m).

An example of a commandline intended to be invoked as root:

# dd if=image.usb of=/dev/sdb

Commandlines starting with a $ character means that they should be run as a regular user.

An example of a commandline intended to be invoked as a regular user:

$ prstat

Hipster Software Releases

Approximately every six months, the OpenIndiana project releases a snapshot of the Hipster rolling release branch. Ideally suited for both workstations and servers, simply choose the installer type which best serves your needs.

Workstation Server Minimal
Live installer (Mate desktop) Text Only (No GUI) Text Only (No GUI)

For a full list of links to the various installer images, visit the OpenIndiana Downloads page.


  • The legacy oi-dev-151x branch is no longer maintained.
  • For details on installing/upgrading legacy OpenIndiana dev, see this page


Hipster is a rapid development branch where software versions are frequently updated. While every package is tested to ensure stability, caution is nevertheless warranted when deploying Hipster into mission critical production environments.

System Requirements

Installation type CPU Disk Space Memory (RAM)
Server 64 Bit 16GB (or more) 2GB (or more)
Desktop 64 Bit 20GB (or more) 4GB (or more)


  • For the best performance (and to reduce the possibility of disk swapping), allocate 4GB RAM or more.
  • For desktops, ensure total system memory (RAM + swap) are at least 4GB or greater.
  • The default size of the OpenIndiana swap file is 50% of installed memory.
  • Minimum and maximum default swap allocations are 512MB and 32GB respectively.

Exploring OpenIndiana Hipster

There are several ways in which you can explore OpenIndiana without having to perform a bare metal install.


While the Live Media environment provides an opportunity to use and explore many of the features of OpenIndiana, it is not possible to install additional software into the Live Media environment.

Live Media

Available in both DVD and USB formats, the OpenIndiana GUI installer also functions as live media. This allows you try OpenIndiana without the need to install it. Exploring OpenIndiana via the live media is an especially good way to test your hardware compatibility prior to installing the operating system.

Virtual machines

OpenIndiana is known to work with the following virtualization software:

Virtual machines provide a PC emulation layer in which you install OpenIndiana just as you would on physical 'bare metal' hardware.


Vagrant provides an excellent way to explore OpenIndiana as it fully automates the process of bringing a virtual machine online. OpenIndiana comes with an official Vagrant box, which can be used for exploring OpenIndiana before installing it.


At this time, the OpenIndiana Vagrant box is only available in the form of a text based console. But because Vagrant supports X11 forwarding over ssh, graphical user interface applications can still be ran on this vagrant box over ssh. Additionally, Virtualbox is the only currently supported Vagrant provider. In the future the OpenIndiana project hopes to provide additional Vagrant box options.


Vagrant is officially available for Mac OS X, Windows and Linux. Vagrant is currently not packaged for OpenIndiana itself, but it can be compiled from source, and it works on OpenIndiana itself as well.


Older versions of Vagrant (as packaged by many LTS Linux distributions), may not support downloading the Vagrant box instance. To work around this limitation, be sure to remove any previously installed instances of Vagrant and obtain the latest Vagrant software directly from the Vagrant website.

$ mkdir ~/openindiana_test
$ cd ~/openindiana_test
$ vagrant init openindiana/hipster
$ vagrant up --provider virtualbox

This will create a file titled Vagrantfile under the ~/openindiana_test directory. The Vagrant box will also be booted.

$ vagrant ssh
$ vagrant destroy

Preparing to Install Hipster

Prior to installing OpenIndiana:


Installing OpenIndiana on unsupported hardware may cause excessive CPU usage, instability, or other problems.

Please be sure to consult the hardware compatibility list (HCL):

Backing up data


Before attempting to install OpenIndiana, first ensure you backup any important data. Do not save the data on another partition or on another disk within the same system. Instead save the data to an external device such as a USB hard drive, or external system (network backup service, or a networked system). Always verify your backed up data.

Deciding where to install OpenIndiana

By default the OpenIndiana installer creates an EFI partition using a GPT partition table. Using this option, OpenIndiana will use the entire disk. No other operating system can share the same disk.

Optionally you may use an existing zpool.

Another option is to use a legacy MBR partition. MBR partitions will allow you to create multiple partitions. MBR will also support dual booting another operating system.

Another option is to install to a virtual machine.

Gathering network information

If your network uses a DHCP server, OpenIndiana can be configured to automatically obtain it's network information. If a DHCP server is not available, then you will need to manually configure your network settings.

Obtain the following information:

Downloading the software

For a full list of links to the various installer images, visit the following page:

For a complete list of alternate mirrors (Asia, Europe, North America, etc.)

Download example:

$ wget "http://dlc.openindiana.org/isos/hipster/20170502/OI-hipster-gui-20170502.iso"
$ wget "http://dlc.openindiana.org/isos/hipster/20170502/OI-hipster-gui-20170502.iso.sha256sum"

Checking the MD5/SHA

Checksum verification example:

$ sha256sum --check OI-hipster-gui-20170502.iso.sha256sum
OI-hipster-gui-20170502.iso: OK

Creating a Hipster DVD


UNIX Console

The command to use for writing a CD or DVD is cdrecord. The syntax of the command is: cdrecord dev=device imagefile.iso


# cdrecord dev=/dev/rdsk/c4t1d0p0 imagefile.iso

# cdrecord dev=4,1,0 imagefile.iso


If you are re-using a DVD-RW, be sure to blank it first.

For example: cdrecord dev=/dev/rdsk/c4t1d0p0 blank=fast

Warning: Blanking the disk will destroy all data on the disk.

Locating your DVD or CD writing device:

For example:

$ cdrecord -scanbus
Cdrecord-ProDVD-ProBD-Clone 3.00 (i386-pc-solaris2.11) Copyright (C) 1995-2010 Jörg Schilling
Warning: Using USCSI interface.
Using libscg version 'schily-0.9'.
        4,0,0   400) 'ATA     ' 'HITACHI HTS72321' 'C50B' Disk
        4,1,0   401) 'HL-DT-ST' 'DVDRAM GSA-U20N ' 'HX12' Removable CD-ROM
        4,2,0   402) *
        4,3,0   403) *
        4,4,0   404) *
        4,5,0   405) *
        4,6,0   406) *
        4,7,0   407) *


When using cdrecord -scanbus to determine the device name, specify the device using the SCSI bus ID.

For example: cdrecord dev=4,1,0 imagefile.iso

For example:

$ rmformat -l
Looking for devices...
     1. Logical Node: /dev/rdsk/c4t1d0p0
        Physical Node: /pci@0,0/pci17aa,20f8@1f,2/cdrom@1,0
        Connected Device: HL-DT-ST DVDRAM GSA-U20N  HX12
        Device Type: CD Reader
        Bus: <Unknown>
        Size: 810.2 MB
        Label: <None>
        Access permissions: Medium is not write protected.


When using rmformat -l to determine the device name, specify the device using the Logical Node.

For example: # cdrecord dev=/dev/rdsk/c4t1d0p0 imagefile.iso


Use the application specific to your desktop (Brasero, K3B, etc.)


Linux Console

The command to use to write a CD or DVD on Linux is wodim.

The syntax of the command is: wodim -v dev=device -dao imagefile.iso

For example:

# wodim -v dev=/dev/sr0 -dao imagefile.iso

Locating your DVD or CD writing device:

For example:

$ lsblk
sda      8:0    0 232.9G  0 disk
├─sda1   8:1    0 227.8G  0 part /
├─sda2   8:2    0     1K  0 part
└─sda5   8:5    0     4G  0 part
sr0     11:0    1  1024M  0 rom

Linux GUI

There are several different CD/DVD writer applications available for Linux.

Desktop Application
GNOME Brasero

Other desktops may offer additional choices. For further information, please consult the help documentation for your Linux distribution.

Mac OS X

MAC Console

# growisofs -Z /dev/dvdrw=image.iso


Applications > Utilities > Disk Utility


Windows Console

Isoburn is a Windows GUI utility which can be launched via the command prompt as follows:

ISOBURN.EXE [/Q] [<drive letter>:] <disk image file name>

Windows GUI

From within Windows Explorer:

  • Browse to and select the ISO image file
  • Right click the ISO image file
  • From the right click menu, select "Burn Disk Image"

Creating a Hipster USB Drive


Old versions of OpenIndiana Hipster prior to the 2016.10 release (including legacy oi-dev-151x) require a different procedure for for creating bootable USB flash drives, see this page for details


Although that the current OpenIndiana Hipster releases support UEFI without secure boot, old versions of OpenIndiana Hipster did not support UEFI.

  • If you intend to install an old version of OpenIndiana Hipster on a system which supports UEFI boot, please boot the system in legacy (CSM) mode.


Identifying the path to your USB device

Operating system Command Device
BSD camcontrol devlist /dev/da*
illumos/Solaris rmformat -l /dev/rdsk/c*t*d*p0
Linux lsblk /dev/sd*
MAC OS X diskutil list /dev/disk*


When issuing the USB copy command:

  • Make sure you identify the correct storage device as all data on the device will be erased.
  • Be sure to specify the entire USB device without appending any partition or slice number.

For example:

Example Device
Correct /dev/sda
Incorrect /dev/sda1
Correct /dev/rdsk/c0t0d0p0
Incorrect /dev/rdsk/c0t0d0p1
  • In illumos, the whole disk device name is depending on partition type.

    • On x86, the whole disk name ends with p0
    • In the case of a GPT (EFI) partition, the whole disk device name ends with dX.
    • on sparc, the disk has usually VTOC partition and whole disk device name usually ends with s2.
    • Note, if on x86 and an MBR+VTOC is used, then the s2 device is addressing the Solaris2 MBR partition, not the whole disk.
  • If any file systems are located on the USB storage device, they must first be unmounted.

    • Desktops may automatically mount removable devices.
    • As necessary, select any desktop icons for the USB device and issue an 'Eject' or 'Unmount' command.
    • For Linux, use umount <path>.
    • For illumos/Solaris use rmumount <path>.
    • for MAC OS X use diskutil unmountDisk <path>.
    • Verify using the mount command.

BSD/Linux/OS X

In the command below, replace X with the appropriate letter for your USB device. At least on Linux and FreeBSD you can add status=progress operand to print basic transfer statistics, refer to dd(1) man page of your platform for more information.

# dd bs=4M if=./image.usb of=/dev/sdX && sync


In the command below, replace each X with appropriate number for your USB device.

# /usr/bin/dd if=./image.usb of=/dev/rdsk/cXtXdXpX bs=4194304


Newer releases can be written using Win32 Disk Imager.


By default the Win32 Disk Imager utility is looking for .img files and won't see files with a .usb extension. To resolve this issue, be sure to select the *.* (all files) option from the file extension drop down menu.

Booting the Hipster Installer

Insert the bootable media (DVD or USB flash drive) and boot (start/restart) your computer. When you see the OpenIndiana boot menu, select a boot entry, and press the enter key to start OpenIndiana on your computer. As it runs, you will be prompted with a few questions.


For the computer to successfully boot from the media, you may be required to perform one of the following tasks:

  • Specify the appropriate boot device by pressing the boot order hotkey.
  • Change the boot device order found in your computer's system BIOS configuration.


OpenIndiana supports UEFI (Unified Extensible Firmware Interface) without secure boot:

Secure boot (UEFI boot path validation) must be disabled (if it is enabled by default) because UEFI secure boot is currently not yet supported.

For further information, consult the manufacturers documentation for your computer hardware.

Booting the OpenIndiana installer on virtual hardware

The most efficient way to boot a virtual machine is to boot directly from the DVD ISO file. Alternately, you may use host to guest DVD/USB passthrough to boot from physical media. See the notes below for optimizing OpenIndiana for several popular hypervisors.

Hypervisor Configuration Notes
Virtualbox OS type = Solaris 11 64-bit
Vmware player OS type = Solaris 11 64-bit
KVM OS type = Sun OpenSolaris
Disk = SATA
Remove USB Tablet
NIC = e1000
sound = AC97
Processor = Copy host CPU configuration
Disable CPU feature 'xsave'
Video = QXL (QXL driver not supported, but the extra video memory helps)
Display = VNC (Spice not supported)
Hyper-V Select single CPU, generation 1 VM, and legacy NIC.


The OpenIndiana Project recommends the Oracle Virtualbox hypervisor as it provides the best support for illumos based distributions such as OpenIndiana.

If you experience difficulties booting OpenIndiana on virtual hardware, or find virtual hardware devices which are either not properly recognized, or fail to function as expected, please report the problem to the upstream illumos Project. You may do so by submitting an issue using the illumos project bug tracker.

The OpenIndiana installer boot menu

Introduced with the Hipster 2016.10 release, the FreeBSD boot loader has been ported to OpenIndiana.

The new boot loader provides many new capabilities:


The OpenIndiana installer will automatically boot option # 1. Boot Multi User within 10 seconds.

  • To pause the Autoboot timer, press the Space key.


The OpenIndiana installer boot menu offers multiple choices.

Main Menu Option Description
1. Boot Multi User Normal boot (desktop or shell)
2. Boot Single user Boots to rescue mode
3. Escape to loader prompt Boots to forth shell
4. Reboot Restarts the computer
5. Configure Boot Options Enters into boot options menu
6. ChainLoad disk0 Boots the OS found on 1st disk
7. Select OI Extras Enters into extras menu

Select your boot option by pressing the associated number key.


Boot Option Menu Description
1. Back to Main Menu Returns to main menu
2. OsConsole Provides several tty options
3. ACPI Toggles ACPI to ON, OFF, MADT, or Legacy
4. Single User Toggles single user mode
5. Verbose Toggles verbose boot messages
6. Reconfigure Reconfigures hardware
7. kmdb Toggles Kernel Mode Debugger
8. Debug Toggles debug

Toggle (enable/disable) these options by selecting the associated number key.

For example:


OI Extras Menu Description
1. Back to Main Menu Returns to main menu
2. Vesa driver Forces the vesa driver
3. Text console Enables the text console
4. Enable ssh Enables ssh server for live desktop

Toggle (enable/disable) these options by selecting the associated number key.

For example:


Even when booting the Mate Live Image, selecting option # 3 (text console) option will boot the system to a text based console. The logon credentials required to access the shell are jack/jack.

Selecting keyboard layout and display language

Select keyboard layout

OpenIndiana offers 47 different keyboard layouts.

Once you have selected a keyboard layout, press the Enter key to continue.

Select display language

OpenIndiana offers 22 different language options.

Once you have selected a language, press the Enter key to continue.


After selecting the keyboard layout and language, OpenIndiana will begin to search for hardware and configure devices. When the configuration process is complete, the system will load to either the Mate desktop, or a logon console.

The live media desktop

live desktop

The Live Media DVD and USB installers provide a graphical live environment where you can explore OpenIndiana and test the compatibility of your hardware. When using Live Media, no changes are made to your system unless you explicitly choose to install OpenIndiana or alter the configuration of your disk using the Gparted Partition Editor.

The following options are available to you from the Live Media Desktop:

Using the device driver utility

Available from the Live Media desktop, the Device Driver Utility may be used to scan your hardware for compatibility. The utility generates a list of hardware devices along with the corresponding driver in use for each device. The utility will also show you devices for which there is no driver loaded. The device driver utility allows you to check whether your hardware requires additional drivers.

Using the Gparted Partition Editor

The Gparted partition editor allows you to add, remove, or resize partitions in preparation for installing OpenIndiana.


Editing partition tables is a potentially destructive process. While you are unlikely to physically damage the disk, there is a risk of losing data. Before using the partition editor, please be sure to back up your data to a remote system or device.

Live media authentication

Installing OpenIndiana


For some guidance writing this section:


Please be advised of the following important considerations:

  • The installation overwrites the whole disk layout if one of the following is true:
    • The disk table cannot be read.
    • The disk was not previously partitioned.
  • If an existing Solaris fdisk partition is on a multiboot system, and the user makes no modifications to the existing partitions, the installation overwrites the Solaris fdisk partition only. Other existing partitions are not changed.

Installing OpenIndiana from live media

To install OpenIndiana from Live Media, you have two options.

Each of these options is represented by a desktop icon. Select the appropriate installer option by clicking the corresponding desktop installer icon.


From Hipster 2016.10 release onwards

Selecting the Install OpenIndiana using the Text Installer desktop installer option provides new installation capabilities.

In addition to installing OpenIndiana to single disks, the following are now also supported:

  • Mirrors

Yes, that's right, you can now install the rpool to logical disk arrays, created during the installation process.

However, please keep in mind the following:

  • This capability applies only to the python based installer which runs within a console window.
  • The graphical installer does not yet have this capability.

Install OpenIndiana (graphical installer)

To launch the OpenIndiana graphical installer, locate and double click the desktop icon labeled: Install OpenIndiana.

As shown below, and in the subsequent screens, the installer starts a new process, running within it's own window.

First install screen

When the installer starts, the first screen you will see is the welcome page. Please take some time to read the additional guidance provided below. When ready to begin, click the Next button to continue on with the installation process.


Please disregard the reference to the getting started guide. This guide no longer exists on the Live Media installer.

A bug has been opened for this issue and a new getting started guide is being created.

Also, when clicking the link for the release notes, please click it only once and wait until Firefox finishes loading. The Firefox web browser will open to the 'OpenIndiana Releases' page of the OpenIndiana Wiki. This however, is not where you will find the release notes. A bug has been opened to correct this issue.

The release notes may be accessed in one of the following ways:

Disk selection and partitioning menu -1

The top portion of the disk selection and partitioning screen shows all the disks found on the system, including removable disks. Each disk is represented with a disk icon. Below each disk icon the installer displays the size of each disk in Gigabytes (GB) and the disk type (IDE, ATA, etc.). Within this upper panel, select the disk where you wish to install OpenIndiana. The lower portion of this screen displays partitioning options.

Within the lower panel, select one of the following options:

Option Description
Use the whole disk When the Use the whole disk option is selected, the entire disk is used for the installation. For the selected disk, all existing partitions and any data which they may contain, will be overwritten with the OpenIndiana operating system.
Partition the disk When the Partition the disk option is selected, the bottom portion of this panel displays the disk partitioning layout. Prior to selecting this option, please be sure to review all the informational notes and warnings concerning the use of the partitioning option.

Disk selection and partitioning menu -2 If you choose to partition the disk, you have additional options as shown above. Please take some time to read the additional guidance provided below. When you have revised the partitioning as needed, click the Next button to continue.


Regardless of the partitioning option chosen for the installation, manual control of the OpenIndiana file system layout is not supported. During the installation, the Solaris fdisk partition is reformatted with a default ZFS file system layout. All existing file systems on the Solaris partition are destroyed. The installation uses a Solaris fdisk partition to create a ZFS storage pool.


If you choose to partition the disk, review the following partitioning guidelines, then revise the partitioning panel settings as needed.

  • Only one Solaris partition is allowed. If an existing Solaris partition is available, that Solaris partition will be the target for the installation. Or, if you do not have an existing Solaris partition, you can change any existing partition to a Solaris partition.
  • You can resize existing partitions, delete partitions, and create new partitions in this panel. For this option, one existing Solaris partition must be available as the target for the installation.
  • If you used a third-party partitioning tool such as GParted, then the Disk panel displays a partition named Linux-swap on which you can install OpenIndiana.
    • In this panel, use the drop-down list for the Linux-swap partition name to change the partition name to Solaris.


If the existing partition table cannot be read, a warning is displayed, and the panel displays proposed partitioning. In this case, all data on the selected disk is destroyed.

If the table can be read, then the following information applies:

  • The partitions are displayed in physically sequential order as they are laid out on the disk.
  • Resizing a Solaris partition destroys the data on that partition and all physically subsequent partitions.
    • Existing data is not moved to conform to a new partition layout.
    • However, resizing the last partition or appending a new partition does not affect the data that already exists in other partitions.
  • Non-Solaris partitions cannot be resized.
  • To make additional space available, you can change an existing partition to Unused.
    • However, if you change an existing partition to Unused, all subsequent non-Solaris partitions are also changed to Unused.
  • New partitions can only use the available space that follows the last defined partition.
  • The installer cannot utilize unallocated chunks of space between existing defined partitions.
  • Use the fdisk(1M) command to create new partitions that use the free space between exiting partitions.

Time zone, date and time

This screen enables you to type the correct time zone, date, and time for the system to be installed. The top half of the panel displays a world map with major cities marked. The bottom half of the panel provides drop-down selections. You can choose the time zone either from the map or from the drop-down list.

If you click on the map, but not on a city, the map automatically magnifies that area. You can click on a location within that magnified area. You can drag the cursor to move the magnified area to a different location on the map. When you select a site on the map, the drop-down selections automatically populate with the time zone, date, and current time for that map selection. You can right-click to undo magnification.

Select your region, then select Location. Finally, select time zone. The options for each drop-down field are determined by the selection made in the prior drop-down field.


After making your selections, you may also edit the default date and time that is provided.

When the settings are correct, click Next to continue.


This screen enables you to select a language and locale. These selections determine the language support, the default date and time, and other data formats for the installed system.


Any time that you log in to the installed system, you can change either the locale for that particular session or the default locale by using the Options button in the Login dialog box.


Review the following guidelines:


If you do not create a user account in this panel, root is set up as a normal account on the installed system, instead of as a role. This is the only situation where you can log in to the installed system as root.

Installation summary

This screen summarizes the configuration options which will be used to perform the installation. Be sure to take the time to review this summary. If a configuration option needs to be changed, you may do so by clicking the Back button. If the installation options are acceptable, click the Install button to begin the installation.


Once you have clicked the Install button, the option to Quit the installation is no longer available. Do not attempt to interrupt an installation already in progress or the system will be left in an inconsistent state.

Installation in progress

During the installation, a progress bar is displayed. The time required to complete the installation is dependent on your hardware.

Completion summary

The final screen displays completion messages. From within this panel you may review the installation log. To view the installation log, click the link titled OpenIndiana Installation Log. The installation log will open in a new window.

Installation log

Using the slider located on the right side of the log viewer window, you may scroll up and down to view the entire log file. After reviewing the log, you may exit the log viewer by clicking the Close button.

Congratulations! You have completed the installation of the OpenIndiana Hipster operating system.

From here you now have several options:


To prevent the Live Media from starting again after the reboot, eject the Live Media as the next boot begins. Or alternately, when presented with the Live Media installer options menu, select the ChainLoad diskN option.


After you have installed OpenIndiana, if you have another operating system installed, you might need to update the loader configuration. Usually you can achieve the desired effect by chainloading partitions with other operating systems. To configure the illumos loader to show an additional entry for chainloading another loader, create a file in /boot/conf.d directory, containing the string chain_disk="disk0:", where disk0 is the name of disk or partition to boot from. You can get the list of available disks from loader prompt using lsdev command.

If you use GRUB2, you can configure it to show an entry for chainloading the illumos loader. Add the following to a file in the /etc/grub.d directory (usually the placeholder '40_custom' file can be used) of the Linux installation:

menuentry "Chainload OpenIndiana" {
    set root=(hd0,2)
    chainloader +1

where hd0,2 is the location of the partition or disk containing the illumos loader. You can list detected disks/partitions from the GRUB prompt using the ls command. From Linux you can run sudo fdisk -l to list disks and partitions. The partition 'sda2' would map to 'hd0,2' in GRUB. After making changes you must run sudo update-grub, this updates the auto-generated GRUB configuration stored in /boot/grub/grub.cfg.

Install OpenIndiana using the Text Installer


The text based guided install starts and runs within a command line console. Navigation within the installer is performed by pressing specifically designated navigation keys (F2, Tab, etc.).

The instructions for performing a text based install apply to the following installation scenarios:

  • Launching the text based installer icon from the Live Media (GUI) desktop.
  • Beginning a text based installation by booting from the OpenIndiana text based installer.

From the 2016.10 release onwards

Mirrors and RAIDZ are now supported install options!

  • To install to a mirror, select 2 or more disks.
  • To install to RAIDZ, select 3 or more disks.

GUI Desktop may be added post-installation

  • To install MATE Desktop Environment (using a metapackage) and enable graphical login
pkg install mate_install
pkg uninstall mate_install
svcadm enable -r /application/graphical-login/lightdm
init 6

Welcome Screen

The text based installation process begins with the welcome screen, which provides the following information:


At any time during the installation process you may press the F6 key for context specific help.

Text installer allows you to do either usual installation or installation to existing ZFS pool.

If you are doing clean installation, when ready to begin, press the F2 key to continue.

If you intend to install OpenIndiana to existing ZFS pool, see Install OpenIndiana to existing ZFS pool.


On this screen the installer displays the disks which have been discovered and are available for installation.

Once you have selected the appropriate disk, press the F2 key to continue.


While the minimum and recommended disk sizes are technically accurate, they do not take into account periodic disk usage growth resulting from:

  • ZFS snapshots
  • Installation of additional software
  • New boot environments automatically created when running the pkg update command
  • New backup boot environments automatically created when running the pkg install command

To account for this, your disk should be at least 20GB or more.

GPT Warning

After pressing the F2 key, you may be presented with warning shown above. If reformatting the entire disk is acceptable with you, press the Tab key to select continue and then press the Enter key. Otherwise press the Enter key to cancel.

If you select cancel, you will have the following options:


If your disk contains a GPT disk label, the entire disk will be used.

  • Any existing GPT partitions will be destroyed
  • A new single GPT partition will be created.

This warning serves as your advisory.

ZFS) rpool options


This screen will be available only when 2 or more disks have been selected.

Select between the options using the up and down arrow keys.

When ready, press the F2 key to continue.

Fdisk Partitions


This screen will be available only when a single disk has been selected.

In this screen you are presented with the following choices for how to partition the disk:

Select between the options using the up and down arrow keys.

When ready, press the F2 key to continue.

Select Partition


This screen will be available only when the Use a partition of the disk (MBR) option has been selected.

This screen provides the following options:

Navigate the fields using the arrow keys. Change a partition type using the F5 key.

When ready, press the F2 key to continue.

Network 1


We have illustrated this screen twice as 2 different tasks are required.

In this step you will configure the hostname.

At the top portion of the screen specify the computer name (system hostname) you wish to use. By default the computer name is openindiana. Using the backspace key, you may remove the default hostname and provide another hostname.

When ready, proceed to the next screen shot below where you will be provided additional guidance for completing this screen.

Network 2


We have illustrated this screen twice as 2 different tasks are required.

In this step you will select your network configuration type.

After configuring the system hostname, navigate to the lower portion of the screen to select your networking configuration.

From the lower portion of this screen you have the following choices:

Select between the options using the up and down arrow keys.

When ready, press the F2 key to continue.

Network 3


This screen will be available only when the Manually*** configure network option has been selected.

  • The values illustrated above are for example only, do not use them.
  • Substitute each field with correct values for your network.

In the fields provided, enter in the following information:

Navigate between the fields using the up and down arrow keys.

When ready, press the F2 key to continue.

Time Zone - Region

The next few screens illustrate time zone configuration.

Select your time zone region by navigating up and down with the arrow keys.

When ready, press the F2 key to continue.


When selecting the UTC/GMT*** time zone region, only this screen will be presented.

Time Zone - Location

Select your time zone location by navigating up and down with the arrow keys.

When ready, press the F2 key to continue.

Time Zone

Select your time zone by navigating up and down with the arrow keys.

When ready, press the F2 key to continue.

Date and Time

In this screen you may reconfigure the date and time as necessary.

Using the up and down arrow keys, navigate between the fields.

When ready, press the F2 key to continue.


In this screen you are presented with several fields to configure.

Using the up and down arrow keys, navigate between the fields and enter the required information.

When ready, press the F2 key to continue.


  • The first user created on the system is granted the root role via Role Based Access Control (RBAC).
  • In effect this means the following:
    • Without any further configuration, the specified user will be granted the authority to perform administrative task by assuming the root role as needed.

Please take note the following additional information:

  • Immediately after installation the root password is automatically expired and needs to be changed prior to being used for any administrative task.

Installation Summary

Now that you have completed the installation configuration, you are presented with an Installation Summary.

If these configuration settings are correct, you may begin the installation by pressing the F2 key.

Transferring Contents

Depending on the speed of your computer, the installation may take several minutes to complete. Installation progress is measured by means of a status bar.

Installation Complete

When the installation is complete, a summary screen is presented.

Installation Logs

If you chose to view the installation logs, you will be presented with the screen above.

To return to the summary screen, press the F3 key.

Installing OpenIndiana using the text installer (DVD ISO or USB)

The text installer DVD ISO and USB installer options are not graphical nor do they provide a live environment. When booting from the text based installer, you are presented with the following choices:

The procedure for installing from the text based installer follows the same process as the previously described Install OpenIndiana using the Text Installer

Install OpenIndiana to existing ZFS pool

Starting from OpenIndiana 2017.10, the text installer allows you to perform installation to existing ZFS pool. It will create new boot environment in the pool and install OpenIndiana there.

This option can be useful when you want to do some customizations to root ZFS pool (for example, enable compression) or install OpenIndiana to pool where another operating system is already installed (for example, prior version of OpenIndiana or even FreeBSD). It is recommended to use minimal or server installation images to perform such installations.


This feature is intended for advanced users. It's assumed you know what you are doing. Multi-booting of another operating system and OpenIndiana on the same root pool can be possible, but such configuration is out of scope of this tutorial and is not supported.


OpenIndiana supports booting from a RAIDZ pool, however you must confirm that all vdevs are accessible from the boot loader. From the boot loader menu, choose Escape to loader prompt and run lsdev to confirm the disks are present.

To start installation to existing ZFS pool, press F5 key when Welcome Screen is presented.

Installer will present you a 'Pools' screen.

Pools Screen

On this screen installer will allow you to select the root pool for your new installation and boot environment name (which should be unique).

By default installer will install OpenIndiana boot loader and activate created boot environment. If you don't want installer to touch any boot-related options, uncheck Overwrite pool's boot configuration checkbox. This can be useful when you install OpenIndiana to ZFS pool where another operating system is already installed and you want to configure boot loader manually.

If you don't see your pool in the list of available pools, check /tmp/install_log. The most frequent issue is that there's not enough free space in the pool.

The next steps for usual installation and installation to existing ZFS pool are the same.

As there's possibly already another OS instance installed to the selected ZFS pool, no additional users or filesystems (like rpool/export) are created during installation. Swap and dump ZFS volumes also are not created and should be added manually after installation. Only root user will be available in created boot environment.

Troubleshooting Installations

Post Installation Steps

Boot Menu - Post Install

After successfully installing OpenIndiana Hipster, a new boot menu option becomes available. As shown in the screen below, option # 6 allows you to select the boot environment.


Each time you perform an update of software installed on OpenIndiana Hipster, a new boot environment may be created. Option # 6 allows you to select from among them.


After using OpenIndiana for a period of time, several boot environments will accumulate, with the label for each environment incrementing numerically. The image above illustrates what this looks like on a system with several boot environment choices.

Resetting the root password

After installation, the root password is immediately expired and you will be required to change it.

Use the following steps to change the root password:

Image Package System (IPS)


The image packaging system is delivered as part of the OpenIndiana userland. As such, the pkg related man pages are not available on the illumos.org website. These pages are only available by running the man page viewer locally on your system.


After an initial installation of the OpenIndiana Hipster operating system, you will find many of the software applications you use on a regular basis are not immediately available to you. These software applications are available as packages in a remote Image Packaging System (IPS) repository for downloading and installing over the Internet.

Written in Python, IPS is a network-centric packaging system which enables users to connect to a remote repository for the purpose of downloading and installing packages. OpenIndiana Hipster uses IPS for its packaging system.

Besides installing packages from a repository, users can also perform the following tasks:

Once you have installed packages, IPS enables you to search, update, and manage those packages on your system.

With IPS , you can upgrade your system to a newer build of OpenIndiana Hipster, install and update your software to the latest available versions, and retrieve packages from mirror repositories.

If the system on which IPS is installed is located on a network, IPS can automatically access the OpenIndiana Hipster package repository. For OpenIndiana Hipster, your IPS client can access the packages from https://pkg.openindiana.org/hipster.

IPS packages

An IPS package is defined as a collection of files, directories, links, drivers and dependencies in a defined format.

Note the following points about IPS packages:

IPS commands

The Image Packaging System software provides the following commands:

Command Description
pkg1 Use the pkg1 command to create an image, to install packages to your image, and to manage packages on your image.
pkgsend1 Use the pkgsend1 command to publish packages from your image to an existing repository.
pkg.depotd1M Use the pkg.depotd1M command to create and manage your own network repository or set up a mirror repositories.
pkgrecv Use the pkgrecv command to download the contents of a package from a server. The user can then modify the contents by adding additional package attributes and republish the package with the pkgsend command.


  • The pkg5 man page describes the overall Image Packaging System.
  • The pkg1 man page describes the Image Packaging System retrieval client.

pkg1 uses FMRIs

Each IPS package is represented by a Fault Management Resource Identifier (FMRI). The pkg1 command uses valid FMRI package information to perform its command actions. The FMRI includes descriptive information about the package, such as the package name, version information, and date.

For example:

FMRI: pkg://openindiana.org/image/editor/gimp@2.8.16-2016.0.0.0:20160702T042138Z

Finding help with pkg

The primary source of help for any OpenIndiana command is to review the man page for the command. Therefore, be sure to consult the pkg1 man page for full command information and usage examples.

For example: man pkg

To reference command usage directly from the command line, use pkg help.

For example:

pkg help

Usage:    pkg [options] command [cmd_options] [operands]
The following commands are supported:

Package Information  : list           search         info      contents
Package Transitions  : update         install        uninstall
                       history        exact-install
Package Maintenance  : verify         fix            revert
Publishers           : publisher      set-publisher  unset-publisher
Package Configuration: mediator       set-mediator   unset-mediator
                       facet          change-facet
                       variant        change-variant
Image Constraints    : avoid          unavoid        freeze    unfreeze
Image Configuration  : refresh        rebuild-index  purge-history
                       property       set-property   add-property-value
                       unset-property remove-property-value
Miscellaneous        : image-create   dehydrate      rehydrate
For more info, run: pkg help <command>

To retrieve information about a specific command use: pkg help [command]

For example:

pkg help update

        pkg update [-fnvq] [-C n] [-g path_or_uri ...] [--accept] [--ignore-missing]
            [--licenses] [--no-be-activate] [--no-index] [--no-refresh]
            [--no-backup-be | --require-backup-be] [--backup-be-name]
            [--deny-new-be | --require-new-be] [--be-name name]
            [-r [-z image_name ... | -Z image_name ...]]
            [--sync-actuators | --sync-actuators-timeout timeout]
            [--reject pkg_fmri_pattern ...] [pkg_fmri_pattern ...]

Searching for packages

The pkg search command is used to search locally or remotely for information about packages. The syntax of the command is pkg search [options] [package]. If no search options are specified, the command defaults to performing a search of all the remote repositories defined on the system. Using the -l option, you may restrict the search to the local system.

For example:

pkg search xchat

INDEX                ACTION VALUE                                   PACKAGE
pkg.summary          set    XChat IRC Client                        pkg:/desktop/irc/xchat@2.8.8-2016.0.0.5
pkg.summary          set    HexChat is an IRC client based on XChat pkg:/desktop/irc/hexchat@2.12.1-2016.0.0.1
basename             file   usr/bin/xchat                           pkg:/desktop/irc/xchat@2.8.8-2016.0.0.5
com.oracle.info.name set    xchat                                   pkg:/desktop/irc/xchat@2.8.8-2016.0.0.5
pkg.fmri             set    openindiana.org/desktop/irc/xchat       pkg:/desktop/irc/xchat@2.8.8-2016.0.0.5

As you can see, the search results include package names along with additional information. To search for package names only, include the -p option.

For example:

pkg search -p xchat

PACKAGE                                    PUBLISHER
pkg:/desktop/irc/hexchat@2.12.1-2016.0.0.1 openindiana.org
pkg:/desktop/irc/xchat@2.8.8-2016.0.0.5    openindiana.org


When using the pkg search command, remember it works much like the Unix find command. If you have difficulty finding a package you know should exist, try modifying your search by including wildcards.

The pkg search command may also be used to find the package containing a particular file.

For example:

pkg search -l /usr/bin/gpg2

path       file   usr/bin/gpg2 pkg:/crypto/gnupg@2.0.28-2016.0.0.0

Listing the status of packages

To list the status of locally installed packages, use the pkg list [package] command.

For example:

pkg list bash

NAME (PUBLISHER)                                  VERSION                    IFO
shell/bash                                        4.3.46-2016.0.0.0          i--


To list all the packages installed on the local system, use pkg list without specifying a package.

Listing information about packages

To list detailed information about a locally installed package, use the pkg info [package] command. If the package is not installed on the local system, use the -r option to search the remote repositories defined on the system.

For example:

pkg info -r gimp

          Name: image/editor/gimp
       Summary: The Gimp image editor
      Category: Applications/Graphics and Imaging
         State: Not installed
     Publisher: openindiana.org
       Version: 2.8.16
        Branch: 2016.0.0.2
Packaging Date: July 30, 2016 12:04:41 AM
          Size: 65.01 MB
          FMRI: pkg://openindiana.org/image/editor/gimp@2.8.16-2016.0.0.2:20160730T000441Z
   Project URL: http://www.gimp.org/
    Source URL: http://download.gimp.org/pub/gimp/v2.8/gimp-2.8.16.tar.bz2

Listing the contents of packages

To list the entire contents of a package, use the pkg contents [package] command. If the package is not installed on the local system, use the -r option to search the remote repositories defined on the system.

Listing the dependencies of packages

The pkg contents command can also be used to list the dependencies found in a package. If the package is not installed on the local system, be sure to include the -r option.

For example:

pkg contents -r -t depend -o fmri xchat


Installing packages

Use the following command to install a package.

pkg install [options] [packages]

Some commonly used options are:

Option Description
-v Issue verbose progress messages
-n Perform a dry run (no actual changes are made)
-q Hides progress messages

For example:

pkg install xchat

           Packages to install:   1
            Packages to update:   1
            Services to change:   2
       Create boot environment:  No
Create backup boot environment: Yes

DOWNLOAD                                PKGS         FILES    XFER (MB)   SPEED
Completed                                2/2         38/38      2.6/2.6  746k/s

PHASE                                          ITEMS
Removing old actions                             4/4
Installing new actions                         69/69
Updating modified actions                        2/2
Updating package state database                 Done
Updating package cache                           1/1
Updating image state                            Done
Creating fast lookup database                   Done


  • The pkg install command is also used to update specific packages on the system.
  • The pkg install command automatically checks for newer versions of specific packages or package groups and installs them if they are available. Any dependent packages are also automatically updated.
  • To install a specific version of a package you may substitute the common name for the FMRI.

Updating packages

The command to use for updating packages on the system is:

pkg update [options] [packages]

Some commonly used options are:

Option Description
-v Issue verbose progress messages
-n Perform a dry run (no actual changes are made)
-q Hides progress messages

To update all the packages installed on a system to their latest available version, use the pkg update command without specifying any package names.

For example:

pkg update

            Packages to remove:    4
           Packages to install:   11
            Packages to update: 1018
            Packages to change:    2
           Mediators to change:    1
       Create boot environment:  Yes
Create backup boot environment:   No

DOWNLOAD                                PKGS         FILES    XFER (MB)   SPEED
Completed                          1035/1035     7502/7502  303.4/303.4  886k/s

PHASE                                          ITEMS
Removing old actions                       3931/3931
Installing new actions                     6889/6889
Updating modified actions                11999/11999
Updating package state database                 Done
Updating package cache                     1022/1022
Updating image state                            Done
Creating fast lookup database                   Done

A clone of openindiana-1 exists and has been updated and activated.
On the next boot the Boot Environment openindiana-2 will be
mounted on '/'.  Reboot when ready to switch to this updated BE.

NOTE: Please review release notes posted at:


Removing packages

To remove a package from the system, use the command: pkg uninstall [options] [packages]

Downgrading packages

In addition to installing, upgrading, and removing packages, it is also possible to downgrade packages. To downgrade packages, use the pkg update command and specify the versions of the packages you wish to install. Where the package has dependencies, you will need to specify the versions of the dependencies as well. The pkg utility will remove the newer versions and replace them with the versions you have specified.

For example:

pkg update pkg://userland/library/audio/gstreamer@0.10.36 \
library/audio/gstreamer/plugin/base@0.10.36 \


The OpenIndiana project uses package incorporations to ensure packages are maintained to specific versions. Where packages are included in an incorporation, it is not possible to revert to an earlier (or newer) version of the package without first relaxing the restrictions imposed by the incorporation. Where packages are not restricted by an incorporation, you may freely revert to earlier package versions.

To relax the restrictions on a package, the pkg change-facet command is used.

The syntax of the command is pkg change-facet facet.version-lock.[package]=false

For example:

pkg change-facet facet.version-lock.library/security/gstreamer=false

IPS package repositories

As previously mentioned, the IPS repository is the remote network location where IPS packages reside. Below is a list of commands for adding, removing, or replacing repositories.

Task Command
List configured repositories pkg publisher
Add a repository pkg set-publisher \
-g <repository_URL> \
Remove a repository pkg set-publisher \
-G <repository_URL> \
Replace a repository pkg set-publisher \
-G <old_repository_URL> \
-g <new_repository_URL> \

Example (Listing the repositories configured on the system):

pkg publisher

openindiana.org             origin   online F https://pkg.openindiana.org/hipster/
hipster-encumbered          origin   online F https://pkg.openindiana.org/hipster-encumbered/

Example (Replacing a repository):

pkg set-publisher \
-G http://pkg.openindiana.org/hipster-2015 \
-g https://pkg.openindiana.org/hipster openindiana.org

Listing information about repositories

While the pkgrepo command is primarily used for creating and working with IPS repositories. It can also be used for querying the contents of a repository.

For example:

pkgrepo info -s https://pkg.openindiana.org/hipster/

openindiana.org 3692     online           2016-08-21T07:03:11.566484Z

If you want to directly query the remote repository for a full list of all available packages, you can do so using the pkgrepo list command.

Do keep in mind you may want to filter the output of the command in some way to keep the list more manageable. If not, you're likely to see thousands of lines scroll through your console window.

IPS package repository precedence

When multiple remote IPS repositories are associated with a system and when using the pkg command-line interface with only package names, the following rules apply. These rules can be overridden by using explicit publishers and package version numbers.

Package Installation Type Rules When Only Package Names Are Provided
New package installations The latest available version of new packages are always installed from the preferred publisher unless the publisher is provided in the FMRI during installation. Even if later versions of the package are available in other publishers, those later versions are not installed by default.
Package updates: package originally installed from preferred publisher If the package was originally installed from the preferred publisher, then the latest available update of the package can be installed from the current preferred publisher. The package can be install from the current preferred even if the preferred publisher designation had been moved to another publisher after the package had been originally installed. Even if later versions of the package are available in other publishers, those later versions are not installed by default.
Package updates: package originally installed from non-preferred publisher If the package was originally installed from a non-preferred publisher, then the latest available update of the package is installed from the publisher from which the package was originally installed. Even if later versions of the package are available in other publishers, those later versions are not installed by default.

Listing package history

To list the IPS transactional history, use the pkg history command.

For example:

pkg history

START                    OPERATION                CLIENT             OUTCOME
2016-04-21T03:30:04      purge-history            pkg                Succeeded
2016-07-02T16:09:56      uninstall                pkg                Succeeded
2016-07-02T16:10:33      uninstall                pkg                Succeeded
2016-07-02T16:11:08      uninstall                pkg                Succeeded
2016-07-02T16:11:42      uninstall                pkg                Succeeded
2016-07-02T16:12:18      set-property             pkg                Succeeded
2016-07-02T16:12:22      set-property             pkg                Succeeded
2016-07-02T16:37:06      refresh-publishers       pkg                Succeeded
2016-07-02T16:37:06      update                   pkg                Succeeded
2016-07-02T16:37:32      rebuild-image-catalogs   pkg                Succeeded
2016-07-02T17:33:44      install                  pkg                Succeeded
2016-07-02T17:35:11      install                  pkg                Succeeded
2016-07-02T18:31:39      install                  pkg                Succeeded
2016-07-04T19:49:19      install                  pkg                Succeeded
2016-07-04T19:49:23      refresh-publishers       pkg                Succeeded
2016-07-04T19:49:56      rebuild-image-catalogs   pkg                Succeeded
2016-07-09T01:16:43      install                  pkg                Succeeded
2016-07-09T01:16:45      refresh-publishers       pkg                Succeeded
2016-07-09T01:17:20      rebuild-image-catalogs   pkg                Succeeded
2016-07-09T11:33:05      install                  pkg                Succeeded
2016-07-09T11:33:07      refresh-publishers       pkg                Succeeded
2016-07-09T11:33:37      rebuild-image-catalogs   pkg                Succeeded
2016-07-09T12:27:23      update                   pkg                Succeeded

To view more details of a particular IPS transaction, use the command:

pkg history [-l] [-t time_stamp]

For example:

pkg history -l -t 2016-07-09T11:33:05

IPS package archives (.p5p)

When the IPS system was originally conceived there was no standard on-disk format for an IPS package. Hence, unlike a .rpm file, an SVR4 package, or a .nbm file, it was not possible to transfer IPS packages from system to system. The remote IPS repository where the IPS package resided was the only source for the package. This is because in its native state, the IPS package is not something you can normally download as a single archive file.

Recognizing this limitation of IPS, the .p5p IPS archive format was developed. For IPS archives, files are stored in the pax archive format, along with additional metadata, such as IPS manifest files, and a specific layout of the contents.

IPS p5p archives are not like Linux packages where you can install software directly from the package. Instead p5p archives are a portable repository format containing a collection of packages. This allows you to create p5p archives for transfer to non-networked systems. IPS package archives are also useful for sharing packages for the purpose of testing.

IPS archives allow you to:

Creating the p5p package

To create an IPS archive, the pkgrecv command is used.

For example, to create a .p5p IPS package archive containing the package userland/web/browser/firefox and all of its dependencies from the repository located at http://example.com:10000, use the following command:

pkgrecv -s http://example.com:10000 -d ~/firefox_test.p5p -a -r pkg://userland/web/browser/firefox@45.3.0-2016.0.0.0:20160817T064143Z

Listing the contents of a p5p package

There are at least two different ways to view the contents of an IPS archive.

pkgrepo -s ~/firefox_test.p5p list

PUBLISHER NAME                                          O VERSION
userland  library/expat                                   2.1.0-2015.0.1.1:20150901T125810Z
userland  library/glib2                                   2.43.4-2016.0.0.4:20160705T121550Z
userland  library/glib2/charset-alias                     2.43.4-2016.0.0.4:20160705T121609Z
userland  system/library/fontconfig                       2.11.95-2016.0.0.0:20160512T122747Z
userland  web/browser/firefox                             45.3.0-2016.0.0.0:20160817T064143Z
userland  x11/library/toolkit/libxt                       1.1.4-2016.0.0.0:20160706T165209Z

This also works:

pkg list -f -g ~/firefox_test.p5p

NAME (PUBLISHER)                                  VERSION                    IFO
library/expat (userland)                          2.1.0-2015.0.1.1           ---
library/glib2 (userland)                          2.43.4-2016.0.0.4          ---
library/glib2/charset-alias (userland)            2.43.4-2016.0.0.4          ---
system/library/fontconfig (userland)              2.11.95-2016.0.0.0         ---
web/browser/firefox (userland)                    45.3.0-2016.0.0.0          ---
x11/library/toolkit/libxt (userland)              1.1.4-2016.0.0.0           ---

Adding the package as a local repository

pkg set-publisher -p firefox_test.p5p

Installing software from the local repository

pkg install firefox@45.3.0-2016.0.0.0:20160817T064143

Legacy package management tools

OpenIndiana continues to support the use of legacy package tools for managing SVR4 packages. Here are some of the available tools:

3rd party package management tools



In addition to IPS and SVR4 package management tools, it is also possible to use pkgsrc.

For more information about pkgsrc, see the Joyent package source website.


The use of 3rd party repositories and package managers increases the likelihood of conflicts between package versions and their dependencies. Furthermore, the OpenIndiana project cannot guarantee the qualify of packages obtained from 3rd party repositories. Therefore, use 3rd party repositories and 3rd party package tools at your own risk.

Managing Boot Environments

A boot environment is a bootable instance of an OpenIndiana operating system image plus any other application software packages installed into that image. You can maintain multiple boot environments on your system, and each boot environment could have different software versions installed. Upon the initial installation of OpenIndiana onto your system, a boot environment is created. Use the beadm1M utility to administer additional boot environments on your system.

The beadm utility is designed to work in concert with the ZFS file system and the IPS package manager.

Why use multiple boot environments?

With multiple boot environments, the process of updating software becomes a low risk operation because you can create backup boot environments before making any software updates to your system. If needed, you have the option of booting a backup boot environment.

Here are some specific examples where having more than one OpenIndiana boot environment, and managing them with the beadm utility, is useful:

When `pkg` creates new boot environment, it determines its name using `auto-be-name` image property. When prefixed with "time:" string, the remaining part of property is interpreted as `strftime(3C)` argument. If `pkg` can't produce unique boot environment name based on auto-be-name image property, it uses the property as base to generate unique name, appending numerical suffix prefixed by "-" symbol. Note, that due to name generation rules, any numerical suffix, prefixed by "-", can be incremented to generate unique name, so given "time:openindiana-%Y-%m-%d" `auto-be-name image` property value (which is not recommended), `pkg` will produce boot environment names ending with current date, current date + 1 and so on. By default `auto-be-name` is set to "time:openindiana-%Y:%m:%d", so that boot environments are named like "openindiana-2019:03:29". You can get current value using `pkg property` command and set it with `pkg set-property`.

Features of the beadm utility

The beadm utility has the following features:

The beadm utility enables you to perform the following tasks:

beadm command reference

Command Description
beadm Displays command usage
beadm activate <BE> Makes the specified boot environment the active boot environment upon the next reboot.
beadm create <BE> Creates a new boot environment with the name specified. Unless the -e option is provided, the new boot environment is created as a clone of the currently running boot environment.
beadm create <BE@snapshot> Creates a snapshot of the existing boot environment with the specified snapshot name.
beadm destroy <BE> Destroys the boot environment named BE or destroys an existing snapshot, BE@snapshot, of a boot environment. Prompts for confirmation before destroying the boot environment.
beadm list <BE> Lists information about the specified boot environment, or lists information for all boot environments if a boot environment name is not provided. The default is to list boot environments without any additional information.
beadm mount <BE> <mountpoint> Mounts the specified boot environment at the specified mount point. The mount point must be an already existing, empty directory.
beadm rename <old BE> <new BE> Renames the specified boot environment.
beadm unmount [-f] <BE> Unmounts the specified boot environment. -f – Forcefully unmounts the boot environment even if it is currently busy.

For detailed instructions about the beadm utility, see the beadm1M man page.

beadm zones support

Zones partitioning technology is used to virtualize operating system services and provide an isolated and secure environment for running applications. Each OpenIndiana system is a global zone. Within a global zone, specific non-global zones can be created.

Zones support limitations

Note the following limitations of support for non-global zones in the beadm utility and in related processes:

For further information, see the zoneadm1M man page.

Zones support specifications

The beadm command impacts the non-global zones in your boot environments as follows:

Command Support Details
beadm create When you clone a boot environment by using the beadm create command, all zones in that boot environment are copied into the new boot environment.
beadm destroy When you destroy an inactive boot environment, the zones that belong to that boot environment are also destroyed.
beadm mount When you mount a boot environment, the zones in that environment are mounted relative to the mount points for the environment.
beadm unmount When you unmount a boot environment, the zones in that environment are also unmounted. All mount points are returned to their states prior to being mounted.
beadm rename When you rename a boot environment, that change does not impact the names of the zones or the names of the datasets that are used for those zones in that boot environment. The change does not impact the relationships between the zones and their related boot environments.

The X-Window System


Write about:

  • How to create and use an xorg.conf file.
  • Graphics drivers are found in the /usr/lib/xorg/modules/drivers/amd64/ graphics driver directory
    • modinfo only shows kernel drivers, not Xorg drivers, since Xorg drivers are just driver.so files dlopen'ed by a userspace process, not loaded into the kernel address space.
    • To see what drivers Xorg loaded, either check /var/log/Xorg.0.log or run pldd on the Xorg process.

Video card support (2D)

Video card support (3D)


Write about:

  • The expected behavior when booting the live CD from a system with an NVIDIA card.
  • Discuss procedure for adding an NVIDIA card to a system that was using VESA or some other non-3d video driver.
  • Troubleshooting - what logs to look at, manual configuration, etc.
  • Walk through NVIDIA utility screens.

Device Drivers


Write about:

  • Finding hardware id's
  • Searching for drivers
  • Installing and loading drivers
    • Using the modinfo command to list information about loaded kernel driver modules
    • Using modload to load kernel driver modules
    • Using modunload to unload kernel driver modules
    • Using the add_drv command
  • Adding device ID's to /etc/driver_aliases, and /etc/driver_classes, etc.