From fedf98375c01675cbe2d7a885cf0d51e5c9875d1 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 7 Sep 2022 19:36:36 -0600 Subject: [PATCH] Support creation of isolated filesystem images --- mk/disk.mk | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/mk/disk.mk b/mk/disk.mk index e11c72c..2a45c44 100644 --- a/mk/disk.mk +++ b/mk/disk.mk @@ -1,4 +1,4 @@ -build/harddrive.img: $(FILESYSTEM_CONFIG) +build/harddrive.img: prefix $(FILESYSTEM_CONFIG) $(HOST_CARGO) build --manifest-path installer/Cargo.toml --release mkdir -p build rm -rf $@ $@.partial @@ -6,7 +6,7 @@ build/harddrive.img: $(FILESYSTEM_CONFIG) $(INSTALLER) -c $(FILESYSTEM_CONFIG) $@.partial mv $@.partial $@ -build/livedisk.iso: $(FILESYSTEM_CONFIG) +build/livedisk.iso: prefix $(FILESYSTEM_CONFIG) $(HOST_CARGO) build --manifest-path installer/Cargo.toml --release mkdir -p build rm -rf $@ $@.partial @@ -14,6 +14,28 @@ build/livedisk.iso: $(FILESYSTEM_CONFIG) $(INSTALLER) -c $(FILESYSTEM_CONFIG) --live $@.partial mv $@.partial $@ +build/filesystem.img: prefix $(FILESYSTEM_CONFIG) + mkdir -p build + $(HOST_CARGO) build --manifest-path cookbook/Cargo.toml --release + $(HOST_CARGO) build --manifest-path installer/Cargo.toml --release + $(HOST_CARGO) build --manifest-path redoxfs/Cargo.toml --release + -$(FUMOUNT) build/filesystem/ || true + rm -rf $@ $@.partial build/filesystem/ + fallocate --posix --length "$(FILESYSTEM_SIZE)MiB" $@.partial + $(HOST_CARGO) run --release \ + --manifest-path redoxfs/Cargo.toml \ + --bin redoxfs-mkfs \ + -- $(REDOXFS_MKFS_FLAGS) $@.partial + mkdir -p build/filesystem/ + redoxfs/target/release/redoxfs $@.partial build/filesystem/ + sleep 1 + pgrep redoxfs + $(INSTALLER) -c $(FILESYSTEM_CONFIG) build/filesystem/ + sync + -$(FUMOUNT) build/filesystem/ || true + rm -rf build/filesystem/ + mv $@.partial $@ + mount: FORCE mkdir -p build/filesystem/ $(HOST_CARGO) build --manifest-path redoxfs/Cargo.toml --release --bin redoxfs