[Bug 1656048] Re: grub-installer might not install to the PReP partition of NVMe disks

bugproxy bugproxy at us.ibm.com
Fri Jan 27 13:19:26 UTC 2017


------- Comment From mauricfo at br.ibm.com 2017-01-27 08:18 EDT-------
Verification done on Xenial. All good!

Used the netboot image in xenial-updates as of Jan 27, with kernel
cmdline args 'apt-setup/proposed=true'.

Created a guest w/ a virtual SCSI drive and NVMe drive in PCI-passthrough mode.
In the partitioning dialog, created a PReP partition in the SCSI drive (sda1) so to make sure it's listed first in "prep_bootdev -l", which caused the problem previously.

After installation, gone back to shell and verified that grub-installer
indeed used the nvme drive, even though the SCSI drive showed up first
in "prep_bootdev -l".. and that the new script bits were downloaded
(version 1.128ubuntu5.1) and in place.

~ # /usr/lib/grub-installer/prep-bootdev -l
/dev/sda1
/dev/nvme0n1p1

~ # grep grub-install /var/log/syslog
Jan 27 12:57:03 anna[1761]: DEBUG: retrieving grub-installer 1.128ubuntu5.1
Jan 27 12:57:04 anna[1761]: 2017-01-27 12:57:04 URL:http://us.ports.ubuntu.com/ubuntu-ports//pool/main/g/grub-installer/grub-installer_1.128ubuntu5.1_ppc64el.udeb [252334/252334] -> "/var/cache/anna/grub-installer_1.128ubuntu5.1_ppc64el.udeb" [1]
Jan 27 13:05:25 main-menu[518]: INFO: Menu item 'grub-installer' selected
Jan 27 13:05:25 grub-installer: info: architecture: ppc64el/chrp_ibm
Jan 27 13:05:29 grub-installer: info: Identified partition label for /dev/nvme0n1p2: gpt
Jan 27 13:05:29 grub-installer: info: Wiping PReP partition /dev/nvme0n1p1
Jan 27 13:05:31 in-target: grub-install: warning: unknown device type nvme0n1p2^M
Jan 27 13:05:31 grub-installer: info: Installing grub on '/dev/nvme0n1p1'
Jan 27 13:05:31 grub-installer: info: grub-install does not support --no-floppy
Jan 27 13:05:31 grub-installer: info: Running chroot /target grub-install  --force "/dev/nvme0n1p1"
Jan 27 13:05:31 grub-installer: Installing for powerpc-ieee1275 platform.
Jan 27 13:05:32 grub-installer: Installation finished. No error reported.
Jan 27 13:05:32 grub-installer: info: grub-install ran successfully

~ # grep split_device /usr/bin/grub-installer
split_device () {
prep_dev=$(split_device $prep_p)
offered=$(split_device $disc_offered)
bootdev_split="$(split_device "$bootdev")"
bootfs_split="$(split_device "$bootfs")"

** Tags removed: verification-needed
** Tags added: verification-done

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub-installer in Ubuntu.
https://bugs.launchpad.net/bugs/1656048

Title:
  grub-installer might not install to the PReP partition of NVMe disks

Status in grub-installer package in Ubuntu:
  Fix Released
Status in grub-installer source package in Xenial:
  Fix Committed

Bug description:
  [Impact]
  NVMe installs on ppc64el for PReP.

  [Test case]
  Attempt to install Ubuntu on a ppc64el where a PReP partition is required; make sure to put the new PReP partition on the NVMe disk. See Problem Description below.

  [Regression Potential]
  Any failure to install PReP on ppc64el on a system with NVMe should be considered a regression of this bug.

  ----

  == Comment: #0 - Mauricio Faria De Oliveira - 2017-01-12 05:22:08 ==
  ---Problem Description---
  On ppc64el, the grub-installer script attempts to detect which PReP partition is in the same disk as of the installed system, in order to install grub into it.

  This check is not working properly for NVMe devices, and needs an update.
  It might result in overwriting the PReP partition of another disk, possibly another Linux distro/version, which is unrelated to the current installation.

  Patches for Xenial and Zesty are attached.

  Problem example:
  ---

  - PReP partition actually is '/dev/nvme1n1p1'
  - PReP partition detected is '/dev/sda1'

      ~ # /usr/lib/grub-installer/prep-bootdev -l
      /dev/sda1
      /dev/nvme1n1p1
      /dev/nvme0n1p1

      ~ # grep grub-install /var/log/syslog
      ...
      Jan 11 22:17:25 main-menu[518]: INFO: Menu item 'grub-installer' selected
      Jan 11 22:17:25 grub-installer: info: architecture: ppc64el/chrp_ibm
      Jan 11 22:17:29 grub-installer: info: Identified partition label for /dev/nvme1n1p2: gpt
      Jan 11 22:17:29 grub-installer: info: Wiping PReP partition /dev/sda1
      ...
      Jan 11 22:17:33 grub-installer: info: Running chroot /target grub-install  --force "/dev/sda1"
      ...
      Jan 11 22:17:33 grub-installer: info: grub-install ran successfully

      ~ # in-target ofpathname /dev/sda1
      ~ # in-target nvram --print-config=boot-device

      ~ # tail -n2 /var/log/syslog
      ... in-target: /pci at 800000020000015/pci1014,034A at 0/sas/disk at 5000c50067b1166b
      ... in-target: /pci at 800000020000015/pci1014,034A at 0/sas/disk at 5000c50067b1166b

  Patch applied:
  ---

  ~ # grep grub-installer /var/log/syslog
  ...
  Jan 11 23:59:25 main-menu[518]: INFO: Menu item 'grub-installer' selected
  Jan 11 23:59:25 grub-installer: info: architecture: ppc64el/chrp_ibm
  Jan 11 23:59:27 grub-installer: info: Identified partition label for /dev/nvme1n1p2: gpt
  Jan 11 23:59:27 grub-installer: info: Wiping PReP partition /dev/nvme1n1p1
  ...
  Jan 11 23:59:30 grub-installer: info: Running chroot /target grub-install  --force "/dev/nvme1n1p1"
  ...
  Jan 11 23:59:31 grub-installer: info: grub-install ran successfully

      ~ # in-target nvram --print-config=boot-device
      ~ # tail -n1 /var/log/syslog
      ... in-target: /pci at 800000020000028/pci1bb1,121 at 0/namespace at 1

  After reboot of installation done:

      0 > printenv boot-device
      -------------- Partition: common -------- Signature: 0x70 ---------------
      boot-device              /pci at 800000020000028/pci1bb1,121 at 0/namespace at 1

  == Comment: #1 - Mauricio Faria De Oliveira <mauricfo at br.ibm.com> - 2017-01-12 05:24:08 ==
  Patch for Xenial

  == Comment: #2 - Mauricio Faria De Oliveira <mauricfo at br.ibm.com> - 2017-01-12 05:24:26 ==
  Patch for Zesty.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub-installer/+bug/1656048/+subscriptions



More information about the foundations-bugs mailing list