News

Latest 10 recent news (see index)


October 27, 2024

New images

As of 27 October 2024 new images have been published.

These are an incremental refresh with new software, as well as new image types. They bring various minor changes.

Changes

The most notable change is a major update of apk-tools. From now on, we will start requiring changes that were made to it, so using older images to install is no longer supported.

Experimentally, KDE Plasma ISO images are now available alongside the GNOME images. The GNOME images are based on GNOME 47, while the KDE images use Plasma 6.2.

Additionally, the ISO images now use EROFS for its root file system instead of SquashFS. This brings increased compatibility and increased performance while in the live environment, in exchange for a minor increase in image size.

Last but not least, the “force console” GRUB options are now gone in the graphical ISOs, but the functionality is not. Adding nogui to kernel command line in GRUB’s editor will achieve the same.

Upcoming changes

This is likely the last update before entering the beta phase.


July 12, 2024

Welcoming a new committer

Since @triallax has been doing a bunch of excellent work in addition to being a great community member, we have decided to grow the cports committers list a bit.

Additionally, @nekopsykose is now a project owner, so it’s no longer just @q66.

Congrats to both :)


July 07, 2024

New images

As of 07 July 2024 new images have been published.

These are an incremental refresh with new software. They bring various minor changes.

Changes

The biggest visible change is that core and minimal rootfs tarballs are no longer distributed; you are expected to use either the full or bootstrap tarballs. Any regular installation is expected to use the base-full metapackage at very least (unwanted components can be removed by masking them in the apk world file).

The images are still based on GNOME 46 and kernel 6.6, but with all latest updates pulled in.

Otherwise, the images represent 3 months of software updates in cports, which are reflected here.

Upcoming changes

Before the beta release, there will be at least one more image refresh. The beta release is expected most likely during the fall this year.


April 21, 2024

New images

As of 21 April 2024 new images have been published.

These are mainly an incremental refresh. They bring a variety of package updates and minor quality of life improvements, and most importantly updated apk-tools.

Changes

The graphical images are based on GNOME 46 and Linux kernel 6.6, alongside a variety of up to date software, such as the LLVM 18 toolchain.

The apk package manager in this set fully supports the zstd compression. The distribution will start rolling out packages compressed with zstd in the coming days (no world rebuild will happen yet but newly built packages will be compressed with it).

The installer scripts had minor changes done in them, some of them user-visible. Notably, chimera-chroot will now alter the prompt to be less confusing, and it makes bind-mounted pseudo-filesystems properly unmountable.

The ISOs are newly based on GRUB 2.12. If this causes any regressions, please report them. All the ISO images were tested on their respective architectures without any issues found.

The MNT Reform images have been dropped. The packaging of the bootloader was unsatisfactory (done from binary builds) and there haven’t been any opportunities to figure out a proper source build. Additionally, the vendor now seems to be favoring newer SOMs by default. If you are interested in maintaining support for this or any other hardware, please reach out to us on one of the official channels.

Upcoming changes

There will be at least one more refresh before beta. Beta will likely come with a world rebuild, which means zstd for all packages.


January 22, 2024

2024 image refresh

The images have been refreshed yet again.

Most importantly these bring the 6.6 LTS kernel, an upgrade from the 6.1 series (except Raspberry Pi images, which have their own kernel) alongside minor user experience improvements.

Changes

We have upgraded the LTS kernel series from 6.1 to 6.6. Meanwhile, the installable “stable” kernel is now at 6.7.x.

Raspberry Pi images had their firmware updated, so wireless networking and Bluetooth should work equally well on 3, 4, and 5.

The apk package manager got a fix which likely resolves the issue when some directories were very rarely created with 000 permissions. This is not yet verified however, as the issue was not reproducible and therefore it is not possible to verify it.

Minor user experience improvements include support for fstab LABEL= and the likes for swap devices, support for timedated/localed/hostnamed D-Bus services (mainly benefits GNOME) thanks to the openrc-settingsd project from Gentoo/postmarketOS, various package updates, more atomic apk transactions thanks to deployment of sysusers.d and tmpfiles.d, chimerautils fixes (e.g. stdbuf command now works properly), the lsinitramfs and unmkinitramfs commands have been fixed, the cryptsetup initramfs scripts have their module copying fixed, Python 3.12, and a ton of other things.

Upcoming changes

We will likely introduce an installer in one of the future images, likely before beta release.


December 27, 2023

New images again

A new set of images has been released once again.

This is once again a refresh without any major functionality changes outside of new software; but it does bring important changes to apk-tools as well as out of the box support for Raspberry Pi 5. It comes with GNOME 45 and kernel 6.1.

Changes

As far as live-specific changes go, the strange GRUB message about “booting in blind mode” should now be gone. This was always harmless but was causing confusion in some users.

Additionally, the version of apk-tools available in these images comes with full support for xattr metadata. That means we will stop using post-install scripts for this in repo packages and instead migrate to this. That means you should always install from at least this version of the images from now on - older images may not work correctly for installations.

Raspberry Pi 5 is now supported in the Raspberry Pi images. The support has been present in cports since October and you could always generate your own image with chimera-live, but now there is no need to as the available images will work.

Outside of that, a lot of software has been updated, which affects the live image as well. Most notably, this means using GNOME 45 now.

Upcoming changes

This is a transitional set. The next set of images will probably come in relatively near future; this will bring some more major changes, for instance the Linux 6.6 kernel (which will become the new LTS) as well as quite possibly an installer and support for zstd in packages instead of zlib/deflate.


September 15, 2023

New images

A new set of images has been released once again.

This is mostly a refresh. The previous images still work fine for installation. These new images bring updated software, and a few other functional changes.

Major updates

  1. The dinit-chimera core service set has been overhauled.
  2. NTP is active by default in the live images, so you will get correct date/time even without RTC as long as connected to the network.
  3. To avoid having files with timestamps in the future on hardware without an RTC, the new swclock service will synchronize time to at least a specific timestamp.
  4. PipeWire is now always implicitly active if present.
  5. The GNOME images no longer come with an X11 server (outside of XWayland). It can still be installed from the contrib repo.
  6. HDMI audio should now work universally, as well as sound on some laptops and devices such as the Steam Deck.
  7. And various minor changes.

June 11, 2023

Entering alpha stage

Today marks the day when the project enters the alpha phase. This has some implications, though it is not a release per se, considering Chimera is a rolling distribution; let’s take a look at what it means for potential users and contributors.

So, what does it mean?

Simply put, having entered the alpha phase means that the project is somewhat more ready to deal with users and potential repository expansion. A great deal of work has been done in all areas since the last update, and the distribution is now a lot more stable, with better infrastructure, and so on.

Of course, since it’s a mere alpha, it does not mean the system is considered stable per se. There may still be large-scale changes eventually (hopefully for the better) but early adopters may now consider actually daily-driving the system, and we are ready for the repositories to grow.

This phase is expected to last about a year. Obviously, it is not possible to create a distribution from scratch and immediately mark it stable. The current biggest things in the way are:

  1. There isn’t enough software in general
  2. Major improvements are still planned for service management
  3. Documentation needs work in all areas
  4. And obviously a lot of testing

During the next year, it is planned that those things (and others) will be addressed and the project will move towards beta.

In summary, the current state of the project means it’s daily-driveable and can be gradually updated without significant manual fixups, but there may still be bugs, missing documentation, and some things may still change at conceptual level.

Infrastructure

The distribution finally has proper infrastructure now. This means:

  1. Central build system (using Buildbot), taking care of automatically building and publishing packages for all supported architectures, and native builders for each.
  2. Continuous integration for pull requests.
  3. Package repository browser with advanced filtering and search.
  4. Nightly global update-check for packagers.

Thanks to all this, there is now streamlined workflow for adding new packages and updating existing ones, making it a significantly lesser effort.

Cports updates since last post

There has been a huge amount of changes since. A summary of these includes:

  1. Userland based on FreeBSD 13.2.
  2. All existing packages have been updated to their latest versions.
  3. LLVM 16 is now the system toolchain.
  4. GNOME 44 is the primary desktop environment.
  5. Qt6 toolkit is now present in the repositories.
  6. OpenJDK 17 Java is now in the repositories.
  7. Flatpak support.
  8. Several large pieces of software such as Thunderbird, GIMP, Inkscape, LibreOffice, QEMU, OpenMW, Xonotic, Sauerbraten, etc. are now present.
  9. Smaller useful software such as Chrony, htop, Deluge, Weechat, Neovim, Dino, Rsync, and others.
  10. The option of latest stable Linux kernel branch in addition to latest LTS branch.
  11. The cports repository now features more than 1000 templates in main and contrib, with more than 22000 total packages.

This list is not exhaustive.

New images

This update comes with a new set of images. The main improvement is streamlined installation thanks to new chimera-install-scripts package.


March 06, 2023

New images

As of today, a new set of images has been released. This is following the complete world rebuild that has been going on the last few days.

The new images are therefore generated from these new packages, and are the last images that are released before the alpha release.

World rebuild

The world rebuild has been successful and mostly uneventful on all architectures. There aren’t any or many updated versions, as that will happen after this.

However, it is very important that the rebuild has happened for the alpha release that will come soon after this.

Updates since last post

A lot of the work since the last update has been on cleanups and overall quality. Overall, a summary:

  1. The hardening overhaul fallout has been mostly addressed. There may be some crashes left, which will be dealt with over the next few weeks.
  2. The login stack has been switched from util-linux to shadow.
  3. Various service management fixes and cleanups.
  4. Overhaul of console-setup to uses non-XKB keymaps by default, removing base system dependency on Perl.
  5. Chimerautils has been tagged, and various new tools have been ported (e.g. locate, whereis, script, logger, cal, and others) and many others have been written from scratch.
  6. Util-linux has been split up, and much less of it is now installed by default. Several new chimerautils tools replace its various functionality.
  7. Base metapackages have been cleaned up.
  8. The system has been switched from eudev to systemd-udev.
  9. Support for kernel efibootmgr hook for automatic EFISTUB boot entries.
  10. Automatic ZFS root detection has been fixed for GRUB, and there is now a new tool to detect root for U-Boot menu and other places.
  11. Overhaul of agetty handling, with support for config files to specify various parameters such as baud rate.
  12. Our system toolchain now defaults to -fno-semantic-interposition.
  13. The apk package manager will not mess up early permissions anymore, simplifying binary bootstrapping.

This is not an exhaustive list.

New images

The new images are mostly an incremental refresh, to allow for cleaner installations that do not update thousands of packages. There have been some notable improvements too, however:

  1. The new tools chimera-live-bootstrap and chimera-live-chroot to simplify installations.
  2. Much improved detection of serial terminals, which means in a lot of cases it is not even necessary to specify a console= anymore. If the kernel is configured to output to serial in any way, the respective agetty service will be configured, if it exists.
  3. The graphical images now use networkmanager by default.

Upcoming alpha

Up next is updating our packages to their latest versions, as a lot of stuff in the repository is by now fairly out of date. Various minor improvements will be done while doing this, and issues reported with the new images will be addressed.

The alpha release should then come a few weeks from now, definitely during March.

The release will mark the next stage of the project, where adventurous people will be able to pick it up as their daily driver, and expansion of the package set can begin.


January 16, 2023

Chimera at FOSDEM 2023 and the path towards alpha

It has been a while without an update post, so perhaps it’s time to refresh things a little.

No news does not mean progress hasn’t been happening; there has been a continuous stream of commits in cports as well as other parts of the project, so I will do my best to summarize it as well as provide an updated overview of what’s going to happen.

FOSDEM 2023

FOSDEM 2023 is happening once again with an in-person format, as usual in Brussels, on the first weekend of February, which is the 4th and 5th this time. I will be giving a talk about Chimera, this time in the BSD devroom (huge thanks to the organizers for letting me have a slot, despite this project being a Linux system).

I will give a general overview of the project, our progress since last FOSDEM, as well as what’s planned for the future, and perhaps more, in the form of a full length talk (we have a 50 minute slot). The devroom changes into the LLVM devroom right afterwards, which is fitting considering we are also using the LLVM toolchain.

Cports progress since last post

The previous post was at the beginning of November, which is two and a half months ago. Since then, there has been a lot of updates in the project. Here are the main highlights, in chronological order.

  1. A general refresh of packaging templates, with everything being updated to its most recent version.
  2. Our suite of Dinit services, dinit-chimera has received a complete overhaul. Besides being more fine-grained, it also provides a cleaned up targets system, better thought-out configuration, and better integration.
  3. Full-disk encryption is now supported, besides a variety of other initramfs improvements, which includes better support for LVM, root on ZFS and others.
  4. CKMS, our kernel module source build system that replaces DKMS, got an initial release, and no longer conflicts with binary modules (so you can have binary ZFS for some kernels while letting CKMS manage it for others without interfering).
  5. We now use a custom version of the musl libc, which uses Scudo (a part of LLVM and default in Android/Fuchsia) as the system allocator (malloc implementation). This brings significantly better performance in multithreaded scenarios.
  6. A big overhaul of kernel packaging, alongside Linux 6.1, which is the new baseline version. The new packaging brings support for kernel backups on upgrades besides other things.
  7. Cbuild hardening overhaul, with significantly expanded list of hardening types, and new defaults. Now, templates are built with UBSan integer overflow checks by default, as well as hidden visibility and CFI (Control Flow Integrity) by default. Enabling templates to properly use it is still a work in progress. There is also initial infrastructure for other hardening including Intel CET and ARM BTI (which will both need support in musl to be useful) as well as Clang SafeStack. All ELF files are now also checked for executable stack in the build system.
  8. Cbuild now supports locking, preventing race conditions when building multiple things in parallel. The sources are properly locked, as are the repositories when generating packages.
  9. Cbuild no longer requires fakeroot in the host system.
  10. New policy packages base-devel and base-devel-static. These provide a way for users to declare that they want development packages to be automatically installed alongside runtime packages. This allows users to choose whether they wish to save space not installing development files (default) or whether they want the convenience of having development files for everything (similarly to e.g. Arch Linux).

This list is not exhaustive, but includes most major things.

The Chimera handbook

The documentation for the project has undergone significant expansion, now containing detailed installation instructions including how to deal with things like disk encryption and root oN ZFS, and various configuration tasks.

The FAQ is now a part of the handbook and has been expanded as well.

Preparing for alpha

We still have plans to release an alpha as soon as possible. This will be the point where the distro is ready for early adopters. The following needs finishing:

  1. The hardening overhaul fallout. Since we have enabled the UBSan checks as well as CFI by default, this exposes all sorts of bugs in libraries and applications, turning them into crashes. Therefore we are rebuilding and testing things as necessary, trying to iron out most issues to have a stable experience before the alpha launches.
  2. Packages will need updating to their latest version at the time of the alpha.
  3. Automated build system for packages still needs launching. This is experiencing delays, but we plan to have that up as soon as possible.
  4. There will be a world rebuild before the alpha happens, on all 4 architectures that are currently supported in repositories. This is needed in order to accommodate the various cbuild updates that have happened in the meantime.

Since these are still pretty significant tasks, it will take some time to get them done. Therefore, the alpha will not come out before the FOSDEM talk. Right now, the idea is to make it coincide with one of the beta releases of FreeBSD 13.2, to get a chance to rebase the userland. That means mid February to early March most likely.

There will be a new set of ISO images before the alpha comes out, to give people a chance to test and expose various issues. Another set will then be made for the alpha release.

After the alpha

The alpha cycle is planned for 6 months to 1 year. Once it is over and the project is ready to be declared beta quality, another world rebuild will be done.

Summary

I am hoping there will be no more significant delays. Right now, it is very near, with only a small number of tasks remaining to do. Those tasks however cover a lot of ground, so they take time.