Hipster Handbook - Installing OpenIndiana /dev and upgrading to /hipster
CAUTION:
Creating a Hipster USB Drive (pre 2016.10 only)
There are two unique methods for creating bootable USB flash drives. The method to use depends on the release date of the USB image you intend to write.
- Applies only to OpenIndiana releases up to and including the OpenIndiana Hipster 2016.04 release.
- This includes the legacy oi-dev-151a series of OpenIndiana releases.
Prerequisites
- USB flash drive - (2GB or larger).
- Download the OpenIndiana USB installer image.
NOTE:
- Header files are only required when writing a legacy image AND using the dd utility.
- Header files are NOT required when writing current images.
- For example: The Hipster 2016.10 release, does NOT require header files.
- Download the appropriate OpenIndiana 1G or 2G header file
- There are 2 unique USB header files (1G and 2G).
- Please ensure you have selected the correct file as the files are NOT interchangeable.
- The 1G.header is only suitable for use with the text installer (Command line console).
- The 2G.header is only suitable for use with the live installer (Gnome desktop).
CAUTION:
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.
# cat 1G.header image.usb | dd bs=1024k of=/dev/sdX
For live images larger than 1GB, use the following command instead.
# cat 2G.header image.usb | dd bs=1024k of=/dev/sdX
illumos/Solaris
For illumos based distributions including OpenIndiana, a script (USBCOPY) is available to copy the USB image onto a USB device.
Be sure to run as root or with SUDO as the script exits if not run with elevated permissions.
# ./usbcopy image.usb
Found the following USB devices:
0: devices/dev/rdsk/c4t0d0p0 3.9 GB USB DISK 2.0 1.00
Enter the number of your choice: 0
WARNING: All data on your USB storage will be lost.
Are you sure you want to install to
USB DISK 2.0 1.00, 3900 MB at /dev/rdsk/c4t0d0p0 ? (y/n) y
Copying and verifying image to USB device
Finished 1643 MB in 685 seconds (2.3MB/s)
0 block(s) re-written due to verification failure
Installing grub to USB device /dev/rdsk/c4t0d0s0
Completed copy to USB
#
Windows
The OpenSolaris Live USB Creator is a small stand alone GUI utility suitable for creating an OpenIndiana bootable USB flash drive.
Updating OpenIndiana /dev to /hipster
This section describes how to update your existing OpenIndiana /dev installation to OpenIndiana /hipster.
Note, that although direct updating from /dev to /hipster can be possible, it's not exhaustively tested.
There are several techniques which you can use to update your systems, including root pool installation from OpenIndiana ISO. Complete reinstall also can be a decent option.
Further it's considered that you were warned and decided to do more-or-less direct update from /dev to /hipster.
NOTE:
-
Do backup.
Seriously. The next steps can make your system unbootable. -
Read release notes.
Read release notes for ALL OpenIndiana Hipster snapshots. They contain information on system changes and possible troubles which can appear. Read Loader Integration -
Test your actions in non-production environment.
Consider that last significant OpenIndiana /dev update was many years ago. You are going to update your applications perhaps via several major releases. Prepare for the changes. -
You'll need console access to the server.
Without console access and ability to boot fresh OpenIndiana Hipster ISO image, you'll not be able to activate new boot environment: old tools can't work with new facilities, new tools will not work with old kernel. -
Update to the latest OpenIndiana /dev version.
# pkg update -v
- Create new boot environment, which you'll update to /hipster, and mount it to
/mnt
(the default empty temporary mountpoint directory).
# beadm create oi-hipster
# beadm mount oi-hipster /mnt
- Uninstall all packages coming from opensolaris.org, sfe or sfe-encumbered publishers.
# pkg -R /mnt list pkg://sfe/* pkg://sfe-encumbered/* pkg://opensolaris.org/*
# pkg -R /mnt uninstall <list of matched packages>
- Unset sfe, sfe-encumbered, opensolaris.org publishers in new BE if they were used.
# pkg -R /mnt unset-publisher opensolaris.org
...
- Change publisher to http://pkg.openindiana.org/hipster.
# pkg -R /mnt set-publisher -g http://pkg.openindiana.org/hipster -G http://pkg.openindiana.org/dev openindiana.org
- Refresh IPS catalog.
# pkg -R /mnt refresh --full
NOTE:
screen(1)
or tmux(1)
- Look what IPS is going to do.
# pkg -R /mnt update -nv 2>&1 | tee /root/testing_update
# less /root/testing_update
- If you are satisfied with what you've seen, run actual update and review
pkg(1)
output.
# pkg -R /mnt update -v 2>&1 | tee /root/update
# less /root/update
- Now you have updated boot environment, but have no means to activate it, so you'll have to boot from recent OpenIndiana minimal ISO.
After booting from ISO run shell, import pool, update boot archive, install boot loader, activate new boot environment and reboot.c2t0d0s0
disk name is used in example, you should look atzpool status
output and use corresponding device. You'd better use cpio boot archive format due to existing issue in compressed ufs boot archive support.
# zpool import -R /tmp rpool
# beadm mount oi-hipster /mnt
# bootadm update-archive -R /mnt/tmp -vf -F cpio
# installboot -mvF /mnt/tmp/boot/pmbr /mnt/tmp/boot/gptzfsboot /dev/rdsk/c2t0d0s0
# beadm activate oi-hipster
# init 6
- When your new boot environment is booting, look at possible error messages.
You can see warnings about inability to import some manifests. After logging in you'll be able to import them manually with svccfg import. Also you'll have to remove metainit service, which has gone with SVM support.
# svccfg -s metainit delete default
- Look if there are any failed services and examine their log files.
# svcs -xv
- Ensure that you have latest osnet-incorporation and userland-incorporation installed.
# pkg info osnet-incorporation userland-incorporation