Red Bear OS — microkernel OS in Rust, based on Redox
Derivative of Redox OS (https://www.redox-os.org) adding: - AMD GPU driver (amdgpu) via LinuxKPI compat layer - ext4 filesystem support (ext4d scheme daemon) - ACPI fixes for AMD bare metal (x2APIC, DMAR, IVRS, MCFG) - Custom branding (hostname, os-release, boot identity) Build system is full upstream Redox with RBOS overlay in local/. Patches for kernel, base, and relibc are symlinked from local/patches/ and protected from make clean/distclean. Custom recipes live in local/recipes/ with symlinks into the recipes/ search path. Build: make all CONFIG_NAME=redbear-full Sync: ./local/scripts/sync-upstream.sh
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
# Configuration file to install the recipe dependencies inside the Podman container
|
||||
|
||||
FROM docker.io/library/debian:trixie
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
appstream \
|
||||
appstream-compose \
|
||||
autoconf \
|
||||
autoconf2.69 \
|
||||
automake \
|
||||
autopoint \
|
||||
bison \
|
||||
bsdextrautils \
|
||||
build-essential \
|
||||
cmake \
|
||||
curl \
|
||||
dos2unix \
|
||||
doxygen \
|
||||
expect \
|
||||
file \
|
||||
flex \
|
||||
fuse3 \
|
||||
g++ \
|
||||
genisoimage \
|
||||
git \
|
||||
git-lfs \
|
||||
gobject-introspection \
|
||||
gtk-doc-tools \
|
||||
gtk-update-icon-cache \
|
||||
help2man \
|
||||
ipxe-qemu \
|
||||
intltool \
|
||||
libtool \
|
||||
libaudiofile-dev \
|
||||
libdbus-glib-1-dev-bin \
|
||||
libfuse3-dev \
|
||||
libgdk-pixbuf2.0-bin \
|
||||
libglib2.0-dev-bin \
|
||||
libhtml-parser-perl \
|
||||
librsvg2-common \
|
||||
libsdl1.2-dev \
|
||||
libsdl2-ttf-dev \
|
||||
lzip \
|
||||
m4 \
|
||||
make \
|
||||
meson \
|
||||
nano \
|
||||
nasm \
|
||||
ninja-build \
|
||||
patch \
|
||||
patchelf \
|
||||
perl \
|
||||
pkg-config \
|
||||
po4a \
|
||||
protobuf-compiler \
|
||||
qemu-system-x86 \
|
||||
qemu-system-arm \
|
||||
qemu-efi-aarch64 \
|
||||
python3 \
|
||||
python3-dev \
|
||||
python3-libxml2 \
|
||||
python3-mako \
|
||||
python3-venv \
|
||||
python3-yaml \
|
||||
rsync \
|
||||
ruby \
|
||||
scons \
|
||||
ssh \
|
||||
texinfo \
|
||||
unifdef \
|
||||
unzip \
|
||||
wget \
|
||||
xdg-utils \
|
||||
xfonts-utils \
|
||||
xserver-xorg-dev \
|
||||
xutils-dev \
|
||||
xxd \
|
||||
zip \
|
||||
zstd \
|
||||
&& if [ "$(uname -m)" = "x86_64" ]; then \
|
||||
apt-get install -y --no-install-recommends \
|
||||
libc6-dev-i386 \
|
||||
syslinux-utils \
|
||||
; fi
|
||||
@@ -0,0 +1,15 @@
|
||||
FROM debian:stable-backports
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends -t stable-backports \
|
||||
python3 \
|
||||
python3-pip \
|
||||
gdb \
|
||||
curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN pip3 install gdbgui --break-system-packages
|
||||
|
||||
EXPOSE 5000
|
||||
|
||||
ENTRYPOINT [ "gdbgui", "--remote", "--port", "5000" ]
|
||||
@@ -0,0 +1,46 @@
|
||||
# Configuration file to build linux toolchain using lower glibc constraint
|
||||
|
||||
FROM docker.io/library/debian:oldstable-backports
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends -t oldstable-backports \
|
||||
autoconf \
|
||||
autoconf2.69 \
|
||||
automake \
|
||||
autopoint \
|
||||
bison \
|
||||
build-essential \
|
||||
cmake \
|
||||
curl \
|
||||
dos2unix \
|
||||
doxygen \
|
||||
expect \
|
||||
file \
|
||||
flex \
|
||||
fuse3 \
|
||||
g++ \
|
||||
git \
|
||||
git-lfs \
|
||||
help2man \
|
||||
libfuse3-dev \
|
||||
lzip \
|
||||
m4 \
|
||||
make \
|
||||
meson \
|
||||
nano \
|
||||
nasm \
|
||||
ninja-build \
|
||||
patch \
|
||||
patchelf \
|
||||
perl \
|
||||
pkg-config \
|
||||
po4a \
|
||||
python3 \
|
||||
rsync \
|
||||
scons \
|
||||
texinfo \
|
||||
unifdef \
|
||||
unzip \
|
||||
wget \
|
||||
zip \
|
||||
zstd
|
||||
@@ -0,0 +1,40 @@
|
||||
# The Redox build server configuration for host tools
|
||||
|
||||
# Packages listed here is to aid the build server to compile `host:` recipes
|
||||
# commonly found within dev dependencies of packages and distribute them.
|
||||
# This is not a replacement for cross compilers that exist within the prebuilt
|
||||
# prefix: GCC, Rust, LLVM and Clang. This is the place for the rest of
|
||||
# cross compilers that's might be needed by other recipes, such as Go or Zig.
|
||||
|
||||
# General settings
|
||||
[general]
|
||||
# Do not prompt if settings are not defined
|
||||
prompt = false
|
||||
|
||||
[packages]
|
||||
# Binaries
|
||||
#dotnet10 = {}
|
||||
#go = {}
|
||||
gperf = {}
|
||||
installer = {}
|
||||
itstool = {}
|
||||
luajit = {}
|
||||
neovim = {}
|
||||
nodejs-21 = {}
|
||||
#openjdk21 = {}
|
||||
#perl5 = {}
|
||||
#protobuf = {}
|
||||
python312 = {}
|
||||
redoxfs = {}
|
||||
redoxer = {}
|
||||
#ruby = {}
|
||||
xz = {}
|
||||
#zig = {}
|
||||
|
||||
# Libraries
|
||||
libarchive = {}
|
||||
libjpeg = {}
|
||||
libogg = {}
|
||||
libxml = {}
|
||||
libxslt = {}
|
||||
ncurses = {}
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
# This must be run outside podman build so the build/podman volume mount to /root contains all home folder changes
|
||||
set -ex
|
||||
|
||||
echo "Installing rust..."
|
||||
curl "https://sh.rustup.rs" -sSf | sh -s -- -y --default-toolchain stable --profile minimal
|
||||
|
||||
echo "Downloading sccache..."
|
||||
SCCACHE_URL="https://github.com/mozilla/sccache/releases/download/v0.10.0/sccache-v0.10.0-$(uname -m)-unknown-linux-musl.tar.gz"
|
||||
wget -qO- --show-progress "${SCCACHE_URL}" | tar -xz -C ~/.cargo/bin --strip-components=1 --wildcards '*/sccache'
|
||||
|
||||
echo "Downloading just..."
|
||||
JUST_URL="https://github.com/casey/just/releases/download/1.45.0/just-1.45.0-$(uname -m)-unknown-linux-musl.tar.gz"
|
||||
wget -qO- --show-progress "${JUST_URL}" | tar -xz -C ~/.cargo/bin --wildcards 'just'
|
||||
|
||||
echo "Downloading cbindgen..."
|
||||
CBINDGEN_NAME="$( [ "$(uname -m)" = "x86_64" ] && echo "ubuntu22.04" || echo "ubuntu22.04-aarch64" )"
|
||||
CBINDGEN_URL="https://github.com/mozilla/cbindgen/releases/download/0.29.0/cbindgen-${CBINDGEN_NAME}"
|
||||
wget -qO- --show-progress "${CBINDGEN_URL}" > ~/.cargo/bin/cbindgen
|
||||
chmod +x ~/.cargo/bin/cbindgen
|
||||
Reference in New Issue
Block a user