Project

General

Profile

Bug #6160

Feature #6080: libbe should support installboot

Feature #6085: export libbe installboot function

Feature #6086: add install bootblock option for bootadm

/usr/lib/fs/zfs/bootinstall should use bootadm

Added by Web Dawg over 4 years ago. Updated about 4 years ago.

Status:
Closed
Priority:
High
Assignee:
Category:
cmd - userland programs
Start date:
2015-08-24
Due date:
% Done:

100%

Estimated time:
Difficulty:
Bite-size
Tags:
needs-triage

Description

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.

History

#1

Updated by Alexander Pyhalov over 4 years ago

  • Project changed from OpenIndiana Distribution to illumos gate
  • Target version deleted (Hipster)
#2

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:

  1. 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).

#3

Updated by Toomas Soome about 4 years ago

  • Status changed from New to Pending RTI
#4

Updated by Electric Monk about 4 years ago

  • Status changed from Pending RTI to Closed
  • % Done changed from 0 to 100

git commit 75100ee845c13b4b3c7f0d83fa2f9725e699d6e9

commit  75100ee845c13b4b3c7f0d83fa2f9725e699d6e9
Author: Toomas Soome <tsoome@me.com>
Date:   2015-09-23T16:14:44.000Z

    6160 /usr/lib/fs/zfs/bootinstall should use bootadm
    Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com>
    Reviewed by: Adam Števko <adam.stevko@gmail.com>
    Reviewed by: Josef Sipek <jeffpc@josefsipek.net>
    Approved by: Richard Lowe <richlowe@richlowe.net>

Also available in: Atom PDF