By goyox86 on

This is the 22nd 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!

TL;DR

We are adding this section just in case you want to have quick overview of what happened during the week without going into the glorious details.

So let’s get started!

In kernel land initial support for symbol lookup and symbol name demangling were added both of which should make the traces more readable and kernel debugging a bit easier. Ion got a better implementation of globs parsing. Also in Ion indexing arrays with negative indices is now supported. The ping utility was added to netutils and the network stack supports ICMP. Work on TFS continues and support for ATA trimming was recently added! But without a doubt the star of this week is the addition of a Rust package into the cookbook. Yes! you can do a pkg install rust from the console within Redox! The new rust package aims to simplify the development experience and also paves the way for make Redox self-hosting!

What’s new in Redox?

Kernel

@jackpot51 Improved the messages on failures when unpaging memory. Details here.

@jackpot51 Refactored the kernel mapping so that symbol table is mapped. Details here.

@jackpot51 Added initial support for symbol lookup. Details here.

@jackpot51 Continuing the work on symbols added support for demangled symbol paths. Details here.

@jackpot51 Fixed a overallocation bug on the recycling memory allocator. Details here.

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.

@mgmoens Implemented proper glob parsing. Details here.

@mmstick Refactored glob checking. Details here.

@huntergoldstein Implemented reverse indexing with negative values. Details here.

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.

@ticki Added ATA trim support. Details here.

@ticki Add destructor to conc::sync::Treiber that runs dtor on every item. Details here.

that runs dtor on every item. Details here. @ticki Removed unsound conc::Atomic::get_mut and replace it by conc::Atomic::get_inner[_mut] . Details here.

and replace it by . Details here. @ticki Added tests for the destructor of conc::Atomic . Details here.

. Details here. @ticki Added get_mut() to conc::Atomic . Details here.

to . Details here. @ticki Fixed the destructors in conc::Atomic . Details here.

. Details here. @ticki Added more tests to the destructors in conc::sync::Treiber . See here, here and here for details.

. See here, here and here for details. @ticki Extended the conc::sync::Treiber docs. See here and here.

Netutils & Netstack

@batonius Added support for ICMP to the network stack. Details here.

@batonius Added the ping utility. See here.

Package Management

Work on this topic continues specially on the cookbook the collection of package recipes of Redox. With special highlight that thanks to the hard work of @ids1024 We have a rustc and now you can do pkg install rust ! This will simplify the development experience significantly and also paves the way for make Redox self-hosting!

@ids1024 Added a cookbook recipe for Rust!. Details here.

@ids1024 Stripped the gcc and gnu-binutils packages binaries allowing much smaller file sizes. Details here.

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.

Egor Karavaev 🎂

mgmoens 🎂

baton 🎂

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