What I really would like: something that mimicked the old SGI start up, complete with boot audio and a micro distro for OS setup. These days, with snapshot filesystems, that shouldn't be too hard. Also, I've had to chroot to fix my system in my life a few times; I can't believe that's hard to automate.
I do wish more effort was made to polish all the bits and pieces because all of this exists in some form. I suppose some of it is that everyone is doing their own slightly different thing; NixOS lets you boot to earlier generations, but only by completely turning the filesystem inside out, OpenSUSE can do snapshots, but using BTRFS which means that not many other distros even can use the same implementation, ZFS is the bee's knees but on Linux licensing always adds friction, Ubuntu made boot super smooth via Plymouth but it's very... Ubuntu.
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.
I just found ZFSBootMenu and am really enjoying it so far. Cracks me up that all the zfs tutorials online are from circa 2010. I guess I missed the memo back then. For those wanting to try it, it took me a while to find the actual installation instructions: https://docs.zfsbootmenu.org/en/latest/guides/void-linux/uef...
Interesting, either it got a lot better or I misremembered. Last time I looked, using Plymouth on anything but Ubuntu was a lot of rough edges and manual setup. By skimming wiki pages it does indeed look like that's not true anymore (if indeed it ever was; I could have been wrong before).
On NixOS we get one new grub menu entry per “deployment”, be it when you deploy to another host or the local one. They both then get a new grub entry. Of course you can still shoot yourself in the foot by making your system inaccessible remotely, by screwing up ssh config for example. There’s also a solution for that called deploy-rs which has a magic rollback feature which rolls back the system if it can’t connect back to the computer initiating the deployment https://github.com/serokell/deploy-rs?tab=readme-ov-file#mag...
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.
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.
On Arch, I think you could install a second "backup" copy of Arch Linux on a recovery partition that your motherboard firmware can boot into directly, and then use the `arch-chroot` program to recover your main OS. I'm sure something similar exists for other distros?
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.
I feel like your best bet with this would be one of the kexec-based bootloaders, because then it's a "real" Linux environment there, with whatever tools you want in it, instead of something special.