forked from pool/grub2
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:
parent
950c565c10
commit
82928bcff7
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
|
||||
|
||||
|
@ -79,7 +79,7 @@ BuildRequires: xen-devel
|
||||
%define grubarch %{grubcpu}-%{platform}
|
||||
|
||||
# build efi bootloader on some platforms only:
|
||||
%if ! 0%{?efi}
|
||||
%if ! 0%{?efi:1}
|
||||
%global efi %{ix86} x86_64 ia64 aarch64
|
||||
%endif
|
||||
%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
|
||||
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
|
||||
Patch49: grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch
|
||||
# Btrfs snapshot booting related patches
|
||||
Patch101: grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch
|
||||
Patch102: grub2-btrfs-02-export-subvolume-envvars.patch
|
||||
@ -364,6 +365,7 @@ mv po/grub.pot po/%{name}.pot
|
||||
%patch46 -p1
|
||||
%patch47 -p1
|
||||
%patch48 -p1
|
||||
%patch49 -p1
|
||||
%patch101 -p1
|
||||
%patch102 -p1
|
||||
%patch103 -p1
|
||||
|
Loading…
Reference in New Issue
Block a user