Package Details: grub-git 2.12.rc1.r106.g7c8ae7dcb-1

Git Clone URL: https://aur.archlinux.org/grub-git.git (read-only, click to copy)
Package Base: grub-git
Description: GNU GRand Unified Bootloader (2)
Upstream URL: https://www.gnu.org/software/grub/
Licenses: GPL3
Conflicts: grub
Provides: grub
Submitter: ka2107
Maintainer: WoefulDerelict
Last Packager: WoefulDerelict
Votes: 17
Popularity: 0.003413
First Submitted: 2013-10-22 18:55 (UTC)
Last Updated: 2023-12-18 22:58 (UTC)

Dependencies (21)

Required by (309)

Sources (7)

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 .. 18 Next › Last »

WoefulDerelict commented on 2020-02-14 18:01 (UTC) (edited on 2020-02-14 18:03 (UTC) by WoefulDerelict)

air-g4p: This is an odd PKGBUILD. It attempts to balance human readability and ease of maintenance while simultaneously mirroring the package in [Core]. Each PKGBUILD contains instructions to build GRUB for up to four targets before carefully packaging the result together. This allows a single package to support both BIOS and UEFI systems. The PKGBUILD used to construct the binary package in the [Core] repository builds for three targets by default, BIOS systems, 64-bit UEFI and 32-bit UEFI. The [Core] PKGBUILD doesn't enable the fourth target, GRUB EMU, by default; however, the PKGBUILD here does.

This PKGBUILD also sources two other master branches in order to build. grub-extras and gnulib are included in the build and also have the possibility to change in a way that might cause unexpected breakage. This software is also sourced by the release package in [Core]; however, the utility to change vbemodes on Intel integrated graphics is the only part of grub-extras actually included in the build performed by the PKGBUILD for the [Core] repository. This PKGBUILD only excludes the lua module from grub-extras as it has not been updated to cope with recent changes to grub and currently fails to build. When it has been patched to cope with the offending change I'll enable it again.

As the primary audience one has targeted with this PKGBUILD is Arch Linux users who are curious about testing and contributing to GRUB's development I've erred on the side of code coverage, including extra features in the build like GRUB EMU and the other modules from grub-extras.

air-g4p commented on 2020-02-14 16:15 (UTC)

@WoefulDerelict

I think your pinning idea makes good sense if your schedule constraints at some point allow you sufficient time.

Thank you for the link. After reading Patrick's comments re: disk: Implement support for LUKS2 @ http://git.savannah.gnu.org/cgit/grub.git/commit/?id=365e0cc3e7e44151c14dd29514c2f870b49f9755 ...

I am confident that really smart people are thinking deeply about this currently intractable problem.

WoefulDerelict, I do realize you understand and are watching upstream like a hawk, but please allow me to acknowledge the superior contributions you have made as an AUR Maintainer...@rarely found (3+ standard deviations) EXCELLENCE!

WoefulDerelict commented on 2020-02-14 06:22 (UTC)

I should probably add a pin here with a generalised warning that GRUB's master branch is on the raw side and that bleeding edge features are liable to live up to their name. I'll add that to my to do list and try to include some helpful resources for things like reporting issues upstream and browsing the commits to master from the web.

air-g4p: This may be one of those features that is best to wait until it hits a release before deploying it on an important system. The next time I'm able to build a package with this PKGBUILD I'll push the updated pkgver to the web. Check out http://git.savannah.gnu.org/cgit/grub.git/log/ for current and detailed information about commits to grub's source.

air-g4p commented on 2020-02-14 05:04 (UTC)

@RushAur: Thanks, your breakage, like mine, should serve as a heads up to everyone else interested in Grub's future LUKS2 support capabilities that we need to wait.

rushaur commented on 2020-02-14 04:06 (UTC)

@air-g4p: Couldn't answer, my spare machine broke after installing the packages. I had to revert. Good to know that you have had backups; that is was saved me.

@WoefulDerelict : You are right. TIL successfully building doesn't necessarily mean it's going a work.

air-g4p commented on 2020-02-14 03:41 (UTC)

@WoefulDerelict

Thank you for your very clear follow-up, which I found instructive and helpful.

I will be patient on the LUKS2 front and will keep an eye out for any future comments you may make here. Cheers....

WoefulDerelict commented on 2020-02-13 17:57 (UTC) (edited on 2020-02-13 17:59 (UTC) by WoefulDerelict)

GRUB's master branch may at any time include breaking commits. There does not appear to be a continuous integration toolchain testing the build integrity of the master branch nor does there appear to be a requirement that the master branch must still compile after a commit is included. Users should not assume bleeding edge features are even usable let alone reliable enough to deploy.

RushAur: Ham fistedly editing the instructions to the build system is not the way to solve this issue.

air-g4p: I can reproduce the failure in a clean chroot; however, I have not had a chance to dig into the recent changes and find the exact nature of the breakage. Given GRUB's history of pushing incomplete feature commits to master which have broken the build in the past I suspect the new LUKS2 feature is incomplete and not presently something users can build and test.

drossbox: This is a -git PKDBUILD. Maintenance is performed when actually necessary and not every time an irresponsible commit upstream breaks things.

air-g4p commented on 2020-02-13 14:44 (UTC) (edited on 2020-02-13 15:06 (UTC) by air-g4p)

@RushAur

Thank you and good work done here, Sir!

Using your suggestions, I have successfully compiled AND INSTALLED grub-git 2.04.rc1.r19.g4e7b5bb3b-1 on two separate rigs.

One minor clarification: ./linguas.sh actually appears in prepare(), not under configure().

That challenge being solved, I tried to convert my existing luks1 encrypted /boot, / and swap to luks2 using:

cryptsetup convert --type luks2 /dev/sda23

from the Arch Installation ISO, as the encrypted device cannot be mounted.

Also assuming /dev/sda23 is where your existing /boot, / and swap reside, ofc.

That command SUCCEEDS, and cryptsetup luksDump /dev/sda23 shows ALL the Keyslots having been converted to luks2.

Then I chrooted back into my install, re-ran mkinitcpio -P linux, then reinstalled grub with grub-install --target=..... then re-edited /etc/default/grub, then re-ran grub-mkconfig -o /boot/grub/grub.cfg

Following reboot, grub immediately faults into error mode: reporting grub CANNOT find my encrypted disk.

ONLY previously saving my LUKSHeaderBackup on an external device saved my ass from disaster!!

My question for you, @RushAur, (or anyone else following this thread), is it possible to compile and install grub-git 2.04.rc1.r19.g4e7b5bb3b-1, then convert the existing luks1 /boot, / and swap to luks2 - and then successfully reboot?

If anyone knows how to complete this transition, please feel free to contact me with the correct procedure at: saltedcipher AT protonmail DOT com.

Cheers from a feeling deprecated luks1 --type of guy....

rushaur commented on 2020-02-12 05:21 (UTC)

Hi guys, Facing same problems as in last 2 comments, I finally managed to compile grub: Here is the "working" pkgbuild: https://gitlab.com/snippets/1940462

Basically builds exclusively for 64bit efi, (errors within grub-pc), to workaround the luks2 debug thing, comment out or delete the line --enable-mm-debug argument to ../configure. To workaround errors in the gettext/Po files, comment out or delete the call to ./linguas.sh in configure(). This step would make grub english only I suppose,since no language files are made.

air-g4p commented on 2020-02-08 05:06 (UTC) (edited on 2020-02-09 00:28 (UTC) by air-g4p)

@WoefulDerelict

I also would like to convert my existing encrypted /boot, / and swap from Luks 1 to Luks 2.

However, the build of grub-git 2.04.rc1.r19.g4e7b5bb3b-1 failed this way using makepkg -sric:

grub_debug_free in luks2 is not defined grub_debug_malloc in luks2 is not defined make[3]: [Makefile:49709: moddep.lst] Error 1 make[3]: Leaving directory '/home/user/.builds/grub-git/src/grub/build_i386-pc/grub-core' make[2]: [Makefile:27533: all] Error 2 make[2]: Leaving directory '/home/user/.builds/grub-git/src/grub/build_i386-pc/grub-core' make[1]: [Makefile:11755: all-recursive] Error 1 make[1]: Leaving directory '/home/user/.builds/grub-git/src/grub/build_i386-pc' make: [Makefile:3745: all] Error 2 ==> ERROR: A failure occurred in build()

This build failure appears quite similar to the failure drossbox described on 6 Feb 2020.

BTW: grub-git also failed to build in a clean chroot.

Any ideas? Thanks!