This Month in Redox - April 2025

By Ribbon and Ron Williams on

Redox OS is a Unix-like general-purpose microkernel-based operating system written in Rust. April was a very exciting month for Redox! Here’s all the latest news.

FreeCiv running on Redox

(FreeCiv running on Redox)

If you would like to support Redox, please consider donating or buying some merch!

Redox Summer of Code

It’s that time of year again - Redox Summer of Code (RSoC) has engaged two students and one recent graduate for some exciting projects. This year’s projects are:

Thank you to our generous donors, who help make Redox Summer of Code possible. Joshua “jduck” Drake of Magnetite Security, who is funding a full RSoC project, Nigel Stoppard, who has been giving generously every month to help us improve accessibility, and our many patrons on Patreon and Donorbox.

Complete Userspace-based Process Manager

4lDO2 finished the userspace process manager, part of the NLnet/NGI Zero project Redox OS Unix-style Signals, fixing process and POSIX signals bugs in the process. The process manager is the backend for POSIX functions related to processes, process groups, sessions, threads, signals and similar.

In monolithic kernels this management is done in the kernel, resulting in necessary ambient authority, and possibly constrained interfaces if a stable ABI is to be guaranteed. With this userspace implementation, it will be easier to manage access rights using capabilities, reduce kernel bugs by keeping it simpler, and make changes where both sides of the interface can be updated simultaneously.

It also allowed the removal of 20 system calls from the kernel, and decreased the kernel binary size by 10%.

4lDO2’s FOSDEM talk on Redox Signals is now online, although it is missing the first couple of minutes due to audio problems. Check out his FOSDEM overview of Redox.

Georgia Tech Service Monitor

This winter, a team of students from Georgia Tech has been developing a System Health Monitoring and Recovery daemon and user interface. This software demonstrates how a microkernel OS can detect and restart services that crash or hang. It also allows the configuration and disabling of system services, gathering operational statistics, and other essential functionality.

A big thanks to Julianna, Devan, Donald, Matthew, Charlie and Thomas! Check out the video of their work.

All In One

Jeremy Soller enabled and fixed nightly builds on the build server for packages and images of the x86-64, i686, ARM64 and RISC-V architectures!!

Before it had bugs and flexibility problems that didn’t allow it. Expect more build server package and image stability in the future.

Minimality

Jeremy Soller enabled the minimal and minimal-net variants on the build server images, this allow testers and developers to easily test the smallest Redox variant for computers with a limited resources or to optimize Redox to use less resources.

Better User Authentication Security

bjorn3 implemented the sudo daemon to replace the setuid bit and removed the escalated daemon to reduce the risk of privilege escalation vulnerabilities caused by bugs in setuid programs, quoting him:

“setuid is not a security issue in itself, but every setuid binary needs to be carefully written to avoid privilege escalation as it inherits an untrusted environment from the parent process. For example LD_PRELOAD needs to be ignored by the dynamic linker, PATH needs to be replaced with something trusted, and more. Containers also have bad interactions with setuid binaries. If you were to allow mount namespaces without any other isolation, you can easily trick a setuid binary into using a different config than it should. For example you could present a sudoers config to sudo that allows anyone to run any command as root without needing a password”

sudo and su now request the “sudo” daemon to elevate their privileges, after the daemon validates the user’s credentials. The passwd command delegates setting the user’s password to the “sudo” daemon. This eliminates all “setuid” programs from Redox.

Bootloader Improvements

Kernel Improvements

Driver Improvements

System Improvements

Relibc Improvements

Networking Improvements

RedoxFS Improvements

Orbital Improvements

Packaging Improvements

Programs

Build System Improvements

Hardware Updates

Documentation Improvements

How To Test The Changes

To test the changes of this month download the server or desktop variants of the daily images.

(Use the server variant for a terminal interface and the desktop variant for a graphical interface, if the desktop variant doesn’t work use the server variant)

Read the following pages to learn how to use the images in a virtual machine or real hardware:

Sometimes the daily images are outdated and you need to build Redox from source. For instructions on how to do this, read the Building Redox page.

Join us on Matrix Chat

If you want to contribute, give feedback or just listen in to the conversation, join us on Matrix Chat.

Discussion

Here are some links to discussion about this news post: