Commit graph

344 commits

Author SHA1 Message Date
Javier Martinez Canillas
db7cf3a089
More fixes for BLS
Add some fixes for BLS parsing logic and also make 20-grub.install script
to query the relative path of the kernel and initramfs images, so BLS can
also work when /boot is not a mount point or is a btrfs subvolume.

Also pull some build fixes.

Resolves: rhbz#1588184

Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
2018-06-07 19:02:21 +02:00
Javier Martinez Canillas
67f30b6a74 Two more fixes for BLS support
- Use version field to sort BLS entries if id field isn't defined
 - Add version field to BLS fragments generated by 20-grub.install

Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
2018-05-11 10:03:46 -04:00
Peter Jones
5034b2b164 A couple of fixes needed by Fedora Atomic - javierm
Signed-off-by: Peter Jones <pjones@redhat.com>
2018-04-24 10:42:11 -04:00
Peter Jones
b43faa2e9b Put the os-prober dep back in - we need to change test plans and criteria
before it can go.
  Resolves: rhbz#1569411

Signed-off-by: Peter Jones <pjones@redhat.com>
2018-04-23 15:21:59 -04:00
Peter Jones
7fae9c0df0 Work around some issues with older automake found in CentOS.
Make multiple initramfs images work in BLS.

Signed-off-by: Peter Jones <pjones@redhat.com>
2018-04-11 14:47:31 -04:00
Peter Jones
3c4dd19ca5 Work around some issues with older automake found in CentOS.
Signed-off-by: Peter Jones <pjones@redhat.com>
2018-04-11 14:42:18 -04:00
Javier Martinez Canillas
4decb44288 Make 20-grub.install to generate debug BLS when MAKEDEBUG is set
If MAKEDEBUG=yes in /etc/sysconfig/kernel, then a debug menu entry should
be created. So for BLS, a debug configuration file has to be created that
contains debug kernel command line parameters.

Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
2018-04-11 10:10:58 -04:00
Peter Jones
146faa5a93 Pull in some TPM fixes I missed.
Signed-off-by: Peter Jones <pjones@redhat.com>
2018-04-06 16:18:21 -04:00
Peter Jones
da1991e3f0 Enable TPM measurements
Set the default boot entry to the first entry when we're using BLS.

Signed-off-by: Peter Jones <pjones@redhat.com>
2018-04-06 15:41:46 -04:00
Peter Jones
e8e6235eab Fix for BLS paths on BIOS / non-UEFI (javierm)
Signed-off-by: Peter Jones <pjones@redhat.com>
2018-04-03 13:37:54 -04:00
Peter Jones
a77a66863f I am getting very tired of this
Signed-off-by: Peter Jones <pjones@redhat.com>
2018-03-16 16:42:01 -04:00
Peter Jones
b65b645183 Rebased to newer upstream for fedora-28
Signed-off-by: Peter Jones <pjones@redhat.com>
2018-03-16 16:41:23 -04:00
Peter Jones
2e4660d8c6 blscfg scripts
Install kernel-install scripts. (javierm)
Add grub2-switch-to-blscfg

Signed-off-by: Peter Jones <pjones@redhat.com>
2018-03-16 14:45:30 -04:00
Javier Martinez Canillas
4a0d9d88ab Add kernel-install scripts
Install a 20-grubby.install and 90-loaderentry.install kernel-install
scripts in /etc/kernel/install.d so these have higher precedence than
the ones installed in /usr/lib/kernel/install.d by the systemd pkg.

If GRUB 2 pkg isn't installed, then the systemd scripts are executed
on kernel installation and removal.

Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
2018-03-14 17:07:19 -04:00
Peter Jones
4497b0da96 Build the blscfg module in on EFI builds.
Signed-off-by: Peter Jones <pjones@redhat.com>
2018-03-06 14:46:09 -05:00
Peter Jones
81987f4958 Update grub2 for f28
- Try to fix things for new compiler madness.
  I really don't know why gcc decided __attribute__((packed)) on a "typedef
  struct" should imply __attribute__((align (1))) and that it should have a
  warning that it does so.  The obvious behavior would be to keep the alignment
  of the first element unless it's used in another object or type that /also/
  hask the packed attribute.  Why should it change the default alignment at
  all?
- Merge in the BLS patches Javier and I wrote.
- Attempt to fix pmtimer initialization failures to not be super duper slow.

Signed-off-by: Peter Jones <pjones@redhat.com>
2018-02-28 09:40:44 -05:00
Igor Gnatenko
38305f23ff
Remove %clean section
None of currently supported distributions need that.
Last one was EL5 which is EOL for a while.

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-14 08:05:13 +01:00
Igor Gnatenko
8bbfda8a06
Escape macros in %changelog
Reference: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/Y2ZUKK2B7T2IKXPMODNF6HB2O5T5TS6H/
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-09 09:04:38 +01:00
Peter Jones
8b3d200862 Fix a merge error from 2.02-21 that affected kernel loading on Aarch64.
Fix a merge error from 2.02-21 that affected kernel loading on Aarch64.
Related: rhbz#1519311
Related: rhbz#1506704
Related: rhbz#1502312

Signed-off-by: Peter Jones <pjones@redhat.com>
2018-01-23 16:35:31 -05:00
Peter Jones
d51395ea7f Update our gcc nerfing.
- Only nerf annobin, not -fstack-crash-protection.
- Fix a conflict on /boot/efi directory permissions between -cdboot and the
  normal bootloader.

Signed-off-by: Peter Jones <pjones@redhat.com>
2018-01-19 13:17:09 -05:00
Peter Jones
28076bb004 Nerf some new gcc 'features'
For now, completely nerf annobin and -fstack-clash-protection; at least
one of those things makes grubx64.efi crash on start.

Signed-off-by: Peter Jones <pjones@redhat.com>
2018-01-18 18:23:41 -05:00
Peter Jones
a91fed7f66 Fix some efi modules bugs
- Fix grub2-efi-modules provides/obsoletes generation
  Resolves: rhbz#1506704
- *Also* build grub-efi-ia32{,-*,!-modules} packages for i686 builds
  Resolves: rhbz#1502312

Signed-off-by: Peter Jones <pjones@redhat.com>
2018-01-18 14:14:19 -05:00
Peter Jones
8cceee7ebe Make everything under /boot/efi be mode 0700, since that's what FAT will
show anyway.

Signed-off-by: Peter Jones <pjones@redhat.com>
2018-01-18 14:12:52 -05:00
Peter Jones
da63b36ca7 Rebase to newer upstream and fix pmtimer.
- Rebase to current master
- Fix pmtimer calibration to not take forever to fail on kvm.

Signed-off-by: Peter Jones <pjones@redhat.com>
2018-01-17 15:41:44 -05:00
Peter Jones
307d019554 Handle xen module loading (somewhat) better
You'll still need to actually install grub2-${efiarch}-modules and then
use grub2-install to install the xen modules in /boot/grub2/,
but this should handle actually loading them from the grub config file.

Resolves: rhbz#1486002

Signed-off-by: Peter Jones <pjones@redhat.com>
2017-10-24 12:53:12 -04:00
Peter Jones
e1f4c0ec1e Make grub2-efi-aa64 provide grub2
I'm not sure this is 100% the right place to do this - maybe it should
go in anaconda - but it seems most expedient :/

Resolves: rhbz#1491045

Signed-off-by: Peter Jones <pjones@redhat.com>
2017-09-20 15:28:42 -04:00
Dennis Gilmore
8887fc70b1 bump for Obsoletes again
Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2017-09-11 12:39:02 -05:00
Peter Jones
b52a729921 Fix Obsoletes on grub2-pc
Signed-off-by: Peter Jones <pjones@redhat.com>
2017-09-06 18:26:03 -04:00
Petr Šabata
50a9c3a2b3 Limit the pattern matching in do_alt_efi_install to files
This unbreaks module builds that contain the ".module" string in their
dist tags.

Signed-off-by: Petr Šabata <contyk@redhat.com>
2017-08-30 11:03:41 -04:00
Peter Jones
7849a868f2 Revert the /usr/lib/.build-id/ change
Revert the /usr/lib/.build-id/ change:
  https://fedoraproject.org/wiki/Changes/ParallelInstallableDebuginfo
  says (without any particularly convincing reasoning):
    The main build-id file should not be in the debuginfo file, but in the
    main package (this was always a problem since the package and debuginfo
    package installed might not match). If we want to make usr/lib/debug/ a
    network resource then we will need to move the symlink to another
    location (maybe /usr/lib/.build-id).
  So do it that way.  Of course it doesn't matter, because exclude gets
  ignored due to implementation details.

Signed-off-by: Peter Jones <pjones@redhat.com>
2017-08-25 16:40:58 -04:00
Peter Jones
152cdcd6f5 Minor updates to provides and excludes
Add some unconditional Provides:
  grub2-efi on grub2-efi-${arch}
  grub2-efi-cdboot on grub2-efi-${arch}-cdboot
  grub2 on all grub2-${arch} pacakges
Something is somehow adding /usr/lib/.build-id/... to all the -tools
  subpackages, so exclude all that.

Signed-off-by: Peter Jones <pjones@redhat.com>
2017-08-25 13:31:34 -04:00
Peter Jones
1300d7b633 Fix arm kernel command line allocation
Resolves: rhbz#1484609
Get rid of the temporary extra efi packages hack.

Signed-off-by: Peter Jones <pjones@redhat.com>
2017-08-24 14:10:08 -04:00
Peter Jones
53a4172ac4 Various fixups
- Put grub2-mkimage in -tools, not -tools-extra.
- Fix i686 building
- Fix ppc HFS+ usage due to /boot/efi's presence.

Signed-off-by: Peter Jones <pjones@redhat.com>
2017-08-23 17:05:03 -04:00
Peter Jones
71e0fb4ea6 Put grub2-mkimage in -tools, not -tools-extra.
Signed-off-by: Peter Jones <pjones@redhat.com>
2017-08-22 11:14:37 -04:00
Peter Jones
31ea67e0aa Add the .img files into grub2-pc-modules (and all legacy variants)
autoqa is seeing a failure that looks like:

13:50:17,909 INF program: grub2-install: error: cannot open `/usr/lib/grub/i386-pc/lzma_decompress.img': No such file or directory.

And it's because the .img files are currently excluded.  So put them
back.

Signed-off-by: Peter Jones <pjones@redhat.com>
2017-08-18 17:36:01 -04:00
Peter Jones
3619a3f545 Simplify some of the macros a bit.
Signed-off-by: Peter Jones <pjones@redhat.com>
2017-08-17 13:28:53 -04:00
Peter Jones
41c1671979 Actually fix the configure usage and the gcc -E weirdness.
Signed-off-by: Peter Jones <pjones@redhat.com>
2017-08-17 13:28:53 -04:00
Peter Jones
dcee992d1c Fix some build failures.
Signed-off-by: Peter Jones <pjones@redhat.com>
2017-08-16 17:04:58 -04:00
Peter Jones
35d1684777 Make a temporary grub2-efi package on 64-bit efi arches.
This makes it so we can build grub2 with the changes before anaconda and
lorax are fixed.

Signed-off-by: Peter Jones <pjones@redhat.com>
2017-08-16 15:05:31 -04:00
Peter Jones
345233e0e5 fix grubenv once more... 2017-08-16 15:05:26 -04:00
Peter Jones
9d2fddcf46 Fix a merge error that dropped the grub.macros and grub.patches sources
Signed-off-by: Peter Jones <pjones@redhat.com>
2017-08-16 15:05:12 -04:00
Peter Jones
b50565e33e Make ia32 work as well.
- make it work with rpm-4.13.90
- split up the packages for various arch targets so ia32 can work

Signed-off-by: Peter Jones <pjones@redhat.com>
2017-08-16 15:05:12 -04:00
Peter Jones
bbc6a8998a Rebased to newer upstream for fedora-27
Signed-off-by: Peter Jones <pjones@redhat.com>
2017-08-16 11:14:30 -04:00
Peter Jones
47f2daf5df Rebuild again with new fixed rpm. (bug #1480407)
Signed-off-by: Peter Jones <pjones@redhat.com>
2017-08-15 15:08:31 -04:00
Kevin Fenzi
21962f5359 Rebuild again with new fixed rpm. (bug #1480407) 2017-08-11 08:59:07 -07:00
Kevin Fenzi
e3cdc195c4 Rebuild for rpm soname bump again 2017-08-10 14:47:43 -07:00
Igor Gnatenko
5e05dbf1e6 Rebuilt for RPM soname bump
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
2017-08-10 20:24:55 +02:00
Peter Jones
73823ebf7d Undo those last two - something is going wrong with fedpkg locally.
Somehow the wrong version is getting built, and I'm quite confused as to
why:

trillian:~/devel/fedora/grub2/master$ fedpkg build
/usr/lib/python2.7/site-packages/fedora/client/bodhi.py:48: DeprecationWarning: fedora.client.bodhi has been deprecated. Please use bodhi.client.bindings instead.
  DeprecationWarning)
Building grub2-2.02-3.fc27 for rawhide

         ^^^^^^^^^^^^^^^^^ looks correct

Created task: 21022413
Task info: https://koji.fedoraproject.org/koji/taskinfo?taskID=21022413
Watching tasks (this may be safely interrupted)...
21022413 build (rawhide, /rpms/grub2:bf8e18bc1df80b77e218e3e673f9e3f8f2116542): free
21022413 build (rawhide, /rpms/grub2:bf8e18bc1df80b77e218e3e673f9e3f8f2116542): free -> open (buildvm-aarch64-01.arm.fedoraproject.org)
  21022414 buildSRPMFromSCM (/rpms/grub2:bf8e18bc1df80b77e218e3e673f9e3f8f2116542): free
  21022414 buildSRPMFromSCM (/rpms/grub2:bf8e18bc1df80b77e218e3e673f9e3f8f2116542): free -> open (buildvm-aarch64-01.arm.fedoraproject.org)
  21022414 buildSRPMFromSCM (/rpms/grub2:bf8e18bc1df80b77e218e3e673f9e3f8f2116542): open (buildvm-aarch64-01.arm.fedoraproject.org) -> closed
  0 free  1 open  1 done  0 failed
  21022475 buildArch (grub2-2.02-0.25.fc27.src.rpm, i686): free

                      ^^^^^^^^^^^^^^^^^^^^ does not look correct

So I'm trying from a fresh checkout instead.

Signed-off-by: Peter Jones <pjones@redhat.com>
2017-08-03 15:06:42 -04:00
Peter Jones
1f054ac587 Try even harder to make it look like the scratch build that worked...
Signed-off-by: Peter Jones <pjones@redhat.com>
2017-08-03 14:50:49 -04:00
Peter Jones
9322a748fe For some reason build-ids are breaking aarch64 (again.)
Signed-off-by: Peter Jones <pjones@redhat.com>
2017-08-03 14:30:15 -04:00