Build installer and redoxfs from cookbook source

This commit is contained in:
Jeremy Soller 2025-11-20 11:54:17 -07:00
parent 07f4df52cf
commit 5162e660e8
No known key found for this signature in database
GPG Key ID: 670FDFB5428E05CA
6 changed files with 15 additions and 17 deletions

8
.gitmodules vendored
View File

@ -2,19 +2,11 @@
path = cookbook
url = https://gitlab.redox-os.org/redox-os/cookbook.git
branch = master
[submodule "installer"]
path = installer
url = https://gitlab.redox-os.org/redox-os/installer.git
branch = master
[submodule "rust"]
path = rust
url = https://gitlab.redox-os.org/redox-os/rust.git
branch = redox-2025-01-12
update = none
[submodule "redoxfs"]
path = redoxfs
url = https://gitlab.redox-os.org/redox-os/redoxfs.git
branch = master
[submodule "relibc"]
path = relibc
url = https://gitlab.redox-os.org/redox-os/relibc.git

@ -1 +0,0 @@
Subproject commit 693d9470f9d11c8eec1cc9d50323d1e3e6496aa3

View File

@ -28,7 +28,6 @@ ifeq ($(PODMAN_BUILD),1)
else
$(HOST_CARGO) build --manifest-path cookbook/Cargo.toml --release
$(HOST_CARGO) build --manifest-path cookbook/pkgar/Cargo.toml --release
$(HOST_CARGO) build --manifest-path installer/Cargo.toml --release
export CI=1 COOKBOOK_LOGS=true PATH="$(PREFIX_PATH):$$PATH" COOKBOOK_HOST_SYSROOT="$(ROOT)/$(PREFIX_INSTALL)" && \
./cookbook/repo.sh $(REPO_APPSTREAM) $(REPO_NONSTOP) --with-package-deps "--filesystem=../config/$(ARCH)/ci.toml"
endif

View File

@ -35,7 +35,7 @@ FILESYSTEM_CONFIG?=config/$(ARCH)/$(BOARD)/$(CONFIG_NAME).toml
endif
HOST_CARGO=env -u RUSTUP_TOOLCHAIN -u CC -u TARGET cargo
## Filesystem size in MB (default comes from filesystem_size in the FILESYSTEM_CONFIG)
## FILESYSTEM_SIZE?=$(shell $(HOST_CARGO) run --release --manifest-path installer/Cargo.toml -- --filesystem-size -c $(FILESYSTEM_CONFIG))
## FILESYSTEM_SIZE?=$(shell $(INSTALLER) --filesystem-size -c $(FILESYSTEM_CONFIG))
## Flags to pass to redoxfs-mkfs. Add --encrypt to set up disk encryption
REDOXFS_MKFS_FLAGS?=
## Set to 1 to enable Podman build, any other value will disable it

View File

@ -3,7 +3,7 @@
fstools: $(FSTOOLS_TAG) $(FSTOOLS)
# These tools run inside Podman if it is used, or on the host if Podman is not used
$(FSTOOLS): installer redoxfs $(CONTAINER_TAG)
$(FSTOOLS): cookbook $(CONTAINER_TAG)
ifeq ($(PODMAN_BUILD),1)
ifeq ($(FSTOOLS_IN_PODMAN),1)
$(PODMAN_RUN) make $@
@ -13,8 +13,18 @@ endif
else
rm -rf $@ $@.partial
mkdir -p $@.partial
$(HOST_CARGO) install --root $@.partial --path installer --bin redox_installer -Zgit=shallow-deps
$(HOST_CARGO) install --root $@.partial --path redoxfs --bin redoxfs --bin redoxfs-mkfs --bin redoxfs-resize
ln -sr cookbook/recipes $@.partial/recipes
# Install cookbook, installer, and redoxfs for host (may be outside of podman container)
#TODO: Build and install installer and redoxfs using cookbook?
export CARGO_TARGET_DIR=$@-target && \
$(HOST_CARGO) install --root $@.partial --path cookbook && \
cd $@.partial && \
./bin/repo fetch installer redoxfs && \
cd ../.. && \
$(HOST_CARGO) install --root $@.partial --path cookbook/recipes/core/installer/source && \
$(HOST_CARGO) install --root $@.partial --path cookbook/recipes/core/redoxfs/source
mv $@.partial $@
touch $@
endif
@ -31,7 +41,6 @@ endif
fstools_clean: FORCE
rm -rf cookbook/target
rm -rf cookbook/pkgar/target
rm -rf installer/target
rm -rf redoxfs/target
rm -rf $(FSTOOLS)
rm -rf $(FSTOOLS)-target
rm -f $(FSTOOLS_TAG)

@ -1 +0,0 @@
Subproject commit 54df280b02cd5950928f194b402e86b5700e2436