Find a file
2017-01-02 16:14:12 -07:00
.github Add ISSUE and PR template 2016-11-01 12:06:14 -06:00
arch Better panics 2017-01-01 17:59:10 -07:00
bootloader Default to choosing a resolution 2016-12-27 20:47:19 -07:00
crates Add ref makefile target 2016-11-08 09:00:21 -07:00
drivers Fallback in ahci driver when disk: not available, ability to list disk devices 2017-01-02 08:53:50 -07:00
filesystem Add serial console terminal 2016-12-19 21:34:03 -07:00
initfs/etc Add BGA driver stub 2016-12-14 08:34:45 -07:00
isolinux Add iso build 2016-11-30 20:58:22 -07:00
kernel Use variable for temporary page location 2017-01-01 18:00:24 -07:00
libc-artifacts@8e0ed0ac03 Update artifacts 2017-01-02 16:14:12 -07:00
paper Remove algorithmicx package 2016-09-02 08:52:21 -06:00
programs Update userutils 2016-12-29 07:53:37 -07:00
res/fonts Fix unifont 2016-12-30 22:13:15 -07:00
rust@57950faeb6 Update rust 2016-12-30 10:39:41 -07:00
schemes Add TTL setting 2016-12-30 10:37:07 -07:00
syscall@1193791d64 Organize targets, export variables 2016-12-29 21:35:48 -07:00
targets Revert change to redox userspace targets 2016-12-29 21:55:41 -07:00
.gitignore Segregate drivers and schemes in /sbin, UI apps in ui/bin 2016-11-26 11:33:05 -07:00
.gitmodules Update orbital, add games 2016-12-27 20:23:05 -07:00
.travis.yml Attempt to fix builds on OS X 2017-01-02 14:46:23 -07:00
arm-unknown-redox.json Revert change to redox userspace targets 2016-12-29 21:55:41 -07:00
bochs.x86_64 Allow compiling both livedisk and harddrive 2016-11-19 20:19:41 -07:00
bootstrap.sh Attempt to fix builds on OS X 2017-01-02 14:46:23 -07:00
Cargo.toml Use upstream openlibm, goblin 2016-12-14 15:45:18 -07:00
CONTRIBUTING.md Add contributing and readme 2016-11-01 12:04:50 -06:00
krustc.sh Preprocess arguments to rustc to workaround cargo 2016-11-26 15:25:16 -05:00
krustdoc.sh Fix build, remove cfg(redox) 2016-11-09 17:00:48 -07:00
LICENSE Add license 2016-08-13 16:28:33 -06:00
Makefile Update artifacts 2017-01-02 16:14:12 -07:00
README.md Updated in alphabetic order 2017-01-01 18:45:33 +01:00
rustc.sh Preprocess arguments to rustc to workaround cargo 2016-11-26 15:25:16 -05:00
rustdoc.sh Fix build, remove cfg(redox) 2016-11-09 17:00:48 -07:00
rustfmt.toml Proposed rustfmt file 2016-10-05 14:44:46 -06:00
x86_64-unknown-redox.json Update libc artifacts, pass linker arguments to fix linking 2017-01-02 12:59:41 -07:00

Redox

Redox is an operating system written in Rust, a language with focus on safety and high performance. Redox, following the microkernel design, aims to be secure, usable, and free. Redox is inspired by previous kernels and operating systems, such as SeL4, Minix, Plan 9, and BSD.

Redox is not just a kernel, it's a full-featured Operating System, providing packages (memory allocator, file system, display manager, core utilities, etc.) that together makes up a functional and convenient operating system. You can loosly think of it as the GNU or BSD ecosystem, but in a memory safe language and with modern technology. See this list for overview of the ecosystem.

The website can be found at https://www.redox-os.org.

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

Contents

What it looks like

Redox Redox Redox Redox Redox Redox

Ecosystem

The ecosystem and software Redox OS provides is listed below.

Name (lexicographic order) Maintainer
acid tests @jackpot51 (co.: @ticki, **@nilset)
binutils @ticki
bots (other internal bots) @ticki
cookbook @jackpot51
coreutils @ticki (co.: @stratact)
extrautils @ticki
games @ticki
Ion (shell) @skylerberg & @jackpot51
kernel @jackpot51
libextra @ticki
libpager @ticki
magnet (future package manager) @ticki
netutils @jackpot51
orbclient @jackpot51
orbdata @jackpot51
orbital @jackpot51
orbtk @stratact
orbutils @jackpot51
pkgutils (current package manager) @jackpot51
playbot (internal REPL bot) @ticki
ralloc @ticki
RANSID @jackpot51
redoxfs (old filesystem) @jackpot51
syscall @jackpot51
Sodium (editor) @ticki
Standard library @jackpot51
userutils @jackpot51
TFS (filesystem) @ticki
The Redox book @ticki
The old kernel abandoned
ZFS abandoned, superseded by TFS

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
$ bash bootstrap.sh -d

# 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