Long story short, trying to boot from a ZFS pool, grub's "find" command will 
fudge about the location
of "menu.lst". Somehow it seems to hard code the location of that file.

I am skipping over some steps, but
pkg install SUNWgrub will put files in "/rpool/ROOT/opensolaris/boot/grub" 
including stage1, stage2,
some other files and a dummy menu.lst.
Try to boot from this filesystem and get the "grub> " prompt.
"find /boot/grub/menu.lst" returns "Error 15: File not found"
but "find /boot/grub/stage1" will return "(hd0,0,a).
"find" on any other file in "boot/grub" will also return "(hd0,0,a)" except 
when trying to find "menu.lst".

If on the other hand I create "/rpool/boot/grub/menu.lst" and issue "find 
/boot/grub/menu.lst"
then grub returns "(hd0,0,a)".

The above is easy to setup:
zpool create -f rpool c4d0s0
zfs set compression=on rpool
zfs create -o mountpoint=legacy rpool/ROOT
zfs create -o mountpoint=/a rpool/ROOT/opensolaris
zpool set bootfs=rpool/ROOT/opensolaris rpool
pkg image-create -f -F -a opensolaris.org=http://pkg.opensolaris.org /a
pkg refresh
pkg install SUNWgrub
-- 
This message posted from opensolaris.org

Reply via email to