Skip to content
Snippets Groups Projects
MggMuggins's avatar
SamwiseFilmore authored
Maybe some of the refactoring things I did don't make much sense, but I
did them. The goal was to get rid of those macros (because macro
definitions are really hard to read). I replaced two of them with very
similar functions, and rearranged the `install` function.

The installer now generates password hashes from the password entered by
the user or listed in the toml file. This value is NO LONGER the
password hash. The example configs have been changed to reflect this.
ce6e96bd
History

Redox OS installer

The Redox installer will allow you to produce a Redox OS image. You will be able to specify:

  • Output device (raw image, ISO, QEMU, VirtualBox, drive)
  • Filesystem
  • Included packages
  • Method of installation (from source, from binary)
  • User accounts

You will be prompted to install dependencies, based on your OS and method of installation. The easiest method is to install from binaries.

Usage

It is recommended to compile with cargo, in release mode:

cargo build --release

By default, you will be prompted to supply configuration options. You can use the scripted mode by supplying a configuration file:

cargo run --release -- config/example.toml

An example configuration can be found in config/example.toml. Unsuplied configuration will use the default. You can use the general.prompt setting to prompt when configuration is not set. Multiple configurations can be specified, they will be built in order.

Embedding

The installer can also be used inside of other crates, as a library:

# Cargo.toml
[dependencies]
redox_installer = "0.1"
// src/main.rs
extern crate redox_installer;

fn main() {    
    let mut config = redox_installer::Config::default();
    ...
    redox_installer::install(config);
}