Skip to content
Redox: A Rust Operating System
Rust Shell Assembly Makefile C++ Nix
Find file
Latest commit ff4b52f @jackpot51 jackpot51 Update games repo
Failed to load latest commit information.
.github Update the templates
crates Update games repo
filesystem Removal of RUSThello from Redox while moving to games-for-redox.
img Redox background
installer @ 5a06028 Update installer
kernel WIP: Fixes for IDE
liballoc_system fix rustfmt on liballoc_system
libc @ f0e8c9f Fix raw mode, cursor positioning, less, add luac, clear, and reset
libstd Update rust, update submodules, get libextra
rust @ 3791e34 Update rust, update submodules, get libextra
setup Fix homebrew cross compiler install
windows Add ar, gcc, objdump for i386 windows
.gitignore Automagically create initfs from initfs directory, update redoxfs
.gitmodules WIP: Update to include libextra
.travis.yml Reenable build for master
CONTRIBUTING.md Merge pull request #566 from ca1ek/patch-1
LICENSE.md Sorry Charlie, all the original Rustboot code has been gone for sever…
Makefile Update games repo
README.md Installation script renamed
appveyor.yml Appveyor will build using make.bat
bochs.i386 Fix paths in bochs files, format ASM
bochs.x86_64 Fix paths in bochs files, format ASM
bootstrap.sh Fix homebrew cross compiler install
i386-unknown-redox.json Reorder switch_to
make.bat Added a batchfile for easier windows builds
rustc-i386.sh WIP: Fix cargo unable to link libstd with dependencies
rustc-x86_64.sh WIP: Fix cargo unable to link libstd with dependencies
x86_64-unknown-redox.json Match x86 paging with x86_64

README.md

Redox

Redox is an operating system written in pure Rust, designed to be modular and secure. The development blog can be found at http://www.redox-os.org.

Documentation can be found here.

Please make sure you use the latest nightly of rustc before building (for more troubleshooting, see "Help! Redox won't compile!").

Travis Build Status MIT licensed

Contents

What it looks like

Redox Redox Redox

Redox Redox Redox

Help! Redox won't compile!

Sometimes things go wrong when compiling. Try the following before opening an issue:

  1. Run make clean.
  2. Run git clean -X -f -d.
  3. Make sure you have the latest version of Rust nightly! (multirust is recommended for managing Rust versions).
  4. Update GNU Make, NASM and QEMU/VirtualBox.
  5. Pull the upstream master branch (git remote add upstream git@github.com:redox-os/redox.git; git pull upstream master).

and then rebuild!

Contributing to Redox

If you're interested in this project, and you'd like to help us out, here is a list of ways you can do just that.

Cloning, Building, and Running

Redox is big (even compressed)! So cloning Redox takes a lot bandwidth, and (depending on your data plan) can be costly, so clone at your own risk!

Quick Setup

$ cd path/to/your/projects/folder/

# Run bootstrap setup
$ curl -sf https://raw.githubusercontent.com/redox-os/redox/master/bootstrap.sh -o bootstrap.sh && bash -e bootstrap.sh

# Build Redox
$ make all

# Launch using QEMU
$ make qemu
# Launch using QEMU without using KVM (Kernel Virtual Machine). Try if QEMU gives an error.
$ make qemu kvm=no

QEMU with KVM

To use QEMU with KVM (kernel-based virtual Machine), which is faster than without KVM, you need a CPU with Intel® Virtualization Technology (Intel® VT) or AMD Virtualization™ (AMD-V™) support. Most systems have this disabled in the BIOS by default, so you may need to reboot and enable the feature in the BIOS.

Manual Setup

To manually clone, build and run Redox using a Linux host, run the following commands (with exceptions, be sure to read the comments):

$ cd path/to/your/projects/folder/

# HTTPS
$ git clone https://github.com/redox-os/redox.git --origin upstream --recursive
# SSH
$ git clone git@github.com:redox-os/redox.git --origin upstream --recursive

$ cd redox/

# Install/update dependencies
$ sudo <your package manager> install make nasm qemu

# Install multirust
$ curl -sf https://raw.githubusercontent.com/brson/multirust/master/quick-install.sh | sh

# Set override toolchain to nightly build
$ multirust override nightly

# Update git submodules
$ git submodule update --init

# Build Redox
$ make all

# Launch using QEMU
$ make qemu
# Launch using QEMU without using KVM (Kernel Virtual Machine). Try if QEMU gives an error.
$ make qemu kvm=no
Something went wrong with that request. Please try again.