By goyox86
on Saturday, June 24, 2017

This is the 23rd 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

The way Redox is built has changed, mainly by two things. First, a new Docker based build process was added! You can try it following these instructions. Big kudos to @batonius for his work on this! If you decide to use the usual build process you will need the cross-compiler and toolchain in order to build Redox. Ubuntu packages and Arch recipes are available. See instructions here.

@ids1024 wrote the first GSoC status report on the self-hosting effort. Feel free to take a look, exciting stuff!

This week we start the code tour by making a stop in the bootloader which can now read RedoxFS partitions meaning that the kernel can be now in the filesystem. In the kernel the big news is the addition of an AML tables parser written by @CWood1 who has been doing an amazing work on the ACPI support. The preemption was re-enabled in the kernel also. Drivers land got more work from @TheSchemm and the Intel HDA audio driver was refactored and now supports QEMU. The Ion folks were pretty busy too! They added support to emacs and vi key bindings, optionally-typed function parameters, implicit cd, multiple assigments, length methods for strings. Also Ion’scalc command now supports a bunch more bitwise operations. All of that without mentioning a ton of fixes and refactoring! On the TFS side of things @ticki had a fun week sponsored by silent type coercions and deadlocks in jemalloc, but despite those bugs (which are now fixed), work in garbage collection was done. The Netstack’s TCP daemon got few fixes that were affecting HTTPS in cURL. The cookbook saw the addition of a ca-certificates recipe and tar.gz is now used in all packages in both the cookbook and pkgutils. Something that is super exciting is the progress made by @ids1024 on the cargo recipe <3. Last but not least we have a new login screen background!

@ids1024 Made the env scheme return ENOENT on non-existent. Also added support for unlink(). 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.