Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switching bootloaders #31

Closed
classy-giraffe opened this issue Nov 14, 2021 · 30 comments · May be fixed by #63
Closed

Switching bootloaders #31

classy-giraffe opened this issue Nov 14, 2021 · 30 comments · May be fixed by #63
Assignees
Labels
Poll Asking for opinions

Comments

@classy-giraffe
Copy link
Owner

I'm starting this issue being totally honest: I hate GRUB so my opinion on it may be biased, which is why I'm asking for your opinions, as you people are the main users of this project and I value your input more than mine. The question is: Should we move to rEFInd or stay on GRUB (or maybe even some other bootloader)? The reason I'm asking this is because I totally dislike GRUB, it's a big program we probably don't even need and the only reason we're using it is for booting into BTRFS snapshots, other than that it's useless. This combined to the fact that now rEFInd can be used to boot into snapshots, hence my question. You're asked to express your sincere opinion. Cheers, tommy! 😃

@classy-giraffe classy-giraffe added the Poll Asking for opinions label Nov 14, 2021
@classy-giraffe classy-giraffe self-assigned this Nov 14, 2021
@Cyfraka
Copy link
Contributor

Cyfraka commented Nov 15, 2021

I agree to change GRUB, so let me know when testing on hardware or VM is needed.

@classy-giraffe
Copy link
Owner Author

The only viable alternative for now is rEFInd as it's the only bootloader (apart from GRUB) which supports booting into btrfs snapshots.

@mariolopjr
Copy link

@classy-giraffe would totally like other bootloaders, rEFInd would be perf! TBH, getting systemd-boot to work with LUKS has been ... not ideal and doesn't seem to support snapshots!

@ghost
Copy link

ghost commented Nov 28, 2021

@classy-giraffe
rEFInd is a great little bootloader, although I find it a bit slow when it has to deal with hunting through many devices for things to chain.

Could this perhaps be a selectable option between it and GRUB? Although I totally sympathise with the GRUB hate.

@iSparsh
Copy link
Contributor

iSparsh commented Nov 29, 2021

I agree with @roseweeks. There should be an option to select which bootloader the user wants to use.

@classy-giraffe
Copy link
Owner Author

yeah, I'll try to integrate both in the script. just gotta figure out a hassle-free way to do that. 😆

@classy-giraffe
Copy link
Owner Author

kinda unrelated to this, i wanna put all the contributors (both through donations, pushing code, commenting etc..) in a section since this project right here exists thank to you all here as well 👑

@pm4rcin
Copy link
Contributor

pm4rcin commented Nov 30, 2021

@classy-giraffe would totally like other bootloaders, rEFInd would be perf! TBH, getting systemd-boot to work with LUKS has been ... not ideal and doesn't seem to support snapshots!

Getting systemd-boot to work with LUKS is really easy if you RTFM and spend a few hours to understand :D (like me). The only thing I needed to do was add:

options rd.luks.uuid=UUID rootflags=subvol=@

Of course UUID is easy to extract by blkid. It's the UUID of /dev/mapper/ourname
I think the https://systemd.io/DISCOVERABLE_PARTITIONS/ has found the root automatically after setting the partition as "Linux root (x86-64)" with cfdisk which has UUID: 4f68bce3-e8cd-4db1-96e7-fbcaf984b709.

PS. Regarding the initramfs I've used booster and it works just fine without any configuration.
PS. 2 I thought of putting systemd-networkd and systemd-resolved on my laptop to replace networkmanager but... If you want to use more things than just wired ethernet. For example to use wifi with iwd or even qemu VMs I think NetworkManager is better suited for desktop. In my opinion systemd-networkd would be great for server which has static config. Or at least if there was some dbus interface which is non existing on networkd. So for now use networkmanager + iwd.
PS. 3 Your config for zram works.
PS. 4 doas works great as sudo replecement but make sure to read the whole page (it's not long) because many programs expect sudo to be present so we need to make symlink.
PS. 5 pipewire and pipewire-pulse they just work as expected.
PS. 6 I've configured snapper with the help of your script but haven't had time to test snapshots with systemd-boot and the script that I linked in another post.
PS. Sorry for off-topic but just wanted to let you know to think twice if you plan to try implementing things like that here and just wanted to provide feedback.

@classy-giraffe
Copy link
Owner Author

image

If anybody is interested, i got rEFInd work perfectly.

@classy-giraffe
Copy link
Owner Author

classy-giraffe commented Dec 3, 2021

As I've been suggested, I created an experimental branch. The new script is located here and it works quite well. I'll add support for booting from a btrfs volume and secure boot soon.

@classy-giraffe
Copy link
Owner Author

image
Alright I promised support for booting from snapshots and here we are.

@Anonymo
Copy link

Anonymo commented Jul 18, 2023

https://limine-bootloader.org/ what about this? Useful?

@classy-giraffe
Copy link
Owner Author

https://limine-bootloader.org/ what about this? Useful?

Limine doesn't support btrfs.

@erenoglu
Copy link

erenoglu commented Sep 28, 2023

Alright I promised support for booting from snapshots and here we are.

How can we use this? I just installed using your script but ended up with GRUB.

@classy-giraffe
Copy link
Owner Author

Alright I promised support for booting from snapshots and here we are.

How can we use this? I just installed using your script but ended up with GRUB.

Started off as a side project, but it didn't get much attention so I shut it down. If you're interested tho, I could work on it again, and publish it in a separate branch.

@Anonymo
Copy link

Anonymo commented Sep 29, 2023

Personally, I been keeping an eye on this but didn't want to be rude and ask for ETAs

@classy-giraffe
Copy link
Owner Author

Personally, I been keeping an eye on this but didn't want to be rude and ask for ETAs

If there's a real interest in a rEFInd version I'll gladly work on it and release it as a spinoff. I myself don't like grub too but as far as features we need it's probably the best bootloader. Automatic secure boot setup was something I was working on as well.

@erenoglu
Copy link

Thanks. Automatic secure boot using boot files signed by own keys generated with the script, plus rEFInd and snapshot rollback would be super awesome!

@classy-giraffe
Copy link
Owner Author

Thanks. Automatic secure boot using boot files signed by own keys generated with the script, plus rEFInd and snapshot rollback would be super awesome!

Unfortunately secure boot is something that requires manual intervention most of the times cause every manufacturer implements UEFI in a different way, nobody really respects the official specs etc... Maybe a post installation script or something like that idk 😐

@erenoglu
Copy link

erenoglu commented Oct 1, 2023

Thanks. Automatic secure boot using boot files signed by own keys generated with the script, plus rEFInd and snapshot rollback would be super awesome!

Unfortunately secure boot is something that requires manual intervention most of the times cause every manufacturer implements UEFI in a different way, nobody really respects the official specs etc... Maybe a post installation script or something like that idk 😐

That can wait then. If you could have Refind with Snapshots then I'm ready to wipe my Ubuntu :)

@bathtime
Copy link

bathtime commented Oct 7, 2023

I'm very interested in a rEFInd version, but only if it has the refind-btrfs program working as well. It would be so nice to have a touch-based bootloader with a touch-based rollback on my tablet. I've tried a few times myself to get it going in my own script but only managed to get rEFInd working, and not refind-btrfs; so I'm settling with grub + grub-btrfs.

Would be very interested to see how you got it working earlier, but the link you posted is down.

@bathtime
Copy link

bathtime commented Oct 7, 2023

Oh, and a feature request:

Working ramboot.

Would be awesome!

@classy-giraffe
Copy link
Owner Author

I'm currently working on a rEFInd version. Expect beta releases soon (next week). 👀

@classy-giraffe
Copy link
Owner Author

classy-giraffe commented Oct 15, 2023

rEFInd functional! 🚀
image

Todo:

  • Fixing fallback initramfs
  • Booting snapshots

Feel free to try and test the rEFInd branch.

@erenoglu
Copy link

Wow so quick! Looking forward to test it with the fallback initramfs and snapshots!

@lakano
Copy link

lakano commented Jan 7, 2024

Hi! I've tried it, it's really cool but without the booting snapshots / fallback, it's currently useless for my usage. Did you plan to work again on this rEFInd alternative?

@classy-giraffe
Copy link
Owner Author

Currently busy with exams but the project is still alive, will try to deliver the missing features as soon as I have a little spare time. :D

@ManuVice
Copy link

ManuVice commented Jan 7, 2024

@lakano do you looking for? https://github.com/Venom1991/refind-btrfs

I've installed refind version on my new system and its working fine. saved me some minutes 👍

@classy-giraffe
Copy link
Owner Author

yup refind-btrfs is the solution, the problem is it being an AUR package which makes the installation process not very script-friendly

@classy-giraffe
Copy link
Owner Author

Just to remind y'all, this fork isn't dead. I've had tons of exams. Expect next week to see news, i'll be posting updates soon.

@classy-giraffe classy-giraffe linked a pull request Jul 17, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Poll Asking for opinions
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants