I just installed oi-dev-151a8-text-x86 and /usr/platform/i86pc/lib/fs/zfs/bootblk is missing. I attached a disk to the rpool expecting it to install grub on the new drive and it did not.
I then attempted to run the script manually:
/usr/lib/fs/zfs/bootinstall rpool /dev/rdsk/c2t50014EE65AC68D37d0
open: No such file or directory
Unable to gather device information for /dev/rdsk/c2t50014EE65AC68D37d0
Failure installing GRUB on /dev/rdsk/c2t50014EE65AC68D37d0
There is no bootblk on the system.
Updated by Toomas Soome over 4 years ago
- Subject changed from zfs bootblk missing to /usr/lib/fs/zfs/bootinstall should use bootadm
- Category set to cmd - userland programs
- Assignee set to Toomas Soome
- Parent task set to #6086
- Difficulty changed from Medium to Bite-size
The issue is actually about GPT whole disk device name, which is passed by syseventd; unfortunately installgrub expects device name with slice. While it is possible to update the script to discover and append slice to device name, I think the more correct solution is to use alternate implementation, unfortunately it depends on #6086 and #6085, and therefore the release of the fix has to delay till prerequisites are there. Fortunately it is not huge issue as for time being the bootblock can be installed by invoking installgrub manually:
- installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/devicename
where device name can be obtained from zdb output (whole disk setups are always using s0, however).
Updated by Electric Monk about 4 years ago
- Status changed from Pending RTI to Closed
- % Done changed from 0 to 100
commit 75100ee845c13b4b3c7f0d83fa2f9725e699d6e9 Author: Toomas Soome <email@example.com> Date: 2015-09-23T16:14:44.000Z 6160 /usr/lib/fs/zfs/bootinstall should use bootadm Reviewed by: Igor Kozhukhov <firstname.lastname@example.org> Reviewed by: Adam Števko <email@example.com> Reviewed by: Josef Sipek <firstname.lastname@example.org> Approved by: Richard Lowe <email@example.com>