Find a file
2016-11-02 21:45:50 -06:00
.github Add ISSUE and PR template 2016-11-01 12:06:14 -06:00
arch Fix syscall ABI 2016-11-02 21:45:50 -06:00
bootloader Remove rd/wrfsbase 2016-10-31 18:04:28 -06:00
crates Remove resource_sceme, Fix syscall crate name, add fmap 2016-11-02 19:48:25 -06:00
drivers Remove resource_sceme, Fix syscall crate name, add fmap 2016-11-02 19:48:25 -06:00
filesystem orbital will log to debug: 2016-11-02 12:48:45 -06:00
initfs/etc Debug all driver activity to display:1, use format to avoid line splitting 2016-10-22 19:35:23 -06:00
installer@7056abcb24 Update submodules 2016-10-26 13:28:04 -06:00
kernel Remove resource_sceme, Fix syscall crate name, add fmap 2016-11-02 19:48:25 -06:00
libstd@2f7ee270c6 Remove resource_sceme, Fix syscall crate name, add fmap 2016-11-02 19:48:25 -06:00
libstd_real Remove resource_sceme, Fix syscall crate name, add fmap 2016-11-02 19:48:25 -06:00
paper Remove algorithmicx package 2016-09-02 08:52:21 -06:00
programs Remove resource_sceme, Fix syscall crate name, add fmap 2016-11-02 19:48:25 -06:00
ralloc@be2a916a25 Update libc 2016-10-15 21:12:40 -06:00
res/fonts Make rusttype optional for vesad 2016-09-29 13:17:19 -06:00
rust@07436946b6 Update submodules 2016-11-01 15:08:20 -06:00
schemes Update orbital 2016-11-02 20:19:49 -06:00
syscall@416fd22174 Remove resource_sceme, Fix syscall crate name, add fmap 2016-11-02 19:48:25 -06:00
.gitignore Build with filesystem 2016-09-27 21:56:29 -06:00
.gitmodules Update libstd, remove openlibm (now inside of libstd) 2016-10-31 12:37:29 -06:00
.travis.yml Add travis.yml 2016-10-26 13:59:31 -06:00
arm-unknown-none.json Arm! 2016-08-25 17:03:01 -06:00
bochs.x86_64 Fix path in bochs 2016-09-10 18:48:36 -06:00
Cargo.toml Remove resource_sceme, Fix syscall crate name, add fmap 2016-11-02 19:48:25 -06:00
CONTRIBUTING.md Add contributing and readme 2016-11-01 12:04:50 -06:00
krustc.sh Seperate kernel and userspace targets 2016-09-09 19:08:04 -06:00
krustdoc.sh Allow rustdoc 2016-10-16 14:06:01 -06:00
LICENSE Add license 2016-08-13 16:28:33 -06:00
Makefile Only document kernel and std 2016-11-02 08:32:14 -06:00
README.md Add contributing and readme 2016-11-01 12:04:50 -06:00
rustc.sh Seperate kernel and userspace targets 2016-09-09 19:08:04 -06:00
rustdoc.sh Allow rustdoc 2016-10-16 14:06:01 -06:00
rustfmt.toml Proposed rustfmt file 2016-10-05 14:44:46 -06:00
x86_64-unknown-none.json Relocatable kernel 2016-09-10 16:27:11 -06:00
x86_64-unknown-redox.json Enable SSE and FPU 2016-09-22 16:14:45 -06:00

Redox

Redox is an operating system written in pure Rust, designed to be secure and free. The website can be found at https://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! (rustup.rs 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).
  6. Update submodules (git submodule update --recursive --init).

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 of 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 libfuse-dev

# Install rustup.rs
$ curl https://sh.rustup.rs -sSf | sh

# Set override toolchain to nightly build
$ rustup override set nightly

# For successive builds start here. If this is your first build, just continue

# Update git submodules
$ git submodule update --recursive --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