From cf04f50d86f9875cfc6d9cf708aa39e6da9f355b Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Mon, 8 Jan 2024 19:09:31 +0100 Subject: [PATCH] Use sparse files for the generated disk images on all OSes Rather than just on macOS. This can save quite a bit of space depending on the amount of free space on the root filesystem of the disk image. --- mk/config.mk | 3 --- mk/disk.mk | 6 +++--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/mk/config.mk b/mk/config.mk index 4df9fc3..7f540c1 100644 --- a/mk/config.mk +++ b/mk/config.mk @@ -41,7 +41,6 @@ ifeq ($(UNAME),Darwin) VB_AUDIO=coreaudio VBM=/Applications/VirtualBox.app/Contents/MacOS/VBoxManage HOST_TARGET ?= $(HOST_ARCH)-apple-darwin - ALLOC_FILE=truncate -s "$(FILESYSTEM_SIZE)m" else ifeq ($(UNAME),FreeBSD) FUMOUNT=sudo umount export NPROC=sysctl -n hw.ncpu @@ -49,7 +48,6 @@ else ifeq ($(UNAME),FreeBSD) VB_AUDIO=pulse # To check, will probaly be OSS on most setups VBM=VBoxManage HOST_TARGET ?= $(HOST_ARCH)-unknown-freebsd - ALLOC_FILE=fallocate --posix --length "$(FILESYSTEM_SIZE)MiB" else # Detect which version of the fusermount binary is available. ifneq (, $(shell which fusermount3)) @@ -63,7 +61,6 @@ else VB_AUDIO=pulse VBM=VBoxManage HOST_TARGET ?= $(HOST_ARCH)-unknown-linux-gnu - ALLOC_FILE=fallocate --posix --length "$(FILESYSTEM_SIZE)MiB" endif ifneq ($(UNAME),Linux) diff --git a/mk/disk.mk b/mk/disk.mk index 9353883..7acfed4 100644 --- a/mk/disk.mk +++ b/mk/disk.mk @@ -2,7 +2,7 @@ $(BUILD)/harddrive.img: $(FSTOOLS_TAG) $(REPO_TAG) mkdir -p $(BUILD) rm -rf $@ $@.partial -$(FUMOUNT) /tmp/redox_installer || true - ${ALLOC_FILE} $@.partial + truncate -s "$(FILESYSTEM_SIZE)m" $@.partial umask 002 && $(INSTALLER) -c $(FILESYSTEM_CONFIG) $@.partial mv $@.partial $@ @@ -10,7 +10,7 @@ $(BUILD)/livedisk.iso: $(FSTOOLS_TAG) $(REPO_TAG) mkdir -p $(BUILD) rm -rf $@ $@.partial -$(FUMOUNT) /tmp/redox_installer || true - ${ALLOC_FILE} $@.partial + truncate -s "$(FILESYSTEM_SIZE)m" $@.partial umask 002 && $(INSTALLER) -c $(FILESYSTEM_CONFIG) --live $@.partial mv $@.partial $@ @@ -19,7 +19,7 @@ $(BUILD)/filesystem.img: $(FSTOOLS_TAG) $(REPO_TAG) -$(FUMOUNT) $(BUILD)/filesystem/ || true rm -rf $@ $@.partial $(BUILD)/filesystem/ -$(FUMOUNT) /tmp/redox_installer || true - ${ALLOC_FILE} $@.partial + truncate -s "$(FILESYSTEM_SIZE)m" $@.partial redoxfs/target/release/redoxfs-mkfs $(REDOXFS_MKFS_FLAGS) $@.partial mkdir -p $(BUILD)/filesystem/ redoxfs/target/release/redoxfs $@.partial $(BUILD)/filesystem/