Support creation of isolated filesystem images

This commit is contained in:
Jeremy Soller 2022-09-07 19:36:36 -06:00
parent b81ef6ca1e
commit fedf98375c

View file

@ -1,4 +1,4 @@
build/harddrive.img: $(FILESYSTEM_CONFIG) build/harddrive.img: prefix $(FILESYSTEM_CONFIG)
$(HOST_CARGO) build --manifest-path installer/Cargo.toml --release $(HOST_CARGO) build --manifest-path installer/Cargo.toml --release
mkdir -p build mkdir -p build
rm -rf $@ $@.partial rm -rf $@ $@.partial
@ -6,7 +6,7 @@ build/harddrive.img: $(FILESYSTEM_CONFIG)
$(INSTALLER) -c $(FILESYSTEM_CONFIG) $@.partial $(INSTALLER) -c $(FILESYSTEM_CONFIG) $@.partial
mv $@.partial $@ mv $@.partial $@
build/livedisk.iso: $(FILESYSTEM_CONFIG) build/livedisk.iso: prefix $(FILESYSTEM_CONFIG)
$(HOST_CARGO) build --manifest-path installer/Cargo.toml --release $(HOST_CARGO) build --manifest-path installer/Cargo.toml --release
mkdir -p build mkdir -p build
rm -rf $@ $@.partial rm -rf $@ $@.partial
@ -14,6 +14,28 @@ build/livedisk.iso: $(FILESYSTEM_CONFIG)
$(INSTALLER) -c $(FILESYSTEM_CONFIG) --live $@.partial $(INSTALLER) -c $(FILESYSTEM_CONFIG) --live $@.partial
mv $@.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 mount: FORCE
mkdir -p build/filesystem/ mkdir -p build/filesystem/
$(HOST_CARGO) build --manifest-path redoxfs/Cargo.toml --release --bin redoxfs $(HOST_CARGO) build --manifest-path redoxfs/Cargo.toml --release --bin redoxfs