This has come up in a number of different ways but after I learned Bluefin wasn’t really immutable and that the number of atomic/cloud-native distros have such nuanced different ways of solving the same problem it is best to just not touch anything. I realize there’s a number of reasons for this, you cannot delete /var as in theory you should if it was immutable but fstab and things are there.
Lately I after installing a Quadlet (Ollama) and Incus via Just I ran into all kinds of issues. Like it worked fine until an update and then I had to manually launch the web-ui. I saw all kinds of dbus/SELinux errors running systemd. I am pretty sure it is related to me installing ssh/gpg and my own keyring under my home directory as I saw a lot of bad signatures when looking at the RPM installs (I have not modified the rpm-ostree at all).
In any case these apps are not sand-boxed or if they are they using an overlay which isn’t apparent, rpm-ostree -v shows no user overlays and I cannot. So going from reformat on first 40 ISO (bluefin-dx-nvidia:latest with Optimus and Cuda) to whatever it is at now I realized it doesn’t delete things on updates but seems to just be additive leading me to creating a new user doing a diff on our home drives and seeing significant differences, who knows what got updated nightly or by me (I guess using my own keyring accidentally) outside of home that is no longer relevant. It is also super hard to debug (ostree fsck is corrupt out of the gate).
Given I travel quite a bit and have often unstable Internet connections an SSH into a homelab or cloud provider and rebuild of the entire OS is pretty off the table.
I remember Microsoft having similar issues with the XBox when trying to turn it into a media console where you could pause a game and enter into another app. Rather than buy a new Macbook Pro and run this in a VM with some ansible scripts, as my Dell is top of the line already and I don’t like Windows, would it be possible to have a hypervisor essentially running everything and then use PopOS or whatever flavor distro then essentially be able to rebuild or customize Bluefin from there?
This seems overkill but if you told me you’d need a hypervisor to run Mario Bros when the NES came out I’d look at you funny. I don’t know if the XBOX Media Center or whatever they call it when you pause games is technically a VM as much as the game engine itself, I believe there’s some nuance that’s not really relevant, but the idea is that instead there’d be something super stable, an OS you didn’t really develop off of except to invoke an ISO builder or simply install Bluefin fresh and didn’t have to worry about solving all the complexity.
I think the core problem is you have devs like me who use Bluefin as ephemeral anway (dot files in git, source in git, I can get up and running quickly) and then its sort of aimed at normal desktop users and then especially gamers who seem to love it.
The side effect is you could probably load things like “sidecars” a la K8S instead of jumping through hoops with things like Cockpit.
This seems like how things like K8S and XBox kind of solved a lot of problems, which was assume there’d always be another issue so pick something core that will always work and just go from there. It doesn’t even have to be a hypervisor but something like ZFSBootMenu or maybe a more friendly flavor of Proxmox.
Brainstorming here but as I see it there’s a couple big issues.
-
Boot gets “jacked” with double entries and the weird /boot /boot/efi due to BTRFS. Solved but for some reason I no longer have bootc because I think maybe initramfs at one point was installed with NVidiia maybe? That’s kind of the problem with updates all the time they’re great but then you’re now like 8 updates ahead and notice something missing because its rarely used. But if you boot from something really solid like Vsphere or Prooxmox or something more friendly and transparent I’m not aware of, that goes away.
-
New user creation problems go away as I would say the Bluefin variant at least and probably Aurora attracts a majority of devs who use it not caring or expecting their data to be there and just using it for the amazing toolset.
-
Error reporting is horrible and largely upstream, and solved by a fresh install. Also rebasing sort kind of works as long as you’re not switching from Gnome to KDE but since its not truly immutable you’re not doing a “fresh install” on a rebase or even just keeping the home directory which is very confusing.
I used to be closer to the metal but over the years my age might be showing, there might be another solution. I’m just proposing that Bluefin can be a daily driver but I’ve seen well financed teams eventually get around problems by taking routes like these and freeing up some upstream things to mature and the toolkit/error reporting to improve.
Honesty I was vaguely a part of when Go/K8S/Containers came out and they had that oh this works great but uh I have to do all this work to get it going kind of thing and it constantly breaks? I’m open to ideas, maybe another variant solves this but what I like about Bluefin is that it doesn’t have a strict anti-commercial ethos or mantra that cuts other communities apart.
If there’s a free version of VSphere or someone has a better idea let me know. I was just thinking something hypervisor-like that’s rock solid, lets you switch into another OS to do email or rebuild (or let the hypervisor do it!) and is capable of doing this all offline or with a poor hotel Internet connection.
I just never have installed this in a laptop setting but I’m going to guess anything with a game that lets you pause and enter another menu probably took the “VM Suspend” approach the XBox team did so there’s got to be something out there. That also let them essentially rebase and lets them and other machines become backwards compatible from my understanding.
I wish I had a week in a homelab I could dedicate to this, but all I can say is that’s what I’ve seen go out the door from a high level in my professional experience.