Creating OpenSolaris USB Sticks Is Easy!

Putting OpenSolaris on a USB stick is part of the distribution
constructor project. It’s very simple, however, right now, one must be running on a Solaris host; though there are some interesting ways to get around this, just we need someone to spend some time to do it. Well, on a Solaris host, to begin with:

  1. Get the distribution constructor:
  2. To get the OpenSolaris Caiman Project (which includes the Distribution Constructor) use Mercurial (see hg(1)).

    This would put the project’s “gate” into a folder called slim_source:
    hg clone ssh:// slim_source

    One can now use the SUNWdistro-const IPS package on OpenSolaris, if running build 99 or newer, to get the Distribution Constructor! To install SUNWdistro-const use the Package Manager GUI or issue the following command (as root, or using pfexec(1)) pkg install SUNWdistro-const.

  3. Next, get an OpenSolaris ISO image:
  4. To get the latest development build of OpenSolaris, see the main page of http://genunix.ORG for ISOs, however, the latest full release of OpenSolaris can be found by going to http://OpenSolaris.COM/get

  5. Now, create the USB image:
  6. Here, one use of the Distribution Constructor is to take an ISO image and change the grub menu entries for a USB device (opposed to a CD/DVD) and change some permissions for running on a read-write media instead of a read-only one.

    To generate a USB image from an ISO run: slim_source/usr/src/cmd/install-tools//usr/bin/usbgen <iso> <new usb file> /tmp.

  7. Copy it to a USB stick (or hard disk):
  8. Lastly, the Distribution Constructor can copy the image to a USB disk (memory stick or hard disk). (This is what currently requires Solaris.) Here, the stick has fdisk(1) run on it and the Grub menu written. A nifty idea which was putback by Bill Moore uses dd(1) to copy blocks and since USB sticks tend to be relatively unreliable, uses md5sum(1) to checksum what was written matches what should have been.

    To copy the image, run slim_source/usr/src/cmd/install-tools//usr/bin/usbcopy <new usb file>.

8 responses to “Creating OpenSolaris USB Sticks Is Easy!”

  1. Darren Moffat

    What is the advantage of doing this rather than doing an install onto a USB disk from the LiveCD ?

  2. as

    i think you will get a "live usb stick" instead of a "normal" solaris installation, which may save some space on the stick (compare cd size and size on disk after install). correct me if i’m wrong.

  3. Clayton Baenziger

    Hi Darren,

    A big difference at this time is the installer being put on the USB stick. If one uses this method they can install to a new system. However, using the installer to install to a USB stick as you suggest gives a more live experience (and there are ways one can still put the installer on the stick).

    As as points out. The USB image made by the Distribution Constructor is compressed similar to the LiveCD (using gzip or LZMA compression). This due to how lofi(7) works means that a "live" USB created using the Distribution Constructor can not be written to very easily while booted (i.e. /usr is read only still).

  4. Stephan

    Hi Clayton,

    not related to that topic, but I have not found a better way to contact you regarding that:

    I have understood that according to your post at you have been successful in installing OpenSolaris on an OQO ("I have an OQO Model 2 I’ve run Indiana DP2 on").

    If yes, do you have any additional information regarding that? I have checked the HCL and the web but was unable to find any more information about that except your post. What did you do to install it? How good is the hardware support? Is the device usable for work with Solaris?

    I am very interested in getting an OQO but only if I can put a real OS on it…

    Best regards


  5. Bernardino Lopez

    I like to have a minimum USB boot, with the VirtualBox software installed, the idea will be:

    Boot 2GB USB with minimum OpenSolaris kernel, then launch my own .VDI installed in the same USB Drive.

    What would it be the best way to go ???

    Keep doing the good job.


  6. JD

    When running the usbgen, I am getting the error message "pathname is not an absolute path" and then referencing the iso file. I am unsure how to fix this.

  7. Clay B

    Hi Stephan,
    The OQO indeed works (now running build 101a). I see the Novatel WWAN modem (though I had to add an entry in /etc/driver_aliases for it) but without broadband service I can not test it fully with usbsacm(7d). The screen works well, but right now the VIA graphics support is not full featured, so it only runs in 640×480 and does mirrored VGA output. Similarly, the Wacom tablet is as far as I can tell, unsupported at this time. The Atheros WiFi seems to have good range and works very reliably and so does the Realtek 10/100 ethernet.

    Hi JD,
    An absolute path is one which starts at the root directory (/) and goes from there for example /tmp/OS.iso opposed to tmp/OS.iso or just OS.iso. This is due to CR #6618810 (lofiadm should accept general path names). For more questions on the Distribution Constructor I would suggest subscribing to the caiman-discuss e-mail list as referenced here:

  8. Ije Barreto

    i will download operation system solaris

Leave a Reply