[Bug 1261817] Re: Grub2 does not setup existing linux operating systems correctly on PowerPC

Adam Smith 1261817 at bugs.launchpad.net
Wed Dec 18 13:37:23 UTC 2013


Attached is the patch.  If anybody wants to fix this on their system
then all you need to do is edit the file /usr/lib/linux-boot-
probes/mounted/40yaboot and apply the changes.

** Attachment added: "Fix root UUID on PowerPC"
   https://bugs.launchpad.net/ubuntu/+source/os-prober/+bug/1261817/+attachment/3931882/+files/os-prober-patch

-- 
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/1261817

Title:
  Grub2 does not setup existing linux operating systems correctly on
  PowerPC

Status in “os-prober” package in Ubuntu:
  New

Bug description:
  Hello

  I don't know if Ubuntu have any plans to use Grub2 for PowerPC, but
  currently there is an easily fixable bug with os-prober:

  Existing installations that use yaboot will normally have their root
  defined like so in a yaboot.conf:

  root=UUID=big-long-number-0000

  However, os-prober (or more accuratly the file 40yaboot) when it scans
  the yaboot.conf will read this as

  root=UUID

  Consequently, when the operating system is selected from a grub2 menu
  it fails to boot.

  This can be solved by changing (in 40yaboot)

  		case "$1" in
  			root)
  				rootdev="$(dequote "$2")"

  to

  		case "$1" in
  			root)
  				shift 1
  				rootdev="$(dequote "${line#root=}")"

  I'll make a proper diff patch when I'm back on a linux machine.  I'm
  not sure if the shift 1 is necessary. but  some of the other cases
  seem to have it so I put it in.

  I had a look at yaboot-installer to see how that does things and
  interestingly that has its own piece of code to setup root:

  # Get UUID= or LABEL= for the given unix partition block device.
  # If it could not be determined, give the unix partition block device back.
  uuidlabel() {
    echo `devsymlink "$1" nobyid` \
    | sed -e "s,/dev/disk/by-uuid/,UUID=," \
          -e "s,/dev/disk/by-label/,LABEL=,"
  }

  root="`uuidlabel "$mappedpartition"`"

  This therefore doesn't suffer from this bug.  It's actually quite a
  sensible thing to do since root=/dev/sdx (which a lot of old installs
  used to use) is unreliable.  I don't know whether to create a patch
  for os-prober to do the same, or if the grub2 scripts should really
  sort it out.

  Anyway, that's turned into a bit of a ramble.  Oh, nearly forgot,
  fedora also has a patch on os-prober for PowerPC - see
  https://bugzilla.redhat.com/show_bug.cgi?id=825041 .

  I'm toying with the idea of creating an updated iso for Ubuntu 12.04.
  If I do then I plan to use Grub2 as the bootloader.  If you would like
  to collaborate on shifting PowerPC to grub2 then get in touch!

  Thanks

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/os-prober/+bug/1261817/+subscriptions



More information about the foundations-bugs mailing list