Skip to content
Redox: A Rust Operating System http://www.redox-os.org
Rust C C++ Shell Assembly Makefile
Find file
New pull request
Latest commit 55dbdec @jackpot51 jackpot51 Merge pull request #402 from Ticki/master
Handle exceptional cases in the kernel, Use fewer raw pointers in the kernel, make Sodium react on Event::Close, Handle RSD signature statically, do not initialize unneeded variables, remove lots of warnings in the kernel, clean up coding style in `filesystem` and `kernel/syscall`, follow rust naming conventions more, general optimizations
Failed to load latest commit information.
crates Fixes for new ion
filesystem Cleanup missing spaces in terminal
img Ho ho ho!
kernel Merge pull request #402 from Ticki/master
liballoc_system feature(no_std) no longer required
libc Add error codes
liborbital Use less pointer sized integer, fix type mismatch
liborbtk @ a43b524 Use less pointer sized integer, fix type mismatch
libredox Fixes for new ion
rust @ 660787e Update rust; Don't use raw pointers for BSS start/end
setup Merge pull request #353 from MaximilianMeister/debug/binary_sh
tests Updating to origin/master
windows Add basename
.gitignore Update gitignore
.gitmodules Switch to using the ion repo
.travis.yml Run travis tests on containers
CONTRIBUTING.md attempt to fix merge conflicts
LICENSE.md Sorry Charlie, all the original Rustboot code has been gone for sever…
Makefile More AHCI stuff
README.md Merge pull request #398 from Ticki/master
appveyor.yml set correct path for appveyor
bochs.i386 Revert bochs
bochs.x86_64 Revert bochs
bootstrap.sh qemu_no_kvm suggested for all OSs
i386-unknown-redox.json WIP: Emit true rust executables
make.bat Added a batchfile for easier windows builds
x86_64-unknown-redox.json Get a little closer to compiling executables

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 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

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 VirtualBox
$ make virtualbox

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

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 llvm make nasm virtualbox virtualbox-dkms qemu qemu-kvm

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

# Set override toolchain to nightly build
$ multirust override nightly

# Build Redox
$ make all

# Launch using VirtualBox
$ make virtualbox

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