[Bug 1737604] Re: 30_os_prober: LINUXPROBED embedded spaces in kernel parameters generates false menuentry's

TJ ubuntu at iam.tj
Tue Dec 12 08:21:16 UTC 2017


This proposed patch avoids the delimiter confusion and seems to address
the other 'gotchyas' relating to multiple delimiters mentioned in the
code comments.

** Patch added: "parse_grub_menu - avoid delimiter confusion"
   https://bugs.launchpad.net/ubuntu/+source/os-prober/+bug/1737604/+attachment/5021587/+files/0001_mounted-40grub2_parse-grub-menu_avoid-delimiter-confusion.patch

** Changed in: os-prober (Ubuntu)
       Status: New => Confirmed

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

Title:
  30_os_prober: LINUXPROBED embedded spaces in kernel parameters
  generates false menuentry's

Status in grub2 package in Ubuntu:
  New
Status in os-prober package in Ubuntu:
  Confirmed

Bug description:
  With multiple Linux OS installs on a single block device additional
  false menuentry's for the 'foreign' OS built by linux-boot-prober are
  generated when there are double-quoted kernel command-line options
  present.

  When a kernel command-line option contains an embedded space such as
  this example from /boot/grub/grub.cfg:

  linux   /vmlinuz-4.13.0-19-lowlatency root=/dev/mapper/VG_OS-
  ubuntu_16.04_rootfs ro nopat pci=use_crs,realloc,assign-
  busses,pcie_scan_all acpi_osi=! "acpi_osi=Windows 2006" splash
  $vt_handoff

  The result from calling linux-boot-prober is multiple entries with the
  name of the embedded-space parameter:

  # linux-boot-prober /dev/sdb3
  /dev/sdb3:/dev/sdb3:Ubuntu:/boot/vmlinuz-4.13.0-19-lowlatency:/boot/initrd.img-4.13.0-19-lowlatency:root=UUID=5a7fa7e3-941d-4b88-a948-d736b5fdc93f ro acpi_osi=! "acpi_osi=Windows 2006" pci=assign-busses,pcie_scan_all,realloc
  /dev/sdb3:/dev/sdb3:Ubuntu, with Linux 4.13.0-19-lowlatency:/boot/vmlinuz-4.13.0-19-lowlatency:/boot/initrd.img-4.13.0-19-lowlatency:root=UUID=5a7fa7e3-941d-4b88-a948-d736b5fdc93f ro acpi_osi=! "acpi_osi=Windows 2006" pci=assign-busses,pcie_scan_all,realloc
  /dev/sdb3:/dev/sdb3:Ubuntu, with Linux 4.13.0-19-lowlatency (recovery mode):/boot/vmlinuz-4.13.0-19-lowlatency:/boot/initrd.img-4.13.0-19-lowlatency:root=UUID=5a7fa7e3-941d-4b88-a948-d736b5fdc93f ro single nomodeset acpi_osi=! "acpi_osi=Windows 2006" pci=assign-busses,pcie_scan_all,realloc
  /dev/sdb3:/dev/sdb3:Ubuntu, with Linux 3.16.0-031600-lowlatency:/boot/vmlinuz-3.16.0-031600-lowlatency:/boot/initrd.img-3.16.0-031600-lowlatency:root=UUID=5a7fa7e3-941d-4b88-a948-d736b5fdc93f ro acpi_osi=! "acpi_osi=Windows 2006" pci=assign-busses,pcie_scan_all,realloc
  /dev/sdb3:/dev/sdb3:Ubuntu, with Linux 3.16.0-031600-lowlatency (recovery mode):/boot/vmlinuz-3.16.0-031600-lowlatency:/boot/initrd.img-3.16.0-031600-lowlatency:root=UUID=5a7fa7e3-941d-4b88-a948-d736b5fdc93f ro single nomodeset acpi_osi=! "acpi_osi=Windows 2006" pci=assign-busses,pcie_scan_all,realloc
  /dev/sdb3:/dev/sdb3:Ubuntu, with Linux 3.15.10-031510-lowlatency:/boot/vmlinuz-3.15.10-031510-lowlatency:/boot/initrd.img-3.15.10-031510-lowlatency:root=UUID=5a7fa7e3-941d-4b88-a948-d736b5fdc93f ro acpi_osi=! "acpi_osi=Windows 2006" pci=assign-busses,pcie_scan_all,realloc
  /dev/sdb3:/dev/sdb3:Ubuntu, with Linux 3.15.10-031510-lowlatency (recovery mode):/boot/vmlinuz-3.15.10-031510-lowlatency:/boot/initrd.img-3.15.10-031510-lowlatency:root=UUID=5a7fa7e3-941d-4b88-a948-d736b5fdc93f ro single nomodeset acpi_osi=! "acpi_osi=Windows 2006" pci=assign-busses,pcie_scan_all,realloc
  /dev/sdb3:/dev/sdb3:acpi_osi=Windows 2006:/boot/vmlinuz-4.13.0-19-lowlatency:/boot/initrd.img-4.13.0-19-lowlatency:root=UUID=e0d25d21-b586-4611-8acc-637b1dca7fa8 ro single nomodeset acpi_osi=! "acpi_osi=Windows 2006" pci=assign-busses,pcie_scan_all,realloc
  /dev/sdb3:/dev/sdb3:acpi_osi=Windows 2006:/boot/vmlinuz-3.16.0-031600-lowlatency:/boot/initrd.img-3.16.0-031600-lowlatency:root=UUID=e0d25d21-b586-4611-8acc-637b1dca7fa8 ro single nomodeset acpi_osi=! "acpi_osi=Windows 2006" pci=assign-busses,pcie_scan_all,realloc
  /dev/sdb3:/dev/sdb3:acpi_osi=Windows 2006:/boot/vmlinuz-3.15.10-031510-lowlatency:/boot/initrd.img-3.15.10-031510-lowlatency:root=UUID=e0d25d21-b586-4611-8acc-637b1dca7fa8 ro single nomodeset acpi_osi=! "acpi_osi=Windows 2006" pci=assign-busses,pcie_scan_all,realloc
  /dev/sdb3:/dev/sdb3:acpi_osi=Windows 2006:/boot/vmlinuz-4.13.0-19-lowlatency:/boot/initrd.img-4.13.0-19-lowlatency:root=UUID=e0d25d21-b586-4611-8acc-637b1dca7fa8 ro single nomodeset acpi_osi=! "acpi_osi=Windows 2006" pci=assign-busses,pcie_scan_all,realloc
  /dev/sdb3:/dev/sdb3:acpi_osi=Windows 2006:/boot/vmlinuz-3.16.0-031600-lowlatency:/boot/initrd.img-3.16.0-031600-lowlatency:root=UUID=e0d25d21-b586-4611-8acc-637b1dca7fa8 ro single nomodeset acpi_osi=! "acpi_osi=Windows 2006" pci=assign-busses,pcie_scan_all,realloc
  /dev/sdb3:/dev/sdb3:acpi_osi=Windows 2006:/boot/vmlinuz-3.15.10-031510-lowlatency:/boot/initrd.img-3.15.10-031510-lowlatency:root=UUID=e0d25d21-b586-4611-8acc-637b1dca7fa8 ro single nomodeset acpi_osi=! "acpi_osi=Windows 2006" pci=assign-busses,pcie_scan_all,realloc
  /dev/sdb3:/dev/sdb3:acpi_osi=Windows 2006:/boot/vmlinuz-4.13.0-19-lowlatency:/boot/initrd.img-4.13.0-19-lowlatency:root=UUID=e0d25d21-b586-4611-8acc-637b1dca7fa8 ro single nomodeset acpi_osi=! "acpi_osi=Windows 2006" pci=assign-busses,pcie_scan_all,realloc
  /dev/sdb3:/dev/sdb3:acpi_osi=Windows 2006:/boot/vmlinuz-3.16.0-031600-lowlatency:/boot/initrd.img-3.16.0-031600-lowlatency:root=UUID=e0d25d21-b586-4611-8acc-637b1dca7fa8 ro single nomodeset acpi_osi=! "acpi_osi=Windows 2006" pci=assign-busses,pcie_scan_all,realloc
  /dev/sdb3:/dev/sdb3:acpi_osi=Windows 2006:/boot/vmlinuz-3.15.10-031510-lowlatency:/boot/initrd.img-3.15.10-031510-lowlatency:root=UUID=e0d25d21-b586-4611-8acc-637b1dca7fa8 ro single nomodeset acpi_osi=! "acpi_osi=Windows 2006" pci=assign-busses,pcie_scan_all,realloc

  which results in:

  menuentry 'Ubuntu, with Linux 4.13.0-19-lowlatency (recovery mode) (on
  /dev/sdb3)' --class gnu-linux --class gnu --class os
  $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.13.0-19
  -lowlatency-root=UUID=5a7fa7e3-941d-4b88-a948-d736b5fdc93f ro single
  nomodeset acpi_osi=! "acpi_osi=Windows 2006" pci=assign-
  busses,pcie_scan_all,realloc-5a7fa7e3-941d-4b88-a948-d736b5fdc93f' {

      linux /boot/vmlinuz-4.13.0-19-lowlatency root=UUID=5a7fa7e3-941d-4b88-a948-d736b5fdc93f ro single
  nomodeset acpi_osi=! "acpi_osi=Windows 2006" pci=assign-busses,pcie_scan_all,realloc

  ... plus several false menuentry's added with the name set to the
  embedded-space option of the form:

  menuentry 'acpi_osi=Windows 2006 (on /dev/sdb3)' --class gnu-linux
  --class gnu --class os $menuentry_id_option 'osprober-
  gnulinux-/boot/vmlinuz-4.13.0-19-lowlatency-
  root=UUID=e0d25d21-b586-4611-8acc-637b1dca7fa8 ro single nomodeset
  acpi_osi=! "acpi_osi=Windows 2006" pci=assign-busses,pcie_scan_all
  ,realloc-5a7fa7e3-941d-4b88-a948-d736b5fdc93f' {

      linux /boot/vmlinuz-4.13.0-19-lowlatency
  root=UUID=e0d25d21-b586-4611-8acc-637b1dca7fa8 ro single nomodeset
  acpi_osi=! "acpi_osi=Windows 2006" pci=assign-
  busses,pcie_scan_all,realloc

  $ grep "menuentry 'acpi_osi=" /boot/grub/grub.cfg |  wc -l
  9

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1737604/+subscriptions



More information about the foundations-bugs mailing list