2016-11-01 19:04:50 +01:00
< img alt = "Redox" height = "90" src = "https://github.com/redox-os/assets/raw/master/logo.png" >
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
**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.
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
Documentation can be found [here ](https://doc.redox-os.org/doc/std/ ).
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
Please make sure you use the **latest nightly** of `rustc` before building (for more troubleshooting, see ["Help! Redox won't compile!" ](#compile-help )).
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
[](https://travis-ci.org/redox-os/redox)
[](./LICENSE.md)
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
## Contents
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
* [What it looks like ](#what-it-looks-like )
* [Help! Redox won't compile ](#compile-help )
* [Contributing to Redox ](#contributing )
* [Cloning, Building and running ](#cloning-building-running )
* [Quick Setup ](#quick-setup )
* [Manual Setup ](#manual-setup )
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
## <a name="what-it-looks-like"> What it looks like </a>
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
< img alt = "Redox" height = "150" src = "https://github.com/redox-os/assets/raw/master/screenshots/Desktop.png" >
< img alt = "Redox" height = "150" src = "https://github.com/redox-os/assets/raw/master/screenshots/Fancy_opacity.png" >
< img alt = "Redox" height = "150" src = "https://github.com/redox-os/assets/raw/master/screenshots/File_manager.png" >
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
< img alt = "Redox" height = "150" src = "https://github.com/redox-os/assets/raw/master/screenshots/Sodium_v1.png" >
< img alt = "Redox" height = "150" src = "https://github.com/redox-os/assets/raw/master/screenshots/Boot.png" >
< img alt = "Redox" height = "150" src = "https://github.com/redox-os/assets/raw/master/screenshots/start.png" >
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
## <a name="compile-help"> Help! Redox won't compile! </a>
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
Sometimes things go wrong when compiling. Try the following before opening an issue:
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
1. Run `make clean` .
2. Run `git clean -X -f -d` .
3. Make sure you have **the latest version of Rust nightly!** ([rustup.rs](https://www.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`).
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
and then rebuild!
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
## <a name="contributing"> Contributing to Redox </a>
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
If you're interested in this project, and you'd like to help us out, [here ](CONTRIBUTING.md ) is a list of ways you can do just that.
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
## <a name="cloning-building-running"> Cloning, Building, and Running </a>
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
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!
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
### <a name="quick-setup" /> Quick Setup </a>
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
```bash
$ cd path/to/your/projects/folder/
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
# Run bootstrap setup
$ curl -sf https://raw.githubusercontent.com/redox-os/redox/master/bootstrap.sh -o bootstrap.sh & & bash -e bootstrap.sh
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
# Build Redox
$ make all
2016-08-14 00:53:13 +02:00
2016-11-01 19:04:50 +01:00
# Launch using QEMU
$ make qemu
# Launch using QEMU without using KVM (Kernel Virtual Machine). Try if QEMU gives an error.
$ make qemu kvm=no
```
2016-08-14 18:10:28 +02:00
2016-11-01 19:04:50 +01:00
#### QEMU with KVM
2016-08-14 18:10:28 +02:00
2016-11-01 19:04:50 +01:00
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.
### <a name="manual-setup"> Manual Setup </a>
To manually clone, build and run Redox using a Linux host, run the following commands (with exceptions, be sure to read the comments):
```bash
$ 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
```