diff --git a/bootstrap.sh b/bootstrap.sh index a65ae0c..541d0cf 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -241,7 +241,11 @@ ubuntu() pkg-config \ po4a \ syslinux-utils \ - texinfo + texinfo \ + libsdl1.2-dev \ + ninja-build \ + meson \ + python3-mako if [ "$1" == "qemu" ]; then if [ -z "$(which qemu-system-x86_64)" ]; then echo "Installing QEMU..." diff --git a/config/x86_64/demo.toml b/config/x86_64/demo.toml new file mode 100644 index 0000000..854e6fa --- /dev/null +++ b/config/x86_64/demo.toml @@ -0,0 +1,252 @@ +############################################################################## +# Redox Demo Configuration # +# # +# This file defines the setup of the Redox Demo system. # +# # +# The "[packages]" section specifies what packages are installed in the # +# filesystem prior to booting the system. During build, these packages must # +# have a recipe defined in the config folder (see the Redox Book, # +# Chapter 5.1). The first group of packages is mandatory for the system to # +# function, although some items can be removed for special builds, # +# e.g. The Orbital GUI is not required for a headless server. # +# # +# Items in the "Developer Tools" and "Games" section are optional. You can # +# add your own programs here. # +# # +# The "[users]" section creates user id's and passwords. Each user will have # +# a home directory at boot. # +# # +# The "[[files]]" section contains files needed by the system. If you need # +# create a file, e.g. a config file for a program you are adding, you can do # +# it here. # +# # +############################################################################## + +# General settings +[general] +# Do not prompt if settings are not defined +prompt = false + +# Package settings +[packages] +audiod = {} +bootloader = {} +bootstrap = {} +ca-certificates = {} +contain = {} +coreutils = {} +dash = {} +diffutils = {} +drivers = {} +escalated = {} +extrautils = {} +findutils = {} +initfs = {} +installer = {} +ion = {} +ipcd = {} +kernel = {} +netdb = {} +netstack = {} +netsurf = {} +netutils = {} +orbdata = {} +orbital = {} +orbterm = {} +orbutils = {} +pkgutils = {} +ptyd = {} +redoxfs = {} +relibc = {} +resist = {} +smith = {} +userutils = {} +uutils = {} + +# Apps +periodictable = {} +sodium = {} + +# Games +dosbox = {} +freedoom = {} +games = {} +prboom = {} +sopwith = {} +syobonaction = {} + +# Demos +orbclient = {} + +# User settings +[users.root] +password = "password" +uid = 0 +gid = 0 +name = "root" +home = "/root" + +[users.user] +# Password is unset +password = "" + +[[files]] +path = "/etc/init.d/00_base" +data = """ +ipcd +ptyd +pcid /etc/pcid.d/ +escalated +""" + +[[files]] +path = "/etc/init.d/10_net" +data = """ +smolnetd +dnsd +dhcpd -b +""" + +[[files]] +path = "/etc/init.d/20_orbital" +data = """ +audiod +orbital display:3/activate orblogin launcher +""" + +[[files]] +path = "/etc/init.d/30_console" +data = """ +getty display:2 +getty debug: -J +""" + +[[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 +""" + +[[files]] +path = "/etc/net/mac" +data = """ +54-52-00-ab-cd-ef +""" + +[[files]] +path = "/etc/pkg.d/50_redox" +data = "https://static.redox-os.org/pkg" + +[[files]] +path = "/etc/redox-release" +data = "0.8.0alpha" + +[[files]] +path = "/etc/group" +data = """ +root;0;root +user;1000;user +sudo;1;user +""" + +[[files]] +path = "/etc/hostname" +data = """ +redox +""" + +[[files]] +path = "/usr/bin" +data = "../bin" +symlink = true + +[[files]] +path = "/usr/games" +data = "../games" +symlink = true + +[[files]] +path = "/usr/include" +data = "../include" +symlink = true + +[[files]] +path = "/usr/lib" +data = "../lib" +symlink = true + +[[files]] +path = "/usr/share" +data = "../share" +symlink = true + +[[files]] +path = "/tmp" +data = "" +directory= true +# 0o1777 +mode = 1023 + +[[files]] +path = "/dev/null" +data = "null:" +symlink = true + +[[files]] +path = "/dev/random" +data = "rand:" +symlink = true + +[[files]] +path = "/dev/urandom" +data = "rand:" +symlink = true + +[[files]] +path = "/dev/zero" +data = "zero:" +symlink = true + +[[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 # +# # +############################################################################## +"""