Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.4:ARM
grub2.28279
grub2-iterate-and-hook-for-extended-partition.p...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File grub2-iterate-and-hook-for-extended-partition.patch of Package grub2.28279
From: Michael Chang <mchang@suse.com> The same as in the previous patch, add a support for installing grub into an extended partition. Here, we do not ignore extended partitions anymore. Instead we call a hook that makes sure we have the partition when installing. Signed-off-by: Jiri Slaby <jslaby@suse.cz> References: https://bugzilla.novell.com/show_bug.cgi?id=750897 From: Andrey Borzenkov <arvidjaar@gmail.com> Apply this logic only to primary extended partition. Ignore extended partitions that are used to link together logical partitions. References: https://bugzilla.novell.com/show_bug.cgi?id=785341 --- Index: grub-2.00/grub-core/partmap/msdos.c =================================================================== --- grub-2.00.orig/grub-core/partmap/msdos.c +++ grub-2.00/grub-core/partmap/msdos.c @@ -188,13 +188,20 @@ grub_partition_msdos_iterate (grub_disk_ (unsigned long long) p.len); /* If this partition is a normal one, call the hook. */ - if (! grub_msdos_partition_is_empty (e->type) - && ! grub_msdos_partition_is_extended (e->type)) + if (! grub_msdos_partition_is_empty (e->type)) { - p.number++; + if (!grub_msdos_partition_is_extended (e->type) || p.number < 3) + { + p.number++; - if (hook (disk, &p, hook_data)) - return grub_errno; + /* prevent someone doing mkfs or mkswap on an + extended partition, but leave room for LILO */ + if (grub_msdos_partition_is_extended (e->type)) + p.len = 2; + + if (hook (disk, &p, hook_data)) + return grub_errno; + } } else if (p.number < 3) /* If this partition is a logical one, shouldn't increase the
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor