Find a file
Ian Douglas Scott 008622844c
Increase filesystem size to 1024 MB
I needed to do this to fit gcc/binutils.
2017-06-02 19:22:39 -07:00
.cargo Remove verbose from cargo config 2017-01-09 21:06:38 -07:00
.github Allow entering redox version in issue template. 2017-03-25 10:25:13 +01:00
bootloader@5e5e080d61 Update drivers and bootloader 2017-04-26 21:29:34 -06:00
cookbook@4a18e61514 Ability to use cookbook from inside Redox repo 2017-05-08 20:46:17 -06:00
docgen@52fb8863ef Update and move docgen 2017-01-16 10:32:25 -07:00
drivers@15675ea9c3 Update drivers and bootloader 2017-04-26 21:29:34 -06:00
filesystem Update UI folder 2017-05-07 08:55:21 -06:00
initfs/etc Driver definition for vboxd 2017-03-20 21:40:19 -06:00
installer@c2bae24835 Update submodules and dependencies 2017-04-26 19:43:39 -06:00
isolinux@3cf79d3354 Move isolinux to submodule 2017-01-05 11:28:34 -07:00
kernel@b3a25bd3a3 Update submodules and dependencies 2017-04-29 15:42:48 -06:00
libc-artifacts@ecd2edd893 Update libc artifacts, ion 2017-04-08 19:56:54 -06:00
libs Update orbfont, ion, and orbterm 2017-05-07 08:47:46 -06:00
mk Increase filesystem size to 1024 MB 2017-06-02 19:22:39 -07:00
paper Remove algorithmicx package 2016-09-02 08:52:21 -06:00
programs Upgrade pkgutils 2017-05-07 17:18:22 -06:00
res/fonts Remove unifont 2017-01-09 21:20:36 -07:00
rust@b16c7a235f Update ion, smith, Rust, and dependencies 2017-05-03 20:51:17 -06:00
schemes Update submodules and dependencies 2017-04-26 19:43:39 -06:00
.gitignore Do not ignore Cargo.lock 2017-04-14 21:36:32 -06:00
.gitmodules Ability to use cookbook from inside Redox repo 2017-05-08 20:46:17 -06:00
.travis.yml Simplify travis build 2017-01-04 17:11:22 -07:00
bochs.x86_64 Allow compiling both livedisk and harddrive 2016-11-19 20:19:41 -07:00
bootstrap.sh Updated bootstrap for Solus 2017-05-24 23:09:32 +02:00
Cargo.lock Upgrade dependencies 2017-05-07 17:18:42 -06:00
Cargo.toml Ability to use cookbook from inside Redox repo 2017-05-08 20:46:17 -06:00
CONTRIBUTING.md CONTRIBUTING.md: Replace Magnets with pkgutils 2017-05-01 19:13:30 +03:00
flash.sh Upgrade dependencies 2017-05-07 17:18:42 -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 Make all at top of makefile 2017-01-09 21:54:38 -07:00
README.md Added 'cd redox' in quick setup 2017-05-24 22:59:28 +02:00
rustc.sh Revert last commit 2017-01-20 19:13:01 -07: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

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 make up a functional and convenient operating system. You can loosely 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 Downloads 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 (kernel integration tests) @jackpot51 (co.: @ticki, **@nilset)
binutils @ticki
bots (custom Mattermost bots) @ticki
cookbook @jackpot51
coreutils @ticki (co.: @stratact)
extrautils @ticki
games @ticki
Ion (shell) @skylerberg & @jackpot51
kernel @jackpot51
libextra @ticki
libpager @ticki
libstd (Redox standard library) @jackpot51
Magnet (future package manager) @ticki
netutils @jackpot51
orbclient (Orbital client) @jackpot51
orbdata @jackpot51
Orbital (windowing and compositing system) @jackpot51
orbtk (Orbital toolkit) @stratact
orbutils (Orbital utilities) @jackpot51
pkgutils (current package manager) @jackpot51
playbot (internal REPL bot) @ticki
ralloc @ticki
RANSID (Rust ANSI driver) @jackpot51
redoxfs (old filesystem) @jackpot51
syscall @jackpot51
Sodium (Vim-inspired text editor) @ticki
userutils @jackpot51
TFS (ticki 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 rustup update
  2. Run make clean.
  3. Run git clean -Xfd.
  4. Make sure you have the latest version of Rust nightly! (rustup.rs is recommended for managing Rust versions. If you already have it, run rustup).
  5. Update GNU Make, NASM and QEMU/VirtualBox.
  6. Pull the upstream master branch (git remote add upstream git@github.com:redox-os/redox.git; git pull upstream master).
  7. 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. Downloading the full history may take a lot of bandwidth, and can even be costly on some data plans. 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

#Change to project directory
$ cd redox

# 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 by default, so you may need to reboot, go into the BIOS, and enable it.

Manual Setup

To manually clone, build and run Redox using a Unix-based 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
$ ./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

# Launch using QEMU without using KVM (Kernel Virtual Machine) nor Graphics
make qemu kvm=no vga=no