4591fbabccfb0f319ef8b3d265b7dd577c24bb77
This rebases the local installer fork onto upstream 0.2.42 (commited6013c295) and reapplies the documented Red Bear OS additions from the local state. * Cargo.toml: bumped version to 0.2.42-rb1 per the no-fake-version- label policy. Also bumped dep versions (libc 0.2.70 -> with optional, pkgar 0.2 -> 0.2.2, redox-pkg 0.3 -> 0.3.1, ring with optional, libredox with optional) so the build matches the local fork ecosystem. * src/installer.rs: integrate the collision detection Red Bear added in Phase J. The installer now aborts on init-service file collisions (e.g. /usr/lib/init.d/ vs /etc/init.d/) and prints a clear error pointing to the local docs. * src/lib.rs: declare the collision module and re-export the CollisionDetector. * src/config/package.rs: extend PackageConfig with PartialEq so the new package-groups feature (added in commite45ce4d) can compare configs. * src/bin/installer.rs, src/bin/installer_tui.rs: expose the --strict-collision / REDBEAR_STRICT_COLLISION env var to optionally make non-critical file collisions fatal. * gui/: new redox_installer_gui binary — the TUI installer. This is the new binary added in Red Bear OS Phase 3 and lives in local/patches/installer/0001-redbear-os-additions.patch as a documented Red Bear addition. The previous redox.patch in local/patches/installer/ is removed and replaced with this regenerated 0001-redbear-os-additions.patch that applies cleanly with --fuzz=0 to upstream 0.2.42. Verified by local/scripts/verify-fork-versions.sh: the local installer-0.2.42-rb1 branch source content matches upstream 0.2.42 plus this single documented patch.
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);
}
Description
RedBear Operating System, based on RedoxOS. Licenced under MIT license.
https://redbearos.org
Languages
C
43.9%
C++
23.5%
Makefile
7.3%
Python
3.7%
JavaScript
3.4%
Other
17.1%