Skip to content
Snippets Groups Projects
preparing_the_build.md 1.56 KiB
Newer Older
Ticki's avatar
Ticki committed
Preparing the build.
====================

Woah! You made it so far, all the way to here. Congrats! Now we gotta build Redox.

_If you're lazy, and on an Linux computer. Well, you're today's winner! Just run the bootstrapping script, which does the build preparation for you:_

Ticki's avatar
Ticki committed
$ curl -sf https://raw.githubusercontent.com/redox-os/redox/master/bootstrap.sh -o bootstrap.sh && bash -e bootstrap.sh
```

Oh, you're not lazy? Well, then the next section is for you!

jeff's avatar
jeff committed
Cloning the repository
----------------------
 
 ```sh
 $ git clone https://github.com/redox-os/redox.git && cd redox && git submodule update --init
 ```
 
 Give it a while. Redox is big.
 

Ticki's avatar
Ticki committed
Installing the build dependencies manually
------------------------------------------


I assume you have a package manager, which you know how to use (if not, you have to install the build dependencies manually). We need the following deps: `make` (probably already installed), `nasm` (the assembler, we use in the build process), `qemu` (the hardware emulator, we will use. If you want to run Redox on real hardware, you should read the `fun` chapter):)

```
Steve Klabnik's avatar
Steve Klabnik committed
$ [your package manager] install make nasm qemu
Ticki's avatar
Ticki committed
```

LazyOxen's avatar
LazyOxen committed
While the following step is not _required_, it is recommended. If you already have a functioning Rust nightly installation, you can skip this step:
Ticki's avatar
Ticki committed

We will use `multirust` to manage our Rust versions:

Ticki's avatar
Ticki committed
$ curl -sf https://raw.githubusercontent.com/brson/multirust/master/quick-install.sh | sh
Ticki's avatar
Ticki committed
```

LazyOxen's avatar
LazyOxen committed
Now, we have to configure our multirust installation to default to `nightly`:
Ticki's avatar
Ticki committed

Ticki's avatar
Ticki committed
$ multirust override nightly
```