[OpenIndiana-discuss] I Installed OpenIndiana -- Now How Do I Boot It?

Jay F. Shachter jay at m5.chicago.il.us
Wed Apr 26 14:50:20 UTC 2017


Esteemed Colleagues:

I have seen occasional references here and there on this mailing list
to the fact that OpenIndiana now uses the FreeBSD boot loader and no
longer uses GRUB, although I must have missed the discussion that
explained why this was in any way desirable.

However, even the FreeBSD boot loader would be better than no boot
loader at all, which is what I got yesterday after installing
OpenIndiana on my laptop (from the newest image on the website,
OI-hipster-gui-20161030.usb).

The context: I had to get a new laptop a few weeks ago, and because I
work with many different operating systems, I installed many different
operating systems on it.  Presently it has 3 dialects of Linux,
FreeBSD, and, as of yesterday, OpenIndiana, and soon it will have
Haiku (although I have never been able to install either SkyOS or
IcAros on any computer I have ever owned, but I digress).  The idea is
that when you turn on the computer you select the OS that you want to
run.

Actually I installed OpenIndiana for variety, my old laptop had
Solaris 11.3 (and I have more clients who demand knowledge of Solaris
11 than who demand knowledge of OpenIndiana, but my mind craves
variety, which is why I installed Springdale this time for my
RHEL-flavored Linux system, where my old laptop had Oracle Linux).  I
figured it was close enough, and I was prepared for the differences,
like OpenIndiana has none of the new ZFS stuff that Oracle has done on
Solaris (I'm sorry, I know everyone hates Oracle here, but what can I
do, I really like the new zfs share stuff) and like OpenIndiana uses
the FreeBSD boot loader instead of GRUB.  After that it would be a
simple matter of configuring the FreeBSD boot loader to offer my other
operating systems as boot-time options, a technique that, I think, was
in fact discussed on this mailing list a couple months ago or
thereabouts.

Or so I thought.  The USB key from which I booted the laptop in order
to perform the installation, definitely and recognizably uses the
FreeBSD boot loader.  I then happily installed OpenIndiana on Slice 7
of my disk (partitioned in the old msdos manner, meaning that Slice 7
is a "logical" slice inside of extended slice 4).  But the
installation procedure did not put any boot loader whatsoever on the
disk.  When I next booted my laptop from powerup I saw the exact same
GRUB2 menu as before, offering me the same 3 Linux systems and
FreeBSD.

That shouldn't be a problem, though.  Surely there should be some way
of getting GRUB2 to find and boot the OpenIndiana system.  Like, for
example, "chainloader (hd0,7)+1" would a good way of doing that.
Except that it didn't work.  I think it doesn't work in Solaris any
more either, although it once did, you would get a whole other GRUB
menu when you did that.  Similarly, you used to be able to do a
chainloader +1 on a FreeBSD installation, but I think that's stopped
working also, now you have to do kfreebsd /boot/loader (and I can't
get "kfreebsd /boot/kernel/kernel" to work either like it used to,
even after setting all the variables like I'm supposed to, but I
digress).

There does not seem to be any area on the disk from which one can do a
chainloader +1, except the MBR itself, which as I stated just gives me
the same GRUB2 menu as before.  What I need to do is instruct GRUB2
how to boot the OpenIndiana system on (hd0,7).  This is a procedure
that would surely start with "insmod zfs" but I'll be washed and
starched and ironed if I know what I'm supposed to do after that.
At the moment, the only way I know how to boot that system that I
installed yesterday (and subsequently spent hours configuring and
adding software to) is to boot from the installation medium and then
do a "reboot -f -- rpool/ROOT/openindiana".  That works, but it's
bogus; it is not, of course, a long-term solution.

I did it, though, because I refuse to be defeated, and then I found
that OpenIndiana, FreeBSD boot loader or not, still has an
"installgrub" program.  So I ran it:

   installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c3t0d0s0

and it installed GRUB, not where I asked it to -- i.e., (hd0,7),
because that's where all the disk devices are if there's no "p" in
their names -- or not only where I asked it to, but in the MBR, or
also in the MBR.  My old GRUB2 menu was blown away, and when I
rebooted the laptop from powerup I saw the results of my
"installgrub".

Whoa!  Has anyone on this mailing list ever done that?  First of all,
it is not GRUB2, it is GRUB 0.97, and that is problematic, because my
Linux kernels are all on logical volumes, which GRUB2 can boot from
(you may need to do "insmod lvm" first) but GRUB 0.97 cannot.  Solaris
11.3 has moved to GRUB2, but OpenIndiana apparently never did.

That is hardly the most memorable part of the story, though.  I
actually recommend that you do this yourselves, just to experience the
weirdness of it.  The GRUB menu offers you one option -- OS/2.  I
swear I am not making this up.  I selected it, of course, hoping that
something useful would happen, but it failed immediately, it booted
nothing.  I looked around in that environment.  I saw that this GRUB
(unlike that GRUB2 that my Linux installations had placed in the MBR)
recognized the Solaris subpartitioning of the disks -- e.g., (hd0,7,a)
-- but I could not do a "chainloader +1" on any of the subslices or
slices.  Fortunately I had saved the first meg of (hd0) elsewhere
before blowing it away, and I was able to boot from an Ubuntu recovery
CD and copy it back.  Now I am no worse off than I was before, but I
still cannot boot my OpenIndiana system for love or money, except, as
indicated above, by means of the bogosity of booting from the
installation USB and then doing "reboot -f -- rpool/ROOT/openindiana".

So, ladies and gentlemen, esteemed colleagues one and all -- what do I
do now?  Is there any way I can render my OpenIndiana system bootable?
There must be some way of doing it, yes?  I mean, like, the purpose of
installing operating systems is that you can run them later, I would
think.  I don't much care whether I use the FreeBSD boot loader, and
teach it later how to boot my Linux systems (from LVM), or whether I
use the GRUB2 loader, and teach it how to boot OpenIndiana.

I would have no problem if I had installed Solaris 11.3 -- Solaris
11.3 uses GRUB2, and it can boot from LVM, it can kfreebsd a FreeBSD
system, and of course it can find a Solaris 11.3 system on ZFS.  But I
truly would like to run OpenIndiana for a change.  I've never run
OpenIndiana hipster (the last time I ran OpenIndiana it was
OpenIndiana dev), and I would like to immerse myself in it for a
while.  How do I do it?  As always, thank you in advance for any and
all replies.


        Jay F. Shachter
        6424 North Whipple Street
        Chicago IL  60645-4111
                (1-773)7613784   landline
                (1-410)9964737   GoogleVoice
                http://m5.chicago.il.us
                jay at m5.chicago.il.us

        "But when she traced the killer's IP address ... it was in the 192.168/16 block!"




More information about the openindiana-discuss mailing list