A picture of Xenia Linux running on arm64

It’s me again! We’ve got quite a bit to go over today, including Xenia Linux on arm64, the new emerge wrapper called foxmerge, and a look at what Xenia Linux 0.5 is going to look like! First, some quick notes:

Notices

Fixes to the installer

The current installer has some issues if you are using a Ventoy - this is now fixed in the unstable branch of the installer.

Upgrades

We’ve been slacking on building upgrades recently, sorry about that! While Xenia is in alpha, our focus is building up the system and other features. Until Xenia is out fully, upgrades may be a bit slow.

Jack has started work on foxbuild, which will allow us to build these images automatically - when this is stable we should be able to push out images much quicker.

Xenia Linux on arm64

Recently, we recieved a Mudan system from NeddySeagoon, a Gentoo developer. The Mudan was the first commercially available arm64 chip, and has 8 cores. So, before I set this machine up, I got started using qemu-user to get a build running.

After about 4 days of building, we had the first build of arm64 up and running. There is a couple of issues, such as the installer not currently working and efibootmgr not being present, but it does boot and is working well. Currently, these changes aren’t in the git tree - but they will be soon when all the bugs are ironed out.

Soon, we will add the Mudan to our build servers and start building images for this architecture!

As a quick aside, if you want to build Xenia for another architecture, all you need to do is setup qemu-user and change the spec files to build for the correct architecture. You will need to change package.accept_keywords, as many packages on x86_64 are not keyworded or are unstable on other architectures, especially fonts. I will be working to change this for arm64 soon by trying to get some stuff keyworded!

foxmerge

foxmerge is a new emerge/portage wrapper created by Mia (although it has grown beyond just a wrapper at this point), with the aim of making the /usr overlay and snapshots easy to use on Xenia Linux.

A picture of foxmerge displaying the list, add and upgrade functions

foxmerge allows users to add packages to the Xenia set, install the packages, remove packages and automatically unmasks packages if needed. It silently creates snapshots and will automatically revert if an error occurs during upgrades or removals. Currently, snapshots can be a bit broken, as they only revert /usr and not the package database that portage keeps - but soon this will also be integrated in.

A picture of foxmerge showing how it reverts on error

If you would like to test foxmerge, you can install it by adding the Xenia overlay, then mount /usr as read-write and emerge -va1 foxmerge foxsnapshot. From there, you can test foxmerge! From 0.5 and onwards, this will be integrated into the base system, so you won’t need to do this.

Note: You will need to be on the latest unstable systemd root for foxmerge to create snapshots - you can follow the upgrade procedure with systemd selected to upgrade.

Boot splashes!

This is just a fun feature we decided to add to make the boot process look a little more seamless. We’ve added plymouth, allowing for a nice boot splash to appear on boot.

To install this, you will need to re-configure grub - which is a bit harder than it seems. Essentially, you want to chroot into the new system through /run/rootfsbase, run mount -L EFI /boot/efi and run grub-mkconfig -o /boot/efi/grub/grub.cfg. If you need help with this, reach out over Discord or email! We are here to help :)

Release 0.5

With foxmerge nearing stability, and snapshots being fully integrated into the system, release 0.5 should release soon! After this, we will be focusing on making the first boot more seamless, with the ability to create a user and configure locales in the installer or on first boot. After this, we will be very close to a stable release.

We know this has been a long release window - but hopefully with the addition of all that is mentioned above, plus recovery mode and systemd, 0.5 should be our best release yet.