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

Reply via email to