[OpenIndiana-discuss] Booting OpenIndiana from USB stick and different ports and different machines (One stick for all)
Guenther Alka
alka at hfg-gmuend.de
Thu Apr 18 14:31:53 UTC 2013
I have installed OpenIndiana server and OmniOS on 16 GB USB sticks.
This works very well especially with modern fast sticks, ZFS boot mirror and atime set to off.
The problem is, that I can only boot from the USB port that was used during setup.
On other ports or mainboards, it crashes after selecting a Grub entry.
I would like to boot from any USB ports or on other machines with similar hardware.
According to http://www.skytale.net/blog/archives/27-Changing-the-rpool-disk-in-Solaris.html
Grub uses the following entry*
kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS*
and translates it to something like*
kernel /platform/i86pc/kernel/$ISADIR/unix -B zfs-bootfs=rpool/328 \
bootpath="/pci at 0,0/pci8086,2942 at 1c,1/pci-ide at 0/ide at 0/cmdk at 0,0:a"*
From above link:
/"The interesting part here is the //|bootpath|//parameter. This is the
device that Solaris will //try to mount the rpool from. Even if the
rpool consists of several mirror devices, only one //is used in the
initial boot process. Where does //GRUB//get the device path from? It’s
read from //the rpool header, from the disk //GRUB//was loaded from.
Every //ZFS//pool disk contains the device //path it was last found
under. This usually does not matter much, a //RAIDZ//will still mount
//if you swap the disks around when the machine is off, but the boot
process relies on the rpool //disks not wandering around. My new disk
still had the //USB//device path embedded, which //GRUB//read //and
passed to the kernel, which then failed to find the disk.//"/
*
*
*Now the question:**
**Is there a way not to use the "last bootpath" but always the current that is used for booting grub?
*
More information about the OpenIndiana-discuss
mailing list