This Week in Redox 25

By goyox86 on

This is the 25th post of a series of blog posts tracking the development and progress of Redox, the Rust operating system. If you want to know more about Redox in general, visit our Github page.

(edited by goyox86)

PSA

If you have any questions, ideas, or are curious about Redox, we recommend joining #redox on irc.mozilla.org or our Discourse forum!

What’s new in Redox?

TL;DR

Big news this week: We released 0.3.0.It is a big release including many improvements notably the Cookbook based build system and a new ACPI stack. Go read the announcement!

Now to this weeks summary: We shipped a couple of changes to the bootstrap script and the cookbook that should make the on-boarding on macOS smooth again. Go ahead try and give us feedback <3.

The kernel was very active this week, particularly with the landing of the initial support for signals by @jackpot51! Also, a new API for specifying custom memory allocators and changes in the alloc crate API landed in nightly so the kernel had to be updated. Mr @CWood1 added an HPET (High Precision Event Time) driver to the kernel and also moved the PIT (Programmable Interval Timer) driver from the bootloader to the kernel as part of his ongoing work on ACPI. @ids1024 shipped some fixes to kernel’s dup2() and exec() too.

Ion impressive streak continues mainly propelled (but no limited to) by @mmstick and @huntergoldstein. Ion’s biggest highlight this week? The completion of job control and addition of the fg builtin command! Also asynchronous history writing, the addition of an array! macro to ease the creation of inline Arrays in Ion’s codebase, initial support for herestrings, the extraction of calc to it’s own crate, refactoring to signal handling, forking, the reimplementation of pipelines::collect into a recursive descendent parser, set -x’s implementation and many fixes. You should try it , works in Linux too ;).

Drivers had to also be updated to the new alloc API (mainly vesad). Coreutils now have a base64 command by @goyox86, a new shiny dirname command along with recent support for rm for the -f flag thanks to @ids1024.

Other important highlight is the addition of initial mtime/ctime support and the implementation of futimens in Redoxfs.

Last but not least the cookbook saw a lot of activity with a new system for compile-time dependencies by @ids1024 and package recipes for git, gawk, findutils, GNU sed, pastel, nasm, rustual-boy.

Kernel

Ion

Ion is a shell for UNIX platforms, and is the default shell in Redox. It is still a work in progress, but much of the core functionality is complete. It is also currently significantly faster than Bash, and even Dash, making it the fastest system shell to date.

Drivers

Redoxfs

TFS

TFS is a modular, fast, and feature rich next-gen file system, employing modern techniques for high performance, high space efficiency, and high scalability.

Coreutils

Cookbook

The cookbook the collection of package recipes of Redox.

Handy links

  1. The Glorious Book
  2. The Holiest Forum
  3. The Shiny ISOs
  4. Redocs
  5. Fancy GitHub organization
  6. Our Holy Grail of a Website
  7. The Extreme Screenshots

New contributors

Since the list of contributors are growing too fast, we’ll now only list the new contributors. This might change in the future.

Sorted in alphabetical order.

If I missed something, feel free to contact me (goyox86) or send a PR to Redox website.