logoalt Hacker News

marcodiegoyesterday at 11:56 PM5 repliesview on HN

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.


Replies

yjftsjthsd-htoday at 5:32 AM

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.

- https://docs.zfsbootmenu.org/en/v3.0.x/index.html

show 2 replies
dharmabtoday at 12:57 AM

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?

show 1 reply
ibizamantoday at 6:43 AM

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.

show 1 reply
mikepurvistoday at 3:25 AM

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.

Eg: https://github.com/kexecboot/kexecboot

Fnoordtoday at 2:38 AM

macOS has both these features, sort of.

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.

show 1 reply