I say it is really nice not to have any problems with the boot process myself.
Ah I take it you don't have ADHD then? For me, it's not the 20 seconds - it's the fact that this time it might be the 2 minutes boot because it did an update in the background. So I'm happy to assume that any boot/reboot is 2 minutes long.
So there is nothing to fix, the nice choice screen is a feature.
A lot of modern BIOS/EFI also allow a hybrid setting that enables legacy support until the OS takes over, which can sometimes be better too.
My parents let me decide what I needed to see and learn how to customize things for myself. That seems like a sane default to me.
Addendum: You could say you want a sandbox, and that such is part of the sandbox to play with. Then you need some kind of way to clean up, like you can clean up the toys your kids play with (or ensure they clean up their own mess), or ensure their sandbox environment is safe (such as no fire hazards in your house). Then I would argue a VM is such. OS with rollbacks or a user account on an OS or locked down iOS/Android could suffice, too.
My parents gave me the bicycle in a box. I had to put it together if I wanted to ride it. They owned the bicycle shop too. They could have put it together for me, but they let me do it.
- The firmware
- The bootloader timeout
- Waiting for the user to type the encryption passphrase
Everything else takes almost no time at all. So, if you can eliminate 5 seconds from the boot process in the normal case, without eliminating your ability to debug the system in the unusual case, that's a win.
Or, if you're working on speeding up virtual machine boots, in which case you skip the bootloader entirely and use the kernel's EFI stub.
"I never let that happen." Cool.
Might rewatch it soon, been listening to the soundtrack while working lately :)
Fantastic.
Btw, how does grub figure out in what resolution to draw the interface?
This limit made sense 20+ years ago but today it feels highly anachronistic, kind of like finding a corded rotary phone mounted on a wall in the kitchen of an otherwise cutting edge home. Surely it’s something that could be fixed?
Way bigger annoyance is that grub still doesn't support luks2 and uses some gimped variant of libcrypto without proper hardware acceleration that decrypts boot volumes for almost a minute. That is way more serious than boot resolution annoyances.
Nice! Do you have a link with the progress of this? Maybe in a mailing list or something. I can't manage to find it
Also, do you know whether grub plans to support luks2?
And maybe even veracrypt - ok this one is unlikely. (cryptsetup can read veracrypt just fine and the Linux kernel copes with it, maybe it's a matter of porting this code to grub? One issue is that grub would need to embed the number of iterations of the key derivation function somehow - the thing veracrypt calls PIM - because unlike luks, veracrypt doesn't store it in a header that can be read before unencrypting)
But I do recall some other post which went into more details and was saying that switching was taking time due to lack of stable API and other issues.
Try searching for grub 2 + libgcrypt. Some links are also in that bug.
JSON-support would be adding 0.001% extra to the overall package.
The external monitor may also have multiple inputs to choose from, like VGA, DVI, HDMI, which also might be set to "Auto" scan for which one is active, and that can sometimes take more time to succeed than it takes to boot. If so, using the Input Option settings on the external monitor you may be able to specify your preferred input connection exclusively, or as default, and then be able to see something during the time that it's blank now.
Also, github gives me "You have exceeded a secondary rate limit" message while it's the first time I'm visiting it today. Yey.
And yet, it is king of bootloaders for a reason. It can frigging boot HannaMontanaBSD on an ENIAC. It can boot in UEFI mode, in BIOS mode, it is a chameleon that fits the hardware it is situated in. The devs have made a heroic piece of software.
Perhaps the inscrutability of the code and its issues are inevitable given the scope of the project. I don't know, I just wish we had a more sane codebase with GRUB's capabilities.
But still, it gets installed, trying to justify its existence.
Or alternatively, I have a PC with only Void Linux. Compatibility mode for booting, since uefi mode did not work (I dont know why - some secure boot shenanigans? MBR vs GPT mode? There is no EFI partition as well). What could replace grub there?
Because otherwise I see it like you, why change what works. Even the move to Grub 2 with the more complicated config options wasn't all that bad, since it really needed less often to be configured manually. So after a bit I was fine with that.
I somehow got refind to work, after disabling some vaguely named "secure boot" option in the BIOS. It shows my several linux options, and the only one that works is "rescue", that boots what is apparently a systemd bootloader with Nix generations. When I select Windows, I get some windows boot menu/loader instead of directly booting Windows.
I have no clue how it all works - there is some partition with some files, but I also must run some command to "apply" changes - I think. It's horrible.
https://www.haiku-os.org/docs/userguide/en/applications/boot...
On the booting Windows front, this thread has a few people describing how they successfully used BootManager to dual and triple boot Haiku, Windows 7, and/or Linux:
https://discuss.haiku-os.org/t/dual-booting-haiku-and-window...
I have a laptop (Lenovo ThinkPad T410s) with Haiku, Linux Mint, and Devuan GNU/Linux. I use BootManager in the MBR, and it gives me a menu of all three to choose from. For the two Linux options, I have GRUB installed on each of their own partitions, so BootManager just sends me to the GRUB installed on whichever Linux partition. (Of course, this isn't exactly "replacing" GRUB altogether.)
I do it this way because I find dealing with BootManager to send me to individual GRUBs to boot a particular Linux partition much, much easier than fiddling with GRUB to boot Haiku.
(One last thought, parenthetical as I'm not sure it can even work from a USB drive: Worst case, you might make a USB "boot stick" that uses BootManager to choose between Haiku and Linux and let Windows do its jolly thing on the MBR?)
> BootManager isn't yet tested very well and still has a few restrictions that it will complain about if they aren't met: the menu can only be installed on your first harddisk and there has to be a 2KiB space after the Master Boot Record (MBR).
No idea how to create those conditions, the 2KiB space, and since I would have to do it with gparted in Linux anyway this made me install Linux instead first (with grub).
BootManager actually sounded nice - like you describe, I expected it to simply offer me the other OS(s) option(s), and I wasn't even set on installing Linux in the first place on that machine.
To your parenthesis: Yeah, I even had a boot manager on USB once for my PC, so it crossed my mind here, but for a travel laptop this would be a bit uncomfortable.
Worse, if you dual boot and each OS installs its own GRUB you can get all kinds of silly situations where one GRUB will chain load to another GRUB and then boot the OS.
Why not just hit F12 (or whatever) and UEFI gives you this nice little menu of all your boot options right there, before installers can come in and ruin it. (Like Windows that always seems to barge in and put itself on top trashing whatever you had before.)
1) there is only one bootloader (grub2) that can load kernels from encrypted /boot partitions, but the support for that is limited, you have to use a weaker encryption if I remember correctly, AND decryption speed (after entering the luks password) is super slow, because the CPU extensions that speed that up (AES) are not yet online that early in the boot process
2) you can choose to not encrypt /boot, and have it as a separate partition, but now your btrfs snapshots will not include the kernel, so restoring after kernel upgrades is going to break your system
Now compare that with booting on arm...
GRUB is shockingly fragile and painful to debug, though the recent movement on BLS hopefully will help with this.
shim + grub suck, but bare bones EFI sucks way more, generally speaking. Vendors of consumer-oriented EFI platforms ("client platforms") are batshit insane; they don't offer UEFI console redirection to/from the serial port even if the motherboard has one; they expose neither secure boot configuration nor boot options management to the user, and so on. A purely EFI-based boot loader such as systemd-boot or rEFInd remains the least annoying choice, IMO.
Is it? How can you boot from encrypted volumes without it? I looked into systemd-boot, but I don't think it's capable.
Make the bootloader smart enough to find read the underlying filesystems and find kernels. rEFInd does it. If I put in a bootable USB or install Windows on a second SSD, it just shows up on the menu without explicitly demanding it.
Maybe you have to say "/boot needs to be one of n well-supported filesystem types" but one-size-fits-most is probably good enough, relying on something GRUB for the people running ZFS-atop-RAID6-atop-a-collection-of-128-USB-floppy-drives.
The only time I would want Grub is for that reason primarily. But it makes sense to be very familiar with Grub so you can not be screwed up by systems you encounter which may have been set up, "grub-reinstalled", or configured by those who are not as familiar as they should have been.
Once you do have a regular ordinary multiboot system or SSD that includes one or more Linux installs, with Grub working well, then adding the themes like this is only the icing on the cake.
Back in the day I had a cool self made theme from Ghost in the Shell, I remember making some very obscure image format from some jpeg I found online. Man what time I have put into customizing my Linux experiences. The computer was truly a (well trimmed) pet. With desktops on kubes with fish inside and reflections etc.
Hackernews is obviously full of technical volks with need for encryption and what not, but I just like the macOS bootloader inspired looks that i could not replicate with grub.
I use my motherboard F8 menu to switch between Win11 and Arch boot loaders (so they can ignore each other, much simpler to maintain), so systems-boot appears only exactly 3 seconds to give me an opportunity to boot Linux-LTS instead of the last kernel version. And if I need to do anything fancy at boot time (eg: repair a borked boot config), I use a USB key with arch iso, and chroot into my install and then I have the full power of the command line.
I really really fail to see the point of spending hours to theme that.
https://major.io/p/bring-back-fedora-beefy-miracle-boot-spla...
The mustard indicates progress :)
marcodiego•3d ago
dharmab•3d ago
immibis•2d ago
Fnoord•3d ago
Startup chime in SGI machines depended on model. So an Indy had a different one than an Onyx. My first PC (80286) also had iconic sounds when it started up. Never forget.
Micro distro, is recovery OS. All three major desktop OSes have such, or a key combination to activate such. Android has two recovery partitions I believe, redundancy is key.
If you like the power of snapshots, yep filesystems with CoW like ZFS can show a list during boot. An OS like NixOS wouldn't even need such. Works perfectly fine with Ext4FS, including boot menu with snapshots, rollback feature, etc.
mzi•2d ago
mikepurvis•3d ago
Eg: https://github.com/kexecboot/kexecboot
yjftsjthsd-h•3d ago
Anyways. If you're in a position to run Linux on ZFS, may I suggest zfsbootmenu?
> ZFSBootMenu leverages the features of modern OpenZFS to allow users to choose among multiple "boot environments" (which may represent different versions of a Linux distribution, earlier snapshots of a common root, or entirely different distributions), manipulate snapshots in a pre-boot environment and, for the adventurous user, even bootstrap a system installation via zfs recv.
- https://docs.zfsbootmenu.org/en/v3.0.x/index.html
Hasnep•3d ago
yjftsjthsd-h•2d ago
mrbluecoat•2d ago
ibizaman•3d ago
I’m using these features since multiple years now and can vouch for them.
Not exactly related to your initial question but I also have my system build in CI and do some playwright tests which become more and more comprehensive as time passes. This all gives me quite a lot of confidence I’ll find an issue early or be able to revert back.
oarmstrong•2d ago
ibizaman•2d ago
I’m deploying on my server and it self hosts 10 or so services. Like Nextcloud and Vaultwarden. The playwright tests are to test those. It’s pretty basic like just checking I can create a user and still login. But it still caught a few regressions. And they’re still WIP. I’m getting close to being able to validate the LLDAP + Authelia config works too. It’s particularly useful in conjunction with automatically running flake update in CI. So all inputs get updated on a schedule and the tests give some level of guarantee that my server won’t break. It’s essentially QA tests automated.
This link shows what the playwright tests look like. They are parametrized on the service to test so I’m sure I’m testing the same functionality every time. https://github.com/ibizaman/selfhostblocks/blob/c2148eda7704...
oarmstrong•2d ago
Still cool though, nice.