Accepting request 259156 from Base:System
1 OBS-URL: https://build.opensuse.org/request/show/259156 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/grub2?expand=0&rev=103
This commit is contained in:
commit
d4130bac11
60
grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch
Normal file
60
grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
Index: grub-2.02~beta2/util/setup.c
|
||||||
|
===================================================================
|
||||||
|
--- grub-2.02~beta2.orig/util/setup.c
|
||||||
|
+++ grub-2.02~beta2/util/setup.c
|
||||||
|
@@ -501,8 +501,44 @@ SETUP (const char *dir,
|
||||||
|
err = grub_util_ldm_embed (dest_dev->disk, &nsec, maxsec,
|
||||||
|
GRUB_EMBED_PCBIOS, §ors);
|
||||||
|
else if (ctx.dest_partmap)
|
||||||
|
- err = ctx.dest_partmap->embed (dest_dev->disk, &nsec, maxsec,
|
||||||
|
- GRUB_EMBED_PCBIOS, §ors);
|
||||||
|
+ {
|
||||||
|
+ err = ctx.dest_partmap->embed (dest_dev->disk, &nsec, maxsec,
|
||||||
|
+ GRUB_EMBED_PCBIOS, §ors);
|
||||||
|
+#ifdef GRUB_SETUP_BIOS
|
||||||
|
+ if (err == GRUB_ERR_OUT_OF_RANGE
|
||||||
|
+ && strcmp (ctx.dest_partmap->name, "msdos") == 0
|
||||||
|
+ && dest_dev->disk->id == root_dev->disk->id
|
||||||
|
+ && dest_dev->disk->dev->id == root_dev->disk->dev->id)
|
||||||
|
+ {
|
||||||
|
+ grub_fs_t root_fs;
|
||||||
|
+
|
||||||
|
+ root_fs = grub_fs_probe (root_dev);
|
||||||
|
+ if (root_fs && root_fs->embed)
|
||||||
|
+ {
|
||||||
|
+ grub_disk_addr_t *fs_sectors;
|
||||||
|
+ unsigned int fs_nsec;
|
||||||
|
+
|
||||||
|
+ fs_sectors = NULL;
|
||||||
|
+ fs_nsec = core_sectors;
|
||||||
|
+ err = root_fs->embed (root_dev, &fs_nsec, maxsec,
|
||||||
|
+ GRUB_EMBED_PCBIOS, &fs_sectors);
|
||||||
|
+ if (!err && fs_nsec >= core_sectors)
|
||||||
|
+ {
|
||||||
|
+ grub_util_info ("Your msdos embedding area is too small, will use file system embedding area instead");
|
||||||
|
+ sectors = fs_sectors;
|
||||||
|
+ nsec = fs_nsec;
|
||||||
|
+ ctx.container = root_dev->disk->partition;
|
||||||
|
+ core_dev = root_dev;
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ {
|
||||||
|
+ if (fs_sectors)
|
||||||
|
+ grub_free (fs_sectors);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
+ }
|
||||||
|
else
|
||||||
|
err = fs->embed (dest_dev, &nsec, maxsec,
|
||||||
|
GRUB_EMBED_PCBIOS, §ors);
|
||||||
|
@@ -584,7 +620,7 @@ SETUP (const char *dir,
|
||||||
|
|
||||||
|
/* Write the core image onto the disk. */
|
||||||
|
for (i = 0; i < nsec; i++)
|
||||||
|
- grub_disk_write (dest_dev->disk, sectors[i], 0,
|
||||||
|
+ grub_disk_write (core_dev->disk, sectors[i], 0,
|
||||||
|
GRUB_DISK_SECTOR_SIZE,
|
||||||
|
core_img + i * GRUB_DISK_SECTOR_SIZE);
|
||||||
|
|
@ -1,3 +1,20 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Oct 30 15:18:16 CET 2014 - jdelvare@suse.de
|
||||||
|
|
||||||
|
- grub2.spec: Fix conditional construct which wasn't supported by
|
||||||
|
older versions of rpmbuild (caused error message
|
||||||
|
"parseExpressionBoolean returns -1".)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Oct 30 07:36:15 UTC 2014 - mchang@suse.com
|
||||||
|
|
||||||
|
- fix errors when boot is btrfs with Windows partition scheme. The
|
||||||
|
first partition is created on cylinder boundary that can't offer
|
||||||
|
enough room for core.img and also the installation has to be in
|
||||||
|
logical paritition which made MBR the only location to install.
|
||||||
|
(bnc#841247)
|
||||||
|
* add grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Sep 30 03:45:04 UTC 2014 - mchang@suse.com
|
Tue Sep 30 03:45:04 UTC 2014 - mchang@suse.com
|
||||||
|
|
||||||
|
@ -79,7 +79,7 @@ BuildRequires: xen-devel
|
|||||||
%define grubarch %{grubcpu}-%{platform}
|
%define grubarch %{grubcpu}-%{platform}
|
||||||
|
|
||||||
# build efi bootloader on some platforms only:
|
# build efi bootloader on some platforms only:
|
||||||
%if ! 0%{?efi}
|
%if ! 0%{?efi:1}
|
||||||
%global efi %{ix86} x86_64 ia64 aarch64
|
%global efi %{ix86} x86_64 ia64 aarch64
|
||||||
%endif
|
%endif
|
||||||
%ifarch aarch64
|
%ifarch aarch64
|
||||||
@ -158,6 +158,7 @@ Patch45: grub2-efinet-reopen-SNP-protocol-for-exclusive-use-by-grub.patch
|
|||||||
Patch46: grub2-xen-legacy-config-device-name.patch
|
Patch46: grub2-xen-legacy-config-device-name.patch
|
||||||
Patch47: grub2-Initialized-initrd_ctx-so-we-don-t-free-a-random-poi.patch
|
Patch47: grub2-Initialized-initrd_ctx-so-we-don-t-free-a-random-poi.patch
|
||||||
Patch48: grub2-btrfs-fix-get_root-key-comparison-failures-due-to-en.patch
|
Patch48: grub2-btrfs-fix-get_root-key-comparison-failures-due-to-en.patch
|
||||||
|
Patch49: grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch
|
||||||
# Btrfs snapshot booting related patches
|
# Btrfs snapshot booting related patches
|
||||||
Patch101: grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch
|
Patch101: grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch
|
||||||
Patch102: grub2-btrfs-02-export-subvolume-envvars.patch
|
Patch102: grub2-btrfs-02-export-subvolume-envvars.patch
|
||||||
@ -364,6 +365,7 @@ mv po/grub.pot po/%{name}.pot
|
|||||||
%patch46 -p1
|
%patch46 -p1
|
||||||
%patch47 -p1
|
%patch47 -p1
|
||||||
%patch48 -p1
|
%patch48 -p1
|
||||||
|
%patch49 -p1
|
||||||
%patch101 -p1
|
%patch101 -p1
|
||||||
%patch102 -p1
|
%patch102 -p1
|
||||||
%patch103 -p1
|
%patch103 -p1
|
||||||
|
Loading…
Reference in New Issue
Block a user