[grub2/f18] add bootpath device to the device list (pfsmorigo, #886685)

Karsten Hopp karsten at fedoraproject.org
Mon Dec 17 16:33:21 UTC 2012


commit 83401c6de5c92446592831d14c49d21bb2ff83cf
Author: Karsten Hopp <karsten at redhat.com>
Date:   Mon Dec 17 17:32:53 2012 +0100

    add bootpath device to the device list (pfsmorigo, #886685)

 grub2-add-bootpath-device-to-the-list.patch |   54 +++++++++++++++++++++++++++
 grub2.spec                                  |    6 ++-
 2 files changed, 59 insertions(+), 1 deletions(-)
---
diff --git a/grub2-add-bootpath-device-to-the-list.patch b/grub2-add-bootpath-device-to-the-list.patch
new file mode 100644
index 0000000..d493bb5
--- /dev/null
+++ b/grub2-add-bootpath-device-to-the-list.patch
@@ -0,0 +1,54 @@
+From d2863ca186a6d4ba2a56559bf522f46c18403645 Mon Sep 17 00:00:00 2001
+From: Fedora Ninjas <grub2-owner at fedoraproject.org>
+Date: Fri, 14 Dec 2012 20:10:21 -0200
+Subject: [PATCH] Add bootpath device to the list
+
+When scanning the devices, always check (and add) the bootpath device if it
+isn't in the device list.
+---
+ grub-core/disk/ieee1275/ofdisk.c | 29 +++++++++++++++++++++++++++++
+ 1 file changed, 29 insertions(+)
+
+diff --git a/grub-core/disk/ieee1275/ofdisk.c b/grub-core/disk/ieee1275/ofdisk.c
+index b0aa7ec..99b156e 100644
+--- a/grub-core/disk/ieee1275/ofdisk.c
++++ b/grub-core/disk/ieee1275/ofdisk.c
+@@ -213,6 +213,35 @@ scan (void)
+     return grub_children_iterate (alias->path, dev_iterate);
+   }
+ 
++  char *bootpath;
++  int bootpath_size;
++  char *type;
++
++  if (grub_ieee1275_get_property_length (grub_ieee1275_chosen, "bootpath",
++					 &bootpath_size)
++      || bootpath_size <= 0)
++    {
++      /* Should never happen.  */
++      grub_printf ("/chosen/bootpath property missing!\n");
++      return;
++    }
++
++  bootpath = (char *) grub_malloc ((grub_size_t) bootpath_size + 64);
++  if (! bootpath)
++    {
++      grub_print_error ();
++      return;
++    }
++  grub_ieee1275_get_property (grub_ieee1275_chosen, "bootpath", bootpath,
++                              (grub_size_t) bootpath_size + 1, 0);
++  bootpath[bootpath_size] = '\0';
++
++  type = grub_ieee1275_get_device_type (bootpath);
++  if (type && grub_strcmp (type, "block") == 0)
++      dev_iterate_real (bootpath, bootpath);
++
++  grub_free (bootpath);
++
+   grub_devalias_iterate (dev_iterate_alias);
+   grub_children_iterate ("/", dev_iterate);
+ }
+-- 
+1.8.0
+
diff --git a/grub2.spec b/grub2.spec
index b69afdb..b927a17 100644
--- a/grub2.spec
+++ b/grub2.spec
@@ -41,7 +41,7 @@
 Name:           grub2
 Epoch:          1
 Version:        2.00
-Release:        13%{?dist}
+Release:        14%{?dist}
 Summary:        Bootloader with support for Linux, Multiboot and more
 
 Group:          System Environment/Base
@@ -77,6 +77,7 @@ Patch33:	follow-the-symbolic-link-ieee1275.patch
 Patch34:	grub-2.00-add-X-option-to-printf-functions.patch
 Patch35:	grub-2.00-dhcp-client-id-and-uuid-options-added.patch
 Patch36:	grub-2.00-search-for-specific-config-file-for-netboot.patch
+Patch37:	grub2-add-bootpath-device-to-the-list.patch
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
@@ -430,6 +431,9 @@ fi
 %doc grub-%{tarversion}/themes/starfield/COPYING.CC-BY-SA-3.0
 
 %changelog
+* Mon Dec 17 2012 Karsten Hopp <karsten at redhat.com> 2.00-14
+- add bootpath device to the device list (pfsmorigo, #886685)
+
 * Tue Nov 27 2012 Peter Jones <pjones at redhat.com> - 2.00-13
 - Add vlan tag support (pfsmorigo, #871563)
 - Follow symlinks during PReP installation in grub2-install (pfsmorigo, #874234)


More information about the scm-commits mailing list