mirror of
https://src.fedoraproject.org/rpms/grub2.git
synced 2024-11-28 07:44:52 +00:00
Split module lists for UEFI boot vs UEFI cd images.
- Add raid modules for UEFI image (related: #750794) - Include a prelink whitelist for binaries that need execstack (#839813)
This commit is contained in:
parent
711f8a06f9
commit
5d4d4776f9
2 changed files with 61 additions and 5 deletions
34
grub-2.00-dont-decrease-mmap-size.patch
Normal file
34
grub-2.00-dont-decrease-mmap-size.patch
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
From: Stuart Hayes <stuart.hayes@dell.com>
|
||||||
|
Subject: Don't decrease efi memory map size
|
||||||
|
Date: 2012-07-02 09:14:37 +0000
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--- a/grub-core/loader/i386/linux.c 2012-06-27 20:55:09 +0000
|
||||||
|
+++ b/grub-core/loader/i386/linux.c 2012-07-02 09:14:37 +0000
|
||||||
|
@@ -118,12 +118,13 @@
|
||||||
|
int ret;
|
||||||
|
grub_efi_memory_descriptor_t *mmap;
|
||||||
|
grub_efi_uintn_t desc_size;
|
||||||
|
+ grub_efi_uintn_t cur_mmap_size = mmap_size;
|
||||||
|
|
||||||
|
- mmap = grub_malloc (mmap_size);
|
||||||
|
+ mmap = grub_malloc (cur_mmap_size);
|
||||||
|
if (! mmap)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
- ret = grub_efi_get_memory_map (&mmap_size, mmap, 0, &desc_size, 0);
|
||||||
|
+ ret = grub_efi_get_memory_map (&cur_mmap_size, mmap, 0, &desc_size, 0);
|
||||||
|
grub_free (mmap);
|
||||||
|
|
||||||
|
if (ret < 0)
|
||||||
|
@@ -134,6 +135,8 @@
|
||||||
|
else if (ret > 0)
|
||||||
|
break;
|
||||||
|
|
||||||
|
+ if (mmap_size < cur_mmap_size)
|
||||||
|
+ mmap_size = cur_mmap_size;
|
||||||
|
mmap_size += (1 << 12);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
32
grub2.spec
32
grub2.spec
|
@ -18,10 +18,12 @@
|
||||||
%ifarch %{ix86}
|
%ifarch %{ix86}
|
||||||
%global grubefiarch i386-efi
|
%global grubefiarch i386-efi
|
||||||
%global grubefiname grubia32.efi
|
%global grubefiname grubia32.efi
|
||||||
|
%global grubeficdname gcdia32.efi
|
||||||
%endif
|
%endif
|
||||||
%ifarch x86_64
|
%ifarch x86_64
|
||||||
%global grubefiarch %{_arch}-efi
|
%global grubefiarch %{_arch}-efi
|
||||||
%global grubefiname grubx64.efi
|
%global grubefiname grubx64.efi
|
||||||
|
%global grubeficdname gcdx64.efi
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?rhel}
|
%if 0%{?rhel}
|
||||||
|
@ -164,17 +166,19 @@ cd grub-efi-%{tarversion}
|
||||||
--program-transform-name=s,grub,%{name}, \
|
--program-transform-name=s,grub,%{name}, \
|
||||||
--disable-werror
|
--disable-werror
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
GRUB_MODULES=" all_video boot btrfs cat chain configfile echo efifwsetup \
|
CD_MODULES=" all_video boot btrfs cat chain configfile echo efifwsetup \
|
||||||
efinet ext2 fat font gfxmenu gfxterm gzio halt hfsplus iso9660 \
|
efinet ext2 fat font gfxmenu gfxterm gzio halt hfsplus iso9660 \
|
||||||
jpeg linuxefi minicmd normal part_msdos part_gpt \
|
jpeg linuxefi minicmd normal part_msdos part_gpt \
|
||||||
password_pbkdf2 png reboot search search_fs_uuid \
|
password_pbkdf2 png reboot search search_fs_uuid \
|
||||||
search_fs_file search_label test video"
|
search_fs_file search_label test video"
|
||||||
|
./grub-mkimage -O %{grubefiarch} -o %{grubeficdname}.orig -p /EFI/BOOT \
|
||||||
|
-d grub-core ${CD_MODULES}
|
||||||
|
pesign -s -c "Red Hat Test Certificate" -i %{grubeficdname}.orig \
|
||||||
|
-o %{grubeficdname}
|
||||||
|
GRUB_MODULES="${CD_MODULES} mdraid09 mdraid1x"
|
||||||
./grub-mkimage -O %{grubefiarch} -o %{grubefiname}.orig -p /EFI/%{efidir} \
|
./grub-mkimage -O %{grubefiarch} -o %{grubefiname}.orig -p /EFI/%{efidir} \
|
||||||
-d grub-core ${GRUB_MODULES}
|
-d grub-core ${GRUB_MODULES}
|
||||||
pesign -s -c "Red Hat Test Certificate" -i %{grubefiname}.orig -o %{grubefiname}
|
pesign -s -c "Red Hat Test Certificate" -i %{grubefiname}.orig -o %{grubefiname}
|
||||||
./grub-mkimage -O %{grubefiarch} -o grub-cd.efi.orig -p /EFI/BOOT \
|
|
||||||
-d grub-core ${GRUB_MODULES}
|
|
||||||
pesign -s -c "Red Hat Test Certificate" -i grub-cd.efi.orig -o grub-cd.efi
|
|
||||||
cd ..
|
cd ..
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
@ -245,7 +249,7 @@ do
|
||||||
# install -m 755 -D $BASE$EXT $TGT
|
# install -m 755 -D $BASE$EXT $TGT
|
||||||
done
|
done
|
||||||
install -m 755 %{grubefiname} $RPM_BUILD_ROOT/boot/efi/EFI/%{efidir}/%{grubefiname}
|
install -m 755 %{grubefiname} $RPM_BUILD_ROOT/boot/efi/EFI/%{efidir}/%{grubefiname}
|
||||||
install -m 755 grub-cd.efi $RPM_BUILD_ROOT/boot/efi/EFI/%{efidir}/grub-cd.efi
|
install -m 755 %{grubeficdname} $RPM_BUILD_ROOT/boot/efi/EFI/%{efidir}/%{grubeficdname}
|
||||||
install -D -m 644 unicode.pf2 $RPM_BUILD_ROOT/boot/efi/EFI/%{efidir}/fonts/unicode.pf2
|
install -D -m 644 unicode.pf2 $RPM_BUILD_ROOT/boot/efi/EFI/%{efidir}/fonts/unicode.pf2
|
||||||
cd ..
|
cd ..
|
||||||
%endif
|
%endif
|
||||||
|
@ -293,6 +297,18 @@ $RPM_BUILD_ROOT%{_bindir}/%{name}-mkfont -o boot/grub2/themes/system/DejaVuSans-
|
||||||
$RPM_BUILD_ROOT%{_bindir}/%{name}-mkfont -o boot/grub2/themes/system/DejaVuSans-12.pf2 -s 12 /usr/share/fonts/dejavu/DejaVuSans.ttf # "DejaVu Sans Regular 12"
|
$RPM_BUILD_ROOT%{_bindir}/%{name}-mkfont -o boot/grub2/themes/system/DejaVuSans-12.pf2 -s 12 /usr/share/fonts/dejavu/DejaVuSans.ttf # "DejaVu Sans Regular 12"
|
||||||
$RPM_BUILD_ROOT%{_bindir}/%{name}-mkfont -o boot/grub2/themes/system/DejaVuSans-Bold-14.pf2 -s 14 /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf # "DejaVu Sans Bold 14"
|
$RPM_BUILD_ROOT%{_bindir}/%{name}-mkfont -o boot/grub2/themes/system/DejaVuSans-Bold-14.pf2 -s 14 /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf # "DejaVu Sans Bold 14"
|
||||||
|
|
||||||
|
# Make selinux happy with exec stack binaries.
|
||||||
|
mkdir ${RPM_BUILD_ROOT}%{_sysconfdir}/prelink.conf.d/
|
||||||
|
cat << EOF > ${RPM_BUILD_ROOT}%{_sysconfdir}/prelink.conf.d/grub2.conf
|
||||||
|
# these have execstack, and break under selinux
|
||||||
|
-b /usr/bin/grub2-script-check
|
||||||
|
-b /usr/bin/grub2-mkrelpath
|
||||||
|
-b /usr/bin/grub2-fstest
|
||||||
|
-b /usr/sbin/grub2-bios-setup
|
||||||
|
-b /usr/sbin/grub2-probe
|
||||||
|
-b /usr/sbin/grub2-sparc64-setup
|
||||||
|
EOF
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
|
@ -379,6 +395,7 @@ fi
|
||||||
%endif
|
%endif
|
||||||
%{_bindir}/%{name}-script-check
|
%{_bindir}/%{name}-script-check
|
||||||
%{_sysconfdir}/bash_completion.d/grub
|
%{_sysconfdir}/bash_completion.d/grub
|
||||||
|
%{_sysconfdir}/prelink.conf.d/grub2.conf
|
||||||
%attr(0700,root,root) %dir %{_sysconfdir}/grub.d
|
%attr(0700,root,root) %dir %{_sysconfdir}/grub.d
|
||||||
%config %{_sysconfdir}/grub.d/??_*
|
%config %{_sysconfdir}/grub.d/??_*
|
||||||
%{_sysconfdir}/grub.d/README
|
%{_sysconfdir}/grub.d/README
|
||||||
|
@ -397,6 +414,11 @@ fi
|
||||||
%doc grub-%{tarversion}/themes/starfield/COPYING.CC-BY-SA-3.0
|
%doc grub-%{tarversion}/themes/starfield/COPYING.CC-BY-SA-3.0
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Aug 08 2012 Peter Jones <pjones@redhat.com>
|
||||||
|
- Split module lists for UEFI boot vs UEFI cd images.
|
||||||
|
- Add raid modules for UEFI image (related: #750794)
|
||||||
|
- Include a prelink whitelist for binaries that need execstack (#839813)
|
||||||
|
|
||||||
* Wed Aug 08 2012 Peter Jones <pjones@redhat.com> - 2.00-4
|
* Wed Aug 08 2012 Peter Jones <pjones@redhat.com> - 2.00-4
|
||||||
- Correct grub-mkimage invocation to use efidir RPM macro (jwb)
|
- Correct grub-mkimage invocation to use efidir RPM macro (jwb)
|
||||||
- Sign with test keys on UEFI systems.
|
- Sign with test keys on UEFI systems.
|
||||||
|
|
Loading…
Reference in a new issue