Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • redox-os/redoxer
  • bruceadams/redoxer
  • freewilll/redoxer
  • ssd/redoxer
  • andypython/redoxer
  • mattmadeofpasta/redoxer
  • TornaxO7/redoxer
  • regaast/redoxer
  • plimkilde/redoxer
  • AgostonSzepessy/redoxer
  • jD91mZM2/redoxer
  • bool_purist/redoxer
  • coolreader18/redoxer
  • tcrawford/redoxer
  • enygmator/redoxer
  • 4lDO2/redoxer
  • andrey.turkin/redoxer
17 results
Show changes
Commits on Source (135)
.dockerignore
.git
.gitignore
Dockerfile
daemon
example
target
use flake
build
#Added by cargo
#
#already existing elements are commented out
/target
**/*.rs.bk
target
.direnv/
\ No newline at end of file
This diff is collapsed.
[package]
name = "redoxer"
version = "0.2.3"
version = "0.2.51"
description = "Method for quickly running programs inside of Redox from a KVM capable OS."
license = "MIT"
authors = ["Jeremy Soller <jackpot51@gmail.com>"]
......@@ -8,10 +8,10 @@ repository = "https://gitlab.redox-os.org/redox-os/redoxer"
edition = "2018"
[dependencies]
dirs = "1.0"
redox_installer = "0.2"
tempfile = "3.0"
dirs = "5.0.1"
redox_installer = "0.2.29"
redox_syscall = "0.5"
redoxfs = "0.6.8"
tempfile = "3.13.0"
toml = "0.5"
[target.'cfg(target_os = "linux")'.dependencies]
proc-mounts = "0.2"
proc-mounts = "0.3.0"
FROM ubuntu:22.04
# Install dependencies
RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update -qq && \
apt-get install -y -qq \
build-essential \
curl \
expect \
fuse \
libfuse-dev \
pkg-config \
qemu-system-x86 \
rsync \
nasm
# Install rust
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | \
sh -s -- --default-toolchain nightly -y
# Set path
ENV PATH=/root/.cargo/bin:$PATH
# Install redoxer
COPY . /root/redoxer
RUN cargo install --path /root/redoxer
# Install redoxer toolchain
RUN TARGET=x86_64-unknown-redox redoxer toolchain && \
TARGET=i686-unknown-redox redoxer toolchain
# Ensure redoxer exec is working
RUN redoxer exec true
Copyright (c) 2016 Redox OS Developers
MIT License
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# redoxer
Method for quickly building and running programs inside of Redox from a KVM
capable OS.
The tool used to build/run Rust programs (and C/C++ programs with zero dependencies) inside of a Redox VM, the Redox GitLab CI use a Docker image with `redoxer` pre-installed.
## Install redoxer tool
A pre-built Docker image can be found on [Docker Hub](https://hub.docker.com/r/redoxos/redoxer)
## Commands
- Install the tool
```sh
cargo install redoxer
```
- Install the Redox toolchain
## Install redoxer toolchain
redoxer install
```sh
redoxer toolchain
```
## Build project with redoxer
- Build the Rust program or library with Redoxer
```sh
redoxer build
```
- Run the Rust program on Redox
## Run project with redoxer (in redox!)
```sh
redoxer run
```
## Test project with redoxer (in redox!)
- Test the Rust program or library with Redoxer
```sh
redoxer test
```
- Run arbitrary executable (`echo hello`) with Redoxer
## Run arbitrary executable with redoxer (in redox!)
```sh
redoxer exec echo hello
```
/target
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "bitflags"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "redox_syscall"
version = "0.1.54"
version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
dependencies = [
"bitflags",
]
[[package]]
name = "redox_syscall"
version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
dependencies = [
"bitflags",
]
[[package]]
name = "redox_termios"
version = "0.1.1"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8440d8acb4fd3d277125b4bd01a6f38aee8d814b3b5fc09b3f2b825d37d3fe8f"
dependencies = [
"redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
"redox_syscall 0.2.16",
]
[[package]]
name = "redoxerd"
version = "0.1.0"
dependencies = [
"redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
"redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"redox_syscall 0.3.5",
"redox_termios",
]
[metadata]
"checksum redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)" = "12229c14a0f65c4f1cb046a3b52047cdd9da1f4b30f8a39c5063c8bae515e252"
"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
......@@ -5,5 +5,5 @@ authors = ["Jeremy Soller <jackpot51@gmail.com>"]
edition = "2018"
[dependencies]
redox_syscall = "0.1"
redox_syscall = "0.3"
redox_termios = "0.1"
......@@ -19,12 +19,17 @@ pub fn handle(event_file: &mut File, master_fd: RawFd, timeout_fd: RawFd, proces
if event_id == master_fd {
let mut packet = [0; 4096];
loop {
// Read data from PTY master
let count = match syscall::read(master_fd as usize, &mut packet) {
Ok(0) => return Ok(false),
Ok(count) => count,
Err(ref err) if err.errno == syscall::EAGAIN => return Ok(true),
Err(err) => return Err(syscall_error(err)),
};
// Write data to stdout
syscall::write(1, &packet[1..count]).map_err(syscall_error)?;
for i in 1..count {
// Write byte to QEMU debugcon (Bochs compatible)
Pio::<u8>::new(0xe9).write(packet[i]);
......
/target
[dependencies.std]
features = ["panic-unwind"]
{
"nodes": {
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1681202837,
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1702312524,
"narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a9bf124c46ef298113270b1f84a164865987a91c",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1681358109,
"narHash": "sha256-eKyxW4OohHQx9Urxi7TQlFBTDWII+F+x2hklDOQPB50=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "96ba1c52e54e74c3197f4d43026b3f3d92e83ff9",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs",
"rust-overlay": "rust-overlay",
"systems": "systems_2"
}
},
"rust-overlay": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1702779466,
"narHash": "sha256-IZeGwmm5n6bn+f4aEwMdbzFsJaa219efYZass7pdNdg=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "d74fd31da8994c7e60850561a64379324c1c77dd",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
}
},
"root": "root",
"version": 7
}
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
rust-overlay.url = "github:oxalica/rust-overlay";
systems.url = "github:nix-systems/default-linux";
};
outputs = { self, nixpkgs, rust-overlay, systems, ... }:
let
eachSystem = nixpkgs.lib.genAttrs (import systems);
mkRexoder = { rustPlatform, lib, pkg-config, fuse3, ... }: rustPlatform.buildRustPackage rec {
pname = "redoxer";
version = "0.2.38";
src = builtins.path {
path = ./.;
name = pname;
};
cargoLock.lockFile = ./Cargo.lock;
meta = {
description = "The tool used to build/run Rust programs (and C/C++ programs with zero dependencies) inside of a Redox VM.";
homepage = "https://gitlab.redox-os.org/redox-os/redoxer";
};
nativeBuildInputs = [
pkg-config
];
buildInputs = [
fuse3
];
};
in
{
apps = eachSystem (system: {
default = {
type = "app";
program = "${self.packages.${system}.default}/bin/redoxer";
};
});
packages = eachSystem (system:
let
pkgs = import nixpkgs {
inherit system;
};
in
{
default = pkgs.callPackage mkRexoder { };
});
overlays.default = final: prev: {
redoxer = prev.callPackage mkRexoder { };
};
devShells = eachSystem (system:
let
pkgs = import nixpkgs {
inherit system;
overlays = [ rust-overlay.overlays.default ];
};
rust-toolchain = (pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml).override {
extensions = [ "rust-src" "rust-analyzer" ];
};
in
{
default = pkgs.mkShell {
packages = with pkgs; [
pkg-config
fuse3
] ++ [ rust-toolchain ];
};
});
};
}
# General settings
# Automatically generated by update.sh
include = []
[general]
# Do not prompt if settings are not defined
prompt = false
# Package settings
[packages]
ca-certificates = {}
coreutils = {}
dash = {}
drivers = {}
extrautils = {}
findutils = {}
ipcd = {}
kernel = {}
logd = {}
netdb = {}
netstack = {}
netutils = {}
nulld = {}
ptyd = {}
randd = {}
redoxerd = {}
uutils = {}
zerod = {}
# User settings
[users.root]
password = ""
uid = 0
gid = 0
name = "root"
home = "/root"
[packages.bash]
[packages.bootloader]
[packages.bootstrap]
[packages.ca-certificates]
[packages.coreutils]
[packages.drivers]
[packages.escalated]
[packages.extrautils]
[packages.findutils]
[packages.gcc13]
[packages.gnu-binutils]
[packages.initfs]
[packages.ion]
[packages.ipcd]
[packages.kernel]
[packages.netdb]
[packages.netstack]
[packages.netutils]
[packages.pkgutils]
[packages.ptyd]
[packages.redoxerd]
[packages.relibc]
[packages.uutils]
[[files]]
path = "/etc/init.d/00_base"
path = "/usr/lib/init.d/00_base"
data = """
nulld
zerod
randd
# clear and recreate tmpdir with 0o1777 permission
rm -r /tmp
mkdir -m a=rwxt /tmp
ipcd
logd
ptyd
pcid /etc/pcid/filesystem.toml
escalated
"""
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/etc/init.d/10_net"
path = "/usr/lib/init.d/00_drivers"
data = """
smolnetd
dnsd
dhcpd
pcid /etc/pcid.d/
"""
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/etc/init.d/20_redoxer"
path = "/etc/hostname"
data = """
echo
echo ## preparing environment ##
export GROUPS 0
export HOME file:/root
export HOST redox
export SHELL file:/bin/sh
export UID 0
export USER root
cd file:/root
env
redox
"""
symlink = false
directory = false
recursive_chown = false
echo
echo ## running redoxer ##
redoxerd
[[files]]
path = "/usr/lib/os-release"
data = '''
PRETTY_NAME="Redox OS 0.9.0"
NAME="Redox OS"
VERSION_ID="0.9.0"
VERSION="0.9.0"
ID="redox-os"
HOME_URL="https://redox-os.org/"
DOCUMENTATION_URL="https://redox-os.org/docs/"
SUPPORT_URL="https://redox-os.org/community/"
'''
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/etc/os-release"
data = "../usr/lib/os-release"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/usr"
data = ""
symlink = false
directory = true
mode = 493
recursive_chown = false
[[files]]
path = "/usr/bin"
data = ""
symlink = false
directory = true
mode = 493
recursive_chown = false
[[files]]
path = "/bin"
data = "usr/bin"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/usr/include"
data = ""
symlink = false
directory = true
mode = 493
recursive_chown = false
[[files]]
path = "/include"
data = "usr/include"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/usr/lib"
data = ""
symlink = false
directory = true
mode = 493
recursive_chown = false
[[files]]
path = "/lib"
data = "usr/lib"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/usr/libexec"
data = ""
symlink = false
directory = true
mode = 493
recursive_chown = false
[[files]]
path = "/libexec"
data = "usr/libexec"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/usr/share"
data = ""
symlink = false
directory = true
mode = 493
recursive_chown = false
[[files]]
path = "/share"
data = "usr/share"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/dev/null"
data = "/scheme/null"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/dev/random"
data = "/scheme/rand"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/dev/urandom"
data = "/scheme/rand"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/dev/zero"
data = "/scheme/zero"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/dev/tty"
data = "libc:tty"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/dev/stdin"
data = "libc:stdin"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/dev/stdout"
data = "libc:stdout"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/dev/stderr"
data = "libc:stderr"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/usr/lib/init.d/10_net"
data = """
smolnetd
dnsd
dhcpd -b
"""
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/etc/net/dns"
data = """
208.67.222.222
"""
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/etc/net/ip"
data = """
10.0.2.15
"""
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/etc/net/ip_router"
data = """
10.0.2.2
"""
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/etc/net/ip_subnet"
data = """
255.255.255.0
"""
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/etc/net/mac"
path = "/usr/lib/init.d/10_net"
data = """
54-52-00-ab-cd-ef
smolnetd
dnsd
dhcpd
"""
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/etc/group"
path = "/usr/lib/init.d/20_env"
data = """
root;0;root
echo
echo ## preparing environment ##
export GROUPS 0
export HOME /root
export HOST redox
export SHELL /bin/sh
export UID 0
export USER root
cd /root
env
"""
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/etc/hostname"
path = "/usr/lib/init.d/30_redoxer"
data = """
redox
echo
echo ## running redoxer ##
redoxerd
"""
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/usr/bin"
data = "/bin"
symlink = true
path = "/etc/pkg.d/50_redox"
data = "https://static.redox-os.org/pkg"
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/usr/games"
data = "/games"
symlink = true
[[files]]
path = "/usr/include"
data = "/include"
symlink = true
[[files]]
path = "/usr/lib"
data = "/lib"
symlink = true
[users.root]
password = "password"
uid = 0
gid = 0
name = "root"
home = "/root"
shell = "/usr/bin/ion"
[[files]]
path = "/usr/share"
data = "/share"
symlink = true
[users.user]
password = ""
shell = "/usr/bin/ion"
[[files]]
path = "/tmp"
data = ""
directory= true
# 0o1777
mode = 1023
[groups.sudo]
gid = 1
members = ["user"]
# General settings
# Automatically generated by update.sh
include = []
[general]
# Do not prompt if settings are not defined
prompt = false
# Package settings
[packages]
ca-certificates = {}
coreutils = {}
dash = {}
drivers = {}
extrautils = {}
findutils = {}
ipcd = {}
kernel = {}
logd = {}
netdb = {}
netstack = {}
netutils = {}
nulld = {}
orbdata = {}
orbital = {}
ptyd = {}
randd = {}
redoxerd = {}
uutils = {}
zerod = {}
# User settings
[users.root]
password = ""
uid = 0
gid = 0
name = "root"
home = "/root"
[packages.bash]
[packages.bootloader]
[packages.bootstrap]
[packages.ca-certificates]
[packages.coreutils]
[packages.drivers]
[packages.escalated]
[packages.extrautils]
[packages.findutils]
[packages.gcc13]
[packages.gnu-binutils]
[packages.initfs]
[packages.ion]
[packages.ipcd]
[packages.kernel]
[packages.netdb]
[packages.netstack]
[packages.netutils]
[packages.orbdata]
[packages.orbital]
[packages.pkgutils]
[packages.ptyd]
[packages.redoxerd]
[packages.relibc]
[packages.uutils]
[[files]]
path = "/etc/init.d/00_base"
path = "/usr/lib/init.d/00_base"
data = """
stdio debug:
nulld
zerod
randd
# clear and recreate tmpdir with 0o1777 permission
rm -r /tmp
mkdir -m a=rwxt /tmp
ipcd
logd
ptyd
pcid /etc/pcid/filesystem.toml
escalated
"""
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/etc/init.d/10_net"
path = "/usr/lib/init.d/00_drivers"
data = """
smolnetd
dnsd
dhcpd
pcid /etc/pcid.d/
"""
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/etc/init.d/20_redoxer"
path = "/etc/hostname"
data = """
echo
echo ## preparing environment ##
export GROUPS 0
export HOME file:/root
export HOST redox
export SHELL file:/bin/sh
export UID 0
export USER root
cd file:/root
env
redox
"""
symlink = false
directory = false
recursive_chown = false
echo
echo ## running redoxer inside orbital ##
orbital display:3/activate redoxerd
[[files]]
path = "/usr/lib/os-release"
data = '''
PRETTY_NAME="Redox OS 0.9.0"
NAME="Redox OS"
VERSION_ID="0.9.0"
VERSION="0.9.0"
ID="redox-os"
HOME_URL="https://redox-os.org/"
DOCUMENTATION_URL="https://redox-os.org/docs/"
SUPPORT_URL="https://redox-os.org/community/"
'''
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/etc/os-release"
data = "../usr/lib/os-release"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/usr"
data = ""
symlink = false
directory = true
mode = 493
recursive_chown = false
[[files]]
path = "/usr/bin"
data = ""
symlink = false
directory = true
mode = 493
recursive_chown = false
[[files]]
path = "/bin"
data = "usr/bin"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/usr/include"
data = ""
symlink = false
directory = true
mode = 493
recursive_chown = false
[[files]]
path = "/include"
data = "usr/include"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/usr/lib"
data = ""
symlink = false
directory = true
mode = 493
recursive_chown = false
[[files]]
path = "/lib"
data = "usr/lib"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/usr/libexec"
data = ""
symlink = false
directory = true
mode = 493
recursive_chown = false
[[files]]
path = "/libexec"
data = "usr/libexec"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/usr/share"
data = ""
symlink = false
directory = true
mode = 493
recursive_chown = false
[[files]]
path = "/share"
data = "usr/share"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/dev/null"
data = "/scheme/null"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/dev/random"
data = "/scheme/rand"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/dev/urandom"
data = "/scheme/rand"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/dev/zero"
data = "/scheme/zero"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/dev/tty"
data = "libc:tty"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/dev/stdin"
data = "libc:stdin"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/dev/stdout"
data = "libc:stdout"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/dev/stderr"
data = "libc:stderr"
symlink = true
directory = false
recursive_chown = false
[[files]]
path = "/usr/lib/init.d/10_net"
data = """
smolnetd
dnsd
dhcpd -b
"""
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/etc/net/dns"
data = """
208.67.222.222
"""
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/etc/net/ip"
data = """
10.0.2.15
"""
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/etc/net/ip_router"
data = """
10.0.2.2
"""
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/etc/net/ip_subnet"
data = """
255.255.255.0
"""
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/etc/net/mac"
path = "/usr/lib/init.d/10_net"
data = """
54-52-00-ab-cd-ef
smolnetd
dnsd
dhcpd
"""
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/etc/group"
path = "/usr/lib/init.d/20_env"
data = """
root;0;root
echo
echo ## preparing environment ##
export GROUPS 0
export HOME /root
export HOST redox
export SHELL /bin/sh
export UID 0
export USER root
cd /root
env
"""
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/etc/hostname"
path = "/usr/lib/init.d/30_redoxer"
data = """
redox
echo
echo ## running redoxer ##
redoxerd
"""
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/usr/bin"
data = "/bin"
symlink = true
[[files]]
path = "/usr/games"
data = "/games"
symlink = true
path = "/etc/pkg.d/50_redox"
data = "https://static.redox-os.org/pkg"
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/usr/include"
data = "/include"
symlink = true
path = "/usr/lib/init.d/30_redoxer"
data = """
echo
echo ## running redoxer in orbital ##
export VT 3
orbital redoxerd
unset VT
"""
symlink = false
directory = false
recursive_chown = false
[[files]]
path = "/usr/lib"
data = "/lib"
symlink = true
[users.root]
password = "password"
uid = 0
gid = 0
name = "root"
home = "/root"
shell = "/usr/bin/ion"
[[files]]
path = "/usr/share"
data = "/share"
symlink = true
[users.user]
password = ""
shell = "/usr/bin/ion"
[[files]]
path = "/tmp"
data = ""
directory= true
# 0o1777
mode = 1023
[groups.sudo]
gid = 1
members = ["user"]
#!/usr/bin/env bash
set -e
RES_PATH="$(dirname "$0")"
if [ -d "$1" ]
then
REDOX_PATH="$1"
else
echo "$0 [path to redox repository]" >&2
exit 1
fi
set -x
# Update res/base.toml from the redoxer.toml template
cargo run --release --manifest-path "${REDOX_PATH}/installer/Cargo.toml" -- \
--config="${REDOX_PATH}/config/redoxer.toml" \
--output-config="${RES_PATH}/base.toml"
sed -i '1s/^/# Automatically generated by update.sh\n\n/' "${RES_PATH}/base.toml"
# Update res/gui.toml from the redoxer-gui.toml template
cargo run --release --manifest-path "${REDOX_PATH}/installer/Cargo.toml" -- \
--config="${REDOX_PATH}/config/redoxer-gui.toml" \
--output-config="${RES_PATH}/gui.toml"
sed -i '1s/^/# Automatically generated by update.sh\n\n/' "${RES_PATH}/gui.toml"