mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-11-04 19:56:36 +08:00
This matches the default umask that would actually be used at runtime. It ensures only the owner has write permissions to system files and directories rather than owner and group. The Arti tor implementation checks that /home is not writable for anyone other than the owner.
106 lines
3.0 KiB
Makefile
106 lines
3.0 KiB
Makefile
# Configuration file with the commands configuration of the Redox image
|
|
|
|
$(BUILD)/harddrive.img: $(FSTOOLS) $(REPO_TAG)
|
|
ifeq ($(FSTOOLS_IN_PODMAN),1)
|
|
$(PODMAN_RUN) make $@
|
|
else
|
|
mkdir -p $(BUILD)
|
|
-$(FUMOUNT) $(MOUNT_DIR) || true
|
|
-$(FUMOUNT) /tmp/redox_installer || true
|
|
rm -rf $@ $@.partial $(MOUNT_DIR)
|
|
FILESYSTEM_SIZE=$(FILESYSTEM_SIZE) && \
|
|
if [ -z "$$FILESYSTEM_SIZE" ] ; then \
|
|
FILESYSTEM_SIZE=$(shell $(INSTALLER) --filesystem-size -c $(FILESYSTEM_CONFIG)); \
|
|
fi && \
|
|
truncate -s "$$FILESYSTEM_SIZE"m $@.partial
|
|
umask 022 && $(INSTALLER) $(INSTALLER_OPTS) -c $(FILESYSTEM_CONFIG) $@.partial
|
|
mv $@.partial $@
|
|
endif
|
|
|
|
$(BUILD)/redox-live.iso: $(FSTOOLS) $(REPO_TAG) redox.ipxe
|
|
ifeq ($(FSTOOLS_IN_PODMAN),1)
|
|
$(PODMAN_RUN) make $@
|
|
else
|
|
mkdir -p $(BUILD)
|
|
rm -rf $@ $@.partial
|
|
-$(FUMOUNT) /tmp/redox_installer || true
|
|
FILESYSTEM_SIZE=$(FILESYSTEM_SIZE) && \
|
|
if [ -z "$$FILESYSTEM_SIZE" ] ; then \
|
|
FILESYSTEM_SIZE=$(shell $(INSTALLER) --filesystem-size -c $(FILESYSTEM_CONFIG)); \
|
|
fi && \
|
|
truncate -s "$$FILESYSTEM_SIZE"m $@.partial
|
|
umask 022 && $(INSTALLER) $(INSTALLER_OPTS) -c $(FILESYSTEM_CONFIG) --write-bootloader="$(BUILD)/bootloader-live.efi" --live $@.partial
|
|
mv $@.partial $@
|
|
cp redox.ipxe $(BUILD)/redox.ipxe
|
|
endif
|
|
|
|
$(BUILD)/filesystem.img: $(FSTOOLS) $(REPO_TAG)
|
|
ifeq ($(FSTOOLS_IN_PODMAN),1)
|
|
$(PODMAN_RUN) make $@
|
|
else
|
|
mkdir -p $(BUILD)
|
|
-$(FUMOUNT) $(MOUNT_DIR) || true
|
|
rm -rf $@ $@.partial $(MOUNT_DIR)
|
|
-$(FUMOUNT) /tmp/redox_installer || true
|
|
FILESYSTEM_SIZE=$(FILESYSTEM_SIZE) && \
|
|
if [ -z "$$FILESYSTEM_SIZE" ] ; then \
|
|
FILESYSTEM_SIZE=$(shell $(INSTALLER) --filesystem-size -c $(FILESYSTEM_CONFIG)); \
|
|
fi && \
|
|
truncate -s "$$FILESYSTEM_SIZE"m $@.partial
|
|
$(REDOXFS_MKFS) $(REDOXFS_MKFS_FLAGS) $@.partial
|
|
mkdir -p $(MOUNT_DIR)
|
|
$(REDOXFS) $@.partial $(MOUNT_DIR)
|
|
sleep 1
|
|
pgrep redoxfs
|
|
umask 022 && $(INSTALLER) $(INSTALLER_OPTS) -c $(FILESYSTEM_CONFIG) $(MOUNT_DIR)
|
|
sync
|
|
-$(FUMOUNT) $(MOUNT_DIR) || true
|
|
rm -rf $(MOUNT_DIR)
|
|
mv $@.partial $@
|
|
endif
|
|
|
|
mount: $(FSTOOLS) FORCE
|
|
ifeq ($(FSTOOLS_IN_PODMAN),1)
|
|
$(PODMAN_RUN) make $@
|
|
else
|
|
@mkdir -p $(MOUNT_DIR)
|
|
$(REDOXFS) $(BUILD)/harddrive.img $(MOUNT_DIR)
|
|
@sleep 2
|
|
@echo "\033[1;36;49mharddrive.img mounted ($$(pgrep redoxfs))\033[0m"
|
|
endif
|
|
|
|
mount_extra: $(FSTOOLS) FORCE
|
|
ifeq ($(FSTOOLS_IN_PODMAN),1)
|
|
$(PODMAN_RUN) make $@
|
|
else
|
|
@mkdir -p $(MOUNT_DIR)
|
|
$(REDOXFS) $(BUILD)/extra.img $(MOUNT_DIR)
|
|
@sleep 2
|
|
@echo "\033[1;36;49mextra.img mounted ($$(pgrep redoxfs))\033[0m"
|
|
endif
|
|
|
|
mount_live: $(FSTOOLS) FORCE
|
|
ifeq ($(FSTOOLS_IN_PODMAN),1)
|
|
$(PODMAN_RUN) make $@
|
|
else
|
|
@mkdir -p $(MOUNT_DIR)
|
|
$(REDOXFS) $(BUILD)/redox-live.iso $(MOUNT_DIR)
|
|
@sleep 2
|
|
@echo "\033[1;36;49mredox-live.iso mounted ($$(pgrep redoxfs))\033[0m"
|
|
endif
|
|
|
|
unmount: FORCE
|
|
ifeq ($(FSTOOLS_IN_PODMAN),1)
|
|
$(PODMAN_RUN) make $@
|
|
else
|
|
@sync
|
|
ifneq ($(wildcard $(MOUNT_DIR)),)
|
|
$(FUMOUNT) $(MOUNT_DIR)
|
|
@rm -rf $(MOUNT_DIR)
|
|
@echo "\033[1;36;49mFilesystem unmounted\033[0m"
|
|
else
|
|
@echo "\033[1;36;49mDisk is not mounted\033[0m"
|
|
endif
|
|
@-$(FUMOUNT) /tmp/redox_installer 2>/dev/null || true
|
|
endif
|