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@0,0/pci8086,2942@1c,1/pci-ide@0/ide@0/cmdk@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?
*
_______________________________________________
OpenIndiana-discuss mailing list
[email protected]
http://openindiana.org/mailman/listinfo/openindiana-discuss