-
Notifications
You must be signed in to change notification settings - Fork 14
Most recent, working, tested, and recommended source? #25
Comments
I'm afraid I haven't updated my grub in several years 🤦 It could well be that there's been some bitrot. I assume you have no trouble compiling standard grub? |
That is correct @giddie. I just cloned the official repo (grub 2.11), For anyone else interested, @reagentoo has also done a lot of work on this as described in this issue for grub 2.06. |
The GRUB 2.12 release is planned for the end of 2022, with support for Argon2, detached headers, keyfiles. LUKS2 is supported since 2.06. Sources
Sorry for the newbie question - what else do these forks have that is not in 2.12? |
My setup includes a LUKS-formatted keyfile that I use as a simple 2FA: I boot from a USB drive containing the keyfile. I enter a password, which unlocks the LUKS-formatted keyfile. The whole resulting device is my plaintext keyfile (just some random data), which is used to unlock /boot and load the main boot menu. If this (or a similar 2FA mechanism to boot into an encrypted /boot) is possible upstream, then I'm happy :) |
I have not looked at this for quite some time, I am pleased to see that it looks like it's going to make it upstream in the next release later this year. I want to say thanks to those that helped make that happen. I haven't tried to build with the patch set in a while but it failed the last time I tried to and, unfortunately, other priorities meant that's where I left it. I'm still using this daily but will hold out for the official release I took a quick look at the source and documentation and I think the main feature that is not in upstream is support for plain mode. My |
Ah, for plain encryption mode, there is a patch in the ML to add |
I really don't understand why the plain mode wasn't liked. It was basically a shift of the dmcrypt code out of the luks module into the cryptodisk module (on which the luks module depends), the result being that the luks module continued working as it did but the cryptodisk module also had code that could be used in plain mode. None of the crypto code was new, it all pre-existed. |
Does it appear that @giddie's device-as-keyfile functionality will be possible in the 2.12 release? If anyone can provide details for compiling some working source with johnlane's patches (like maybe the gcc version used for your source), I would still greatly appreciate it as opposed to waiting for months longer to get these functionalities. All of the work done by johnlane, giddie, and reagentoo looks great and I'm sad I can't use any of it right now (and I haven't touched C/C++ in so many years that I'd never trust editing the grub source myself). If I must wait though, then I guess I will. |
@Shellcat-Zero Are you sure you need 2.12? I actually haven't got around to rebuilding my bootloader since 2.04. You could just check out an old tag and build from there? |
@giddie that is what I am requesting actually. I've been checking out old sources but they are failing, presumably due to newer gcc. |
So, it turns out that Grub 2.06 (maybe even earlier?) already can use a device as a keyfile using a slightly obscure syntax. It's been added to the documentation for
|
Support for most of the crypto features added by these patches are now in upstream (have been for some time now). I'll be archiving this fork once they are released (2.06 is still the latest; it doesn't include the new functionality). |
I'm having trouble getting any posted version of grub to work that features johnlane's patches. I had tried a highly updated fork from @giddie that I was able to get compiled after downgrading gcc to version 9, but it failed to install to the partition with
Decompressor is too big
. I then tried the argon2_v2 fork from @reagentoo, but I got the same compilation error encountered in @giddie's branch but downgrading gcc did not resolve it. I've been working off of an Ubuntu 22.04 live system to do the compile & grub-install. Apologies in advance if I'm missing something basic in all of this. Here is that compilation error in case it helps:For giddie's fork that successfully compiled, the install command that I had run was:
The text was updated successfully, but these errors were encountered: