Redox OS 0.5.0 - Redox - Your Next(Gen) OS


It has been one year and four days since the last release of Redox OS! In this time, we have been hard at work improving the Redox ecosystem. Much of this work was related to relibc, a new C library written in Rust and maintained by the Redox OS project, and adding new packages to the cookbook. We are proud to report that we have now far exceeded the capabilities of newlib, which we were using as our system C library before. We have added many important libraries and programs, which you can see listed below.

Standard Images

You can download the 0.5.0 images here.

At first glimpse, the standard ISO does not look much different from 0.3.5, our last real release. We still have the same login screen, and the same default background and applications. This, in and of itself, was an accomplishment. Work on relibc was intense, and touched nearly every part of the system.

Once one digs a little deeper, the changes become more obvious. The event system was redesigned to provide correct support for select and poll, and complete memory mapping support was implemented. Pthreads was implemented, and also a number of signal-related system calls. The whole of these changes provided better support for LLVM, and from that, rustc and mesa with llvmpipe.

In addition, there are new images based on new bootloaders for both coreboot and EFI. Significant work has been done to provide libraries for EFI Rust development, and to develop coreboot payloads in Rust. Either bootloader project can be forked and repurposed as desired. See the following projects:

New Packages

The result of the relibc work can be seen in the massive addition of new packages that can be added to your filesystem.toml when building locally, or installed with pkg install. You can see all available packages and versions here.

Code Changes

Please use the following links to see all the code changes since 0.3.5:

Discussion

Please see the following links for discussion: