TL;DR: Do. Not. Share. Boot. Partitions. Across. Linux. Installs.
------------~
++~------------<
So a couple days ago I posted a screenshot of my first Gentoo install in a VM. I mentioned that I planned on putting it on my hardware in a triple boot setup (Arch - Main, BillyG-O$ - VR games, Gentoo - Pain). This is a follow-up on my adventures doing that.
Everything went well initially, I followed almost the exact same steps as the VM and things went by much faster (as it had access to all my resources). However I made 1 respectfully sized blunder, for some stupid reason, I tried to share boot partitions between my Arch and this Gentoo. DO NOT DO THAT, I can speak from this experience.
Because of sharing boot partitions, GRUB got absolutely buggered 6 ways from Sunday resulting in GRUB unable to find my Arch initramfs. Not good at all. So for about 2 days my system was unbootable (I took a break from the computer, I’d just about had it).
Thanfully though it turns out my previous Arch-only GRUB install still existed so with a quick boot override I was finally able to get back into Arch. I then proceeded to totally destroy every last trace of Gentoo from my boot drive and reinstall the kernel, thereby remaking my initramfs. My system is restored 🥹.
So, in conclusion, I feel that Gentoo is definitely good fun and worth doing, however if you’re installing it on the same drive as a pre-existing OS be. Hyper. Vigilant. I’m not sure how or why my old Arch-GRUB still existed but by golly am I thankful it did.
This did not scare me off Gentoo at all because it was my error. So I’m probably going to reattempt it soon. I also jusy wanted to say thanks for the engagement and tips on my previous post, I love the Linux community and our little corner of the internet. I await the day where our pride and joy is mainstream, along with so many others I’m sure. I hope you have a great day/night :).
That’s just some I can think of off the top of my head, I’m sure there’s more. Apparently the code itself is pretty horrendous too, but I haven’t looked too closely at it. Given the way some command line tools act though (like grub-mkfont, which iirc always exits with 0 even if there’s an error, which led me to do questionable workarounds in a shell script to let me detect errors while still printing its output), it seems to check out.
My latest “experience” with it is that a couple weeks ago I had to deal with a machine which would just get stuck at the Grub prompt. Turns out Grub just wouldn’t load its config file anymore. You could manually load the config with a command I already forgot, it just wouldn’t do it by itself. Running grub-install made it work again, I still have no idea what caused it though.
IMO, the whole thing is a hot mess and the only thing it’s got going for it is the extensive theme support, like that Minecraft one that was pretty popular recently (but do you really need to theme something that you see less than 5 seconds per day?).
That does make sense. Thanks for the extensive write-up.
I wonder though why it’s then still the default option on most distros.
I assume because it’s the only well known boot loader which fully supports both legacy boot and UEFI and as such less work to support both is needed, when the boot process is automatically managed. And probably also because it’s not broken enough (yet?) to put in the effort of getting rid of it.
However according to https://wiki.archlinux.org/title/Arch_boot_process#Boot_loader, there’s also Limine which I’ve never heard of, which supports both as well. I’ll have to check it out sometime.
Yeah, I guess that makes sense. The bootloader isn’t exactly something where anyone desperately needs innovation over stability.
rEFInd has cool themes too.