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,56 @@
|
||||
# Configuration file for the Red Bear OS installer, Cookbook and RedoxFS FUSE
|
||||
|
||||
fstools: $(FSTOOLS_TAG) $(FSTOOLS)
|
||||
|
||||
GOING_TO_PODMAN_AGAIN?=0
|
||||
|
||||
# These tools run inside Podman if it is used, or on the host if Podman is not used
|
||||
$(FSTOOLS): | prefix $(CONTAINER_TAG) $(FSTOOLS_TAG)
|
||||
ifeq ($(PODMAN_BUILD),1)
|
||||
ifeq ($(FSTOOLS_IN_PODMAN),1)
|
||||
$(PODMAN_RUN) make $@
|
||||
else
|
||||
$(MAKE) $@ PODMAN_BUILD=0 SKIP_CHECK_TOOLS=1 GOING_TO_PODMAN_AGAIN=1
|
||||
endif
|
||||
else
|
||||
rm -rf $@ $@.partial
|
||||
mkdir -p $@.partial
|
||||
ln -s ../../recipes $@.partial/recipes
|
||||
$(MAKE) fstools_fetch PODMAN_BUILD=$(GOING_TO_PODMAN_AGAIN)
|
||||
|
||||
# Compile installer and redoxfs for host (may be outside of podman container)
|
||||
cd $@.partial && \
|
||||
export CARGO_TARGET_DIR=../$@-target && \
|
||||
$(HOST_CARGO) install --root . --path recipes/core/installer/source --locked $(INSTALLER_FEATURES) && \
|
||||
$(HOST_CARGO) install --root . --path recipes/core/redoxfs/source --locked $(REDOXFS_FEATURES)
|
||||
|
||||
mv $@.partial $@
|
||||
touch $@
|
||||
endif
|
||||
|
||||
fstools_fetch: $(FSTOOLS_TAG) FORCE
|
||||
ifeq ($(PODMAN_BUILD),1)
|
||||
$(PODMAN_RUN) make $@
|
||||
else
|
||||
$(REPO_BIN) fetch installer redoxfs
|
||||
endif
|
||||
|
||||
CARGO_OFFLINE_FLAG=
|
||||
ifeq ($(REPO_OFFLINE),1)
|
||||
CARGO_OFFLINE_FLAG=--offline
|
||||
endif
|
||||
|
||||
$(FSTOOLS_TAG): $(CONTAINER_TAG)
|
||||
ifeq ($(PODMAN_BUILD),1)
|
||||
$(PODMAN_RUN) make $@
|
||||
else
|
||||
$(HOST_CARGO) build --manifest-path Cargo.toml --release --locked $(CARGO_OFFLINE_FLAG)
|
||||
mkdir -p $(@D)
|
||||
touch $@
|
||||
endif
|
||||
|
||||
fstools_clean: FORCE
|
||||
rm -rf target
|
||||
rm -rf $(FSTOOLS)
|
||||
rm -rf $(FSTOOLS)-target
|
||||
rm -f $(FSTOOLS_TAG)
|
||||
Reference in New Issue
Block a user