Add a binary variant for most filesystem configs

This commit is contained in:
Ribbon 2024-07-20 15:21:05 +00:00
parent 7f838a3a05
commit 7c701a7d15
29 changed files with 886 additions and 0 deletions

View File

@ -0,0 +1,3 @@
# Configuration for demonstration
include = ["desktop-bin.toml"]

View File

@ -0,0 +1,28 @@
# Default build system configuration
include = ["../minimal-bin.toml"]
# General settings
[general]
# Filesystem size in MiB
filesystem_size = 256
# Package settings
[packages]
audiod = {}
cosmic-edit = {}
cosmic-icons = {}
cosmic-files = {}
cosmic-term = {}
orbdata = {}
orbital = {}
orbutils = {}
pop-icon-theme = {}
shared-mime-info = {}
[[files]]
path = "/usr/lib/init.d/20_orbital"
data = """
audiod
orbital orblogin launcher
"""

View File

@ -0,0 +1,14 @@
# Minimal desktop configuration
include = ["../desktop-minimal.toml"]
# Override the default settings here
# General settings
[general]
# Filesystem size in MiB
# filesystem_size = 1024
# Package settings
[packages]
# example = {}

View File

@ -0,0 +1,14 @@
# Minimal configuration
include = ["../minimal-bin.toml"]
# Override the default settings here
# General settings
[general]
# Filesystem size in MiB
# filesystem_size = 1024
# Package settings
[packages]
# example = {}

View File

@ -0,0 +1,14 @@
# Minimal network configuration
include = ["../minimal-net-bin.toml"]
# Override the default settings here
# General settings
[general]
# Filesystem size in MiB
# filesystem_size = 1024
# Package settings
[packages]
# example = {}

View File

@ -0,0 +1,10 @@
# Minimal configuration
include = ["../../minimal-bin.toml"]
# General settings
[general]
# Filesystem size in MiB
filesystem_size = 256
# EFI partition size in MiB
efi_partition_size = 128

View File

@ -0,0 +1,14 @@
# Server configuration
include = ["../server-bin.toml"]
# Override the default settings here
# General settings
[general]
# Filesystem size in MiB
# filesystem_size = 1024
# Package settings
[packages]
# example = {}

188
config/base-bin.toml Normal file
View File

@ -0,0 +1,188 @@
# Base configuration: This configuration is meant to be included by
# other configurations rather than use directly. It is the greatest
# common divisor of all other configurations and misses several
# parts necessary to create a bootable system.
# General settings
[general]
# Do not prompt if settings are not defined
prompt = false
[packages]
bootloader = "binary"
bootstrap = "binary"
drivers = "binary"
escalated = "binary"
initfs = "binary"
ipcd = "binary"
kernel = "binary"
ptyd = "binary"
uutils = "binary"
## Configuration files
[[files]]
path = "/usr/lib/init.d/00_base"
data = """
# clear and recreate tmpdir with 0o1777 permission
rm -r /tmp
mkdir -m a=rwxt /tmp
ipcd
ptyd
escalated
"""
[[files]]
path = "/usr/lib/init.d/00_drivers"
data = """
pcid /etc/pcid.d/
"""
[[files]]
path = "/etc/hostname"
data = """
redox
"""
# https://www.freedesktop.org/software/systemd/man/latest/os-release.html
[[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/"
"""
# FIXME maybe add VARIANT= and VARIANT_ID= keys depending on the chosen configuration?
[[files]]
path = "/etc/os-release"
data = "../usr/lib/os-release"
symlink = true
## Symlinks for usrmerge
[[files]]
path = "/usr"
data = ""
directory = true
mode = 0o755
[[files]]
path = "/usr/bin"
data = ""
directory = true
mode = 0o755
[[files]]
path = "/bin"
data = "usr/bin"
symlink = true
[[files]]
path = "/usr/include"
data = ""
directory = true
mode = 0o755
[[files]]
path = "/include"
data = "usr/include"
symlink = true
[[files]]
path = "/usr/lib"
data = ""
directory = true
mode = 0o755
[[files]]
path = "/lib"
data = "usr/lib"
symlink = true
[[files]]
path = "/usr/libexec"
data = ""
directory = true
mode = 0o755
[[files]]
path = "/libexec"
data = "usr/libexec"
symlink = true
[[files]]
path = "/usr/share"
data = ""
directory = true
mode = 0o755
[[files]]
path = "/share"
data = "usr/share"
symlink = true
## Device file symlinks
[[files]]
path = "/dev/null"
data = "/scheme/null"
symlink = true
[[files]]
path = "/dev/random"
data = "/scheme/rand"
symlink = true
[[files]]
path = "/dev/urandom"
data = "/scheme/rand"
symlink = true
[[files]]
path = "/dev/zero"
data = "/scheme/zero"
symlink = true
[[files]]
path = "/dev/tty"
data = "libc:tty"
symlink = true
[[files]]
path = "/dev/stdin"
data = "libc:stdin"
symlink = true
[[files]]
path = "/dev/stdout"
data = "libc:stdout"
symlink = true
[[files]]
path = "/dev/stderr"
data = "libc:stderr"
symlink = true
# User settings
[users.root]
password = "password"
uid = 0
gid = 0
name = "root"
home = "/root"
shell = "/usr/bin/ion"
[users.user]
# Password is unset
password = ""
shell = "/usr/bin/ion"
# Group settings
[groups.sudo]
gid = 1
members = ["user"]

40
config/desktop-bin.toml Normal file
View File

@ -0,0 +1,40 @@
# Default build system configuration
include = ["server.toml"]
# General settings
[general]
# Filesystem size in MiB
filesystem_size = 576
# Package settings
[packages]
audiod = "binary"
cosmic-edit = "binary"
cosmic-icons = "binary"
cosmic-files = "binary"
cosmic-term = "binary"
dejavu = "binary"
installer-gui = "binary"
netsurf = "binary"
orbdata = "binary"
orbital = "binary"
orbutils = "binary"
pop-icon-theme = "binary"
#rustpython = "binary" # issues with new Rust nightly
shared-mime-info = "binary"
[[files]]
path = "/usr/lib/init.d/20_orbital"
data = """
audiod
orbital orblogin launcher
"""
# Override console config to not switch to VT 2
[[files]]
path = "/usr/lib/init.d/30_console"
data = """
getty 2
getty debug: -J
"""

View File

@ -0,0 +1,31 @@
# Minimal desktop configuration
include = ["minimal-net.toml"]
# General settings
[general]
# Filesystem size in MiB
filesystem_size = 256
# Package settings
[packages]
orbdata = "binary"
orbital = "binary"
orbterm = "binary"
orbutils-background = "binary"
orbutils-launcher = "binary"
orbutils-orblogin = "binary"
[[files]]
path = "/usr/lib/init.d/20_orbital"
data = """
orbital orblogin launcher
"""
# Override console config to not switch to VT 2
[[files]]
path = "/usr/lib/init.d/30_console"
data = """
getty 2
getty debug: -J
"""

105
config/dev-bin.toml Normal file
View File

@ -0,0 +1,105 @@
# Configuration for development
include = ["desktop.toml"]
# General settings
[general]
# Filesystem size in MiB
filesystem_size = 20000
# Do not prompt if settings are not defined
prompt = false
# Package settings
[packages]
acid = "binary"
autoconf = "binary"
automake = "binary"
cargo = "binary"
crates-io-index = "binary"
exampled = "binary"
gcc13 = "binary"
gdbserver = "binary"
gnu-binutils = "binary"
gnu-grep = "binary"
gnu-make = "binary"
libffi = "binary"
libgmp = "binary"
libiconv = "binary"
libjpeg = "binary"
libogg = "binary"
liborbital = "binary"
libpng = "binary"
libsodium = "binary"
libvorbis = "binary"
libxml2 = "binary"
llvm18 = "binary"
lua54 = "binary"
mesa = "binary"
mesa-glu = "binary"
nasm = "binary"
ncurses = "binary"
nghttp2 = "binary"
openssl1 = "binary"
orbclient = "binary"
patch = "binary"
pcre = "binary"
pkg-config = "binary"
resist = "binary"
ripgrep = "binary"
rust = "binary"
sdl-gfx = "binary"
sdl1 = "binary"
sdl1-image = "binary"
sdl1-mixer = "binary"
sdl1-ttf = "binary"
sdl2 = "binary"
sdl2-gears = "binary"
sdl2-image = "binary"
sdl2-mixer = "binary"
sdl2-ttf = "binary"
sed = "binary"
strace = "binary"
terminfo = "binary"
xz = "binary"
zlib = "binary"
[[files]]
path = "/home/user/test.rs"
data = """
fn main() {
println!("Hello, Redox!");
}
"""
[[files]]
path = "/home/user/test.c"
data = """
#include <stdio.h>
int main(void) {
printf("Hello, Redox!\n");
}
"""
[[files]]
path = "/home/user/test.cpp"
data = """
#include <iostream>
int main()
{
std::cout << "Hello, Redox!" << std::endl;
}
"""
[[files]]
path = "/home/user/test.py"
data = """
print("Hello, Redox!")
"""
[[files]]
path = "/home/user/test.lua"
data = """
print("Hello, Redox!")
"""

48
config/i686/demo-bin.toml Normal file
View File

@ -0,0 +1,48 @@
# Configuration for demonstration
include = ["../desktop-bin.toml"]
# General settings
[general]
# Filesystem size in MiB
filesystem_size = 640
# Package settings
[packages]
# Games
dosbox = "binary"
freedoom = "binary"
prboom = "binary"
redox-games = "binary"
# Demos
pixelcannon = "binary"
# MIDI
freepats = "binary"
[[files]]
path = "/home/user/Welcome.txt"
data = """
##############################################################################
# #
# Welcome to Redox! #
# #
# Redox is an operating system written in Rust, a language with focus #
# on safety and high performance. Redox, following the microkernel design, #
# aims to be secure, usable, and free. Redox is inspired by previous kernels #
# and operating systems, such as SeL4, MINIX, Plan 9, and BSD. #
# #
# Redox _is not_ just a kernel, it's a full-featured Operating System, #
# providing packages (memory allocator, file system, display manager, core #
# utilities, etc.) that together make up a functional and convenient #
# operating system. You can loosely think of it as the GNU or BSD ecosystem, #
# but in a memory safe language and with modern technology. #
# #
# The website can be found at https://www.redox-os.org. #
# #
# For things to try on Redox, please see #
# https://doc.redox-os.org/book/ch02-06-trying-out-redox.html #
# #
##############################################################################
"""

View File

@ -0,0 +1,14 @@
# Default build system configuration
include = ["../desktop-bin.toml"]
# Override the default settings here
# General settings
[general]
# Filesystem size in MiB
# filesystem_size = 1024
# Package settings
[packages]
# example = {}

View File

@ -0,0 +1,14 @@
# Minimal desktop configuration
include = ["../desktop-minimal-bin.toml"]
# Override the default settings here
# General settings
[general]
# Filesystem size in MiB
# filesystem_size = 1024
# Package settings
[packages]
# example = {}

14
config/i686/dev-bin.toml Normal file
View File

@ -0,0 +1,14 @@
# Configuration for development
include = ["../dev-bin.toml"]
# Override the default settings here
# General settings
[general]
# Filesystem size in MiB
# filesystem_size = 1024
# Package settings
[packages]
# example = {}

View File

@ -0,0 +1,14 @@
# Minimal configuration
include = ["../minimal-bin.toml"]
# Override the default settings here
# General settings
[general]
# Filesystem size in MiB
# filesystem_size = 1024
# Package settings
[packages]
# example = {}

View File

@ -0,0 +1,14 @@
# Minimal network configuration
include = ["../minimal-net-bin.toml"]
# Override the default settings here
# General settings
[general]
# Filesystem size in MiB
# filesystem_size = 1024
# Package settings
[packages]
# example = {}

View File

@ -0,0 +1,14 @@
# Server configuration
include = ["../server-bin.toml"]
# Override the default settings here
# General settings
[general]
# Filesystem size in MiB
# filesystem_size = 1024
# Package settings
[packages]
# example = {}

23
config/minimal-bin.toml Normal file
View File

@ -0,0 +1,23 @@
# Minimal configuration
include = ["base.toml"]
# General settings
[general]
# Filesystem size in MiB
filesystem_size = 128
# Package settings
[packages]
coreutils = "binary"
extrautils = "binary"
ion = "binary"
smith = "binary"
userutils = "binary"
[[files]]
path = "/usr/lib/init.d/30_console"
data = """
getty 2
getty debug: -J
"""

View File

@ -0,0 +1,32 @@
# Minimal network configuration
include = ["net.toml"]
# General settings
[general]
# Filesystem size in MiB
filesystem_size = 256
# Package settings
[packages]
ca-certificates = "binary"
coreutils = "binary"
extrautils = "binary"
findutils = "binary"
ion = "binary"
netdb = "binary"
pkgutils = "binary"
smith = "binary"
userutils = "binary"
[[files]]
path = "/usr/lib/init.d/30_console"
data = """
inputd -A 2
getty 2
getty /scheme/debug -J
"""
[[files]]
path = "/etc/pkg.d/50_redox"
data = "https://static.redox-os.org/pkg"

43
config/net-bin.toml Normal file
View File

@ -0,0 +1,43 @@
# Network configuration: includes the base configuration and adds files required
# for networking
include = ["base.toml"]
# Package settings
[packages]
netstack = "binary"
netutils = "binary"
## Network init
[[files]]
path = "/usr/lib/init.d/10_net"
data = """
smolnetd
dnsd
dhcpd -b
"""
## Default net configuration (optimized for QEMU)
[[files]]
path = "/etc/net/dns"
data = """
208.67.222.222
"""
[[files]]
path = "/etc/net/ip"
data = """
10.0.2.15
"""
[[files]]
path = "/etc/net/ip_router"
data = """
10.0.2.2
"""
[[files]]
path = "/etc/net/ip_subnet"
data = """
255.255.255.0
"""

41
config/server-bin.toml Normal file
View File

@ -0,0 +1,41 @@
# Server configuration
include = ["net.toml"]
# General settings
[general]
# Filesystem size in MiB
filesystem_size = 512
# Package settings
[packages]
bash = "binary"
ca-certificates = "binary"
contain = "binary"
coreutils = "binary"
curl = "binary"
diffutils = "binary"
extrautils = "binary"
findutils = "binary"
git = "binary"
installer = "binary"
ion = "binary"
kibi = "binary"
netdb = "binary"
pkgutils = "binary"
redoxfs = "binary"
relibc = "binary"
resist = "binary"
userutils = "binary"
[[files]]
path = "/usr/lib/init.d/30_console"
data = """
inputd -A 2
getty 2
getty debug: -J
"""
[[files]]
path = "/etc/pkg.d/50_redox"
data = "https://static.redox-os.org/pkg"

View File

@ -0,0 +1,70 @@
# Configuration for demonstration
include = ["../desktop-bin.toml"]
# General settings
[general]
# Filesystem size in MiB
filesystem_size = 1536
# Package settings
[packages]
# GUI Apps
periodictable = "binary"
# GUI Data
intel-one-mono = "binary"
# Shell Apps
curl = "binary"
git = "binary"
gnu-grep = "binary"
ripgrep = "binary"
sodium = "binary"
vim = "binary"
# Games
dosbox = "binary"
freedoom = "binary"
neverball = "binary"
prboom = "binary"
redox-games = "binary"
sopwith = "binary"
syobonaction = "binary"
# Demos
acid = "binary"
nushell = "binary"
orbclient = "binary"
pixelcannon = "binary"
rodioplay = "binary"
gears = "binary"
# MIDI
freepats = "binary"
[[files]]
path = "/home/user/Welcome.txt"
data = """
##############################################################################
# #
# Welcome to Redox! #
# #
# Redox is an operating system written in Rust, a language with focus #
# on safety and high performance. Redox, following the microkernel design, #
# aims to be secure, usable, and free. Redox is inspired by previous kernels #
# and operating systems, such as SeL4, MINIX, Plan 9, and BSD. #
# #
# Redox _is not_ just a kernel, it's a full-featured Operating System, #
# providing packages (memory allocator, file system, display manager, core #
# utilities, etc.) that together make up a functional and convenient #
# operating system. You can loosely think of it as the GNU or BSD ecosystem, #
# but in a memory safe language and with modern technology. #
# #
# The website can be found at https://www.redox-os.org. #
# #
# For things to try on Redox, please see #
# https://doc.redox-os.org/book/ch02-06-trying-out-redox.html #
# #
##############################################################################
"""

View File

@ -0,0 +1,14 @@
# Default build system configuration
include = ["../desktop-bin.toml"]
# Override the default settings here
# General settings
[general]
# Filesystem size in MiB
# filesystem_size = 1024
# Package settings
[packages]
# example = {}

View File

@ -0,0 +1,14 @@
# Minimal desktop configuration
include = ["../desktop-minimal-bin.toml"]
# Override the default settings here
# General settings
[general]
# Filesystem size in MiB
# filesystem_size = 1024
# Package settings
[packages]
# example = {}

View File

@ -0,0 +1,14 @@
# Configuration for development
include = ["../dev-bin.toml"]
# Override the default settings here
# General settings
[general]
# Filesystem size in MiB
# filesystem_size = 1024
# Package settings
[packages]
# example = {}

View File

@ -0,0 +1,14 @@
# Minimal configuration
include = ["../minimal-bin.toml"]
# Override the default settings here
# General settings
[general]
# Filesystem size in MiB
# filesystem_size = 1024
# Package settings
[packages]
# example = {}

View File

@ -0,0 +1,14 @@
# Minimal network configuration
include = ["../minimal-net-bin.toml"]
# Override the default settings here
# General settings
[general]
# Filesystem size in MiB
# filesystem_size = 1024
# Package settings
[packages]
# example = {}

View File

@ -0,0 +1,14 @@
# Server configuration
include = ["../server-bin.toml"]
# Override the default settings here
# General settings
[general]
# Filesystem size in MiB
# filesystem_size = 1024
# Package settings
[packages]
# example = {}