This Week in Redox 22
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. - @ticki Removed unsound
conc::Atomic::get_mut
and replace it byconc::Atomic::get_inner[_mut]
. Details here. - @ticki Added tests for the destructor of
conc::Atomic
. Details here. - @ticki Added
get_mut()
toconc::Atomic
. Details here. - @ticki Fixed the destructors in
conc::Atomic
. Details here. - @ticki Added more tests to the destructors in
conc::sync::Treiber
. 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.
Handy links
- The Glorious Book
- The Holiest Forum
- The Shiny ISOs
- Redocs
- Fancy GitHub organization
- Our Holy Grail of a Website
- 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.
- Egor Karavaev 🎂
- mgmoens 🎂
- baton 🎂
If I missed something, feel free to contact me (goyox86) or send a PR to Redox website.