View previous topic :: View next topic |
Author |
Message |
luna_xenia n00b
Joined: 25 Aug 2023 Posts: 3
|
Posted: Fri Aug 25, 2023 2:03 pm Post subject: Xenia Linux - immutable Gentoo + some other cool things |
|
|
I've been working on a distro called Xenia Linux for a while now as a project that started out as "haha funny linux mascot, immutable gentoo?" which has since become its own thing!
I made Xenia partly because it started out as a joke but secondly I thought immutable Gentoo would be a cool idea and I wanted to bring another way of doing immutability into the mix.
Xenia Linux boots from a squashFS, much like a liveCD/live media boots up, but loads the kernel and initramfs from it as well. We then use overlays over /etc and /var to make the system usable.
Initially, we started out with Flatpak, then Distrobox support - but recently we implemented a /usr overlay to allow for experimental Portage support. Along with this, we've been working on getting this to a better state including adding snapshot support to the overlay (on btrfs systems) and a wrapper being written over emerge to simplify the snapshot process and other niceties like adding packages to a xenia portage set for ease of updating.
To install Xenia, there is two options. 1 - a guided install which uses a script to install, or 2 - a manual install, where you do pretty much everything yourself. We have both documented at https://wiki.xenialinux.com!
Unlike some other immutable distros we do prioritise choice - we build both OpenRC and systemd images, as well as letting users use whatever methods they like to install packages. Also, we support multiple filesystems, although btrfs is the best for Xenia as you don't lose any storage space.
If you've used catalyst before, you will also be able to fairly easily build your own images to customise them - I managed to make systemd Xenia in a couple hours, and a couple more days to iron out the bugs and it was done! I like how you can switch between root images as well; if I wanted to I could reboot into OpenRC Xenia and there wouldn't be a difference. You can find the documentation for creating your own here
Hopefully you take a look at my distro and see if you like it! Obviously, it isn't for everyone, and I respect that! Hopefully you can let me know what you think!
We also have a website: https://xenialinux.com/ as well as a blog: https://blog.xenialinux.com/ |
|
Back to top |
|
|
pingtoo Veteran
Joined: 10 Sep 2021 Posts: 1406 Location: Richmond Hill, Canada
|
Posted: Fri Aug 25, 2023 2:18 pm Post subject: |
|
|
I like your idea.
I am ARM user, so I wish you would have some ARM(64) specific content.
I wish to have distcc setup. so I hope you can come up with some sort of distcc-rootfs image which can be easily deploy (over network or simple flash to SD card)
Just some ideas for you to consider. |
|
Back to top |
|
|
luna_xenia n00b
Joined: 25 Aug 2023 Posts: 3
|
Posted: Fri Aug 25, 2023 3:01 pm Post subject: |
|
|
I also happen to have an arm64 device! The main issue is its quite a lot to test openrc and systemd as it is, to where its infeasible right now for me to maintain an arm64 port. It would be easy enough to do if you know catalyst as you can use qemu-user to build, and the spec files will probably need minimal changing. I will build one eventually as I do have a use for it - but I can't really make the installer support it. Luckily we have a page on manual installs!
I'm not sure what you mean about a distcc-rootfs. You can just download root.img and host it for multiple computers on a network (the installer lets you specify a URL for the root image). Personally I just copy the root over from my desktop onto my laptop by starting a python3 http server and wgeting the image. |
|
Back to top |
|
|
pingtoo Veteran
Joined: 10 Sep 2021 Posts: 1406 Location: Richmond Hill, Canada
|
Posted: Fri Aug 25, 2023 3:30 pm Post subject: |
|
|
luna_xenia wrote: | I'm not sure what you mean about a distcc-rootfs. You can just download root.img and host it for multiple computers on a network (the installer lets you specify a URL for the root image). Personally I just copy the root over from my desktop onto my laptop by starting a python3 http server and wgeting the image. |
Allow me to clarify.
What I mean "distcc-rootfs" is like docker image. Think of single purpose usage. Make a rootfs already have distcc(d) installed, with setup that can alter the builtin rootfs' distccd configuration.
the idea of making read-only based system really fit will with single purpose usage so make possible for turn key solution. Docker is a implementation of this idea.
I am not suggest you come up a Docker alternative. It is just that I have been trying on my own to build such system because I have multiple ARM nodes, I would like to use them to speed up compilation. I can build one time (a snapshot) of such system, but I have yet come up a workflow that I can maintain a update path. (as in how to automate the process from source to deployment) |
|
Back to top |
|
|
luna_xenia n00b
Joined: 25 Aug 2023 Posts: 3
|
Posted: Fri Aug 25, 2023 3:32 pm Post subject: |
|
|
Oh right I get you now, thanks for clarifying!
This is very possible with Xenia - you can make your own root image and put distcc in the image by adding it to the spec file. Not sure how you would work out config as I haven't used distcc in a long time but should be easy another to add in the catalyst overlay so it's included in the root image. |
|
Back to top |
|
|
pjp Administrator
Joined: 16 Apr 2002 Posts: 20580
|
Posted: Fri Aug 25, 2023 3:37 pm Post subject: Re: Xenia Linux - immutable Gentoo + some other cool things |
|
|
luna_xenia wrote: | Xenia Linux boots from a squashFS, much like a liveCD/live media boots up, but loads the kernel and initramfs from it as well. We then use overlays over /etc and /var to make the system usable. | If you haven't already used puppylinux, you might look into how it works. If I understand correctly, their "build system" pulls binary packages from other distros to create a read-only system. It also uses squasfs images, and includes features to save changes. A variant also moved away from squashfs to standard disk .img files.
I've thought about doing something similar, but I want as close to 0 time spent on dealing with an OS, so creating one is probably not that :) _________________ Quis separabit? Quo animo? |
|
Back to top |
|
|
|