diff --git a/bootstrap.sh b/bootstrap.sh index 83c5700..8a04465 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -236,6 +236,10 @@ ubuntu() libhtml-parser-perl \ libpng-dev \ libtool \ + libjpeg-dev \ + libvorbis-dev \ + libsdl2-ttf-dev \ + libosmesa6-dev \ m4 \ nasm \ pkg-config \ diff --git a/mk/config.mk b/mk/config.mk index 023a0bf..269d29c 100644 --- a/mk/config.mk +++ b/mk/config.mk @@ -7,12 +7,12 @@ ARCH?=x86_64 PREFIX_BINARY?=1 ## Enable to use binary packages (much faster) REPO_BINARY?=0 +## Name of the configuration to include in the image name e.g. desktop or server +CONFIG_NAME?=desktop ## Select filesystem config -FILESYSTEM_CONFIG?=config/$(ARCH)/desktop.toml +FILESYSTEM_CONFIG?=config/$(ARCH)/$(CONFIG_NAME).toml ## Filesystem size in MB (default comes from filesystem_size in the FILESYSTEM_CONFIG) FILESYSTEM_SIZE?=$(shell grep filesystem_size $(FILESYSTEM_CONFIG) | cut -d' ' -f3) -## Name of the configuration to include in the image name e.g. desktop or server -CONFIG_NAME?=$(shell basename $(FILESYSTEM_CONFIG) .toml) ## 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 diff --git a/mk/podman.mk b/mk/podman.mk index 7df84fd..a005d0e 100644 --- a/mk/podman.mk +++ b/mk/podman.mk @@ -8,9 +8,9 @@ IMAGE_TAG?=redox-base ## Working Directory in Podman CONTAINER_WORKDIR?=/mnt/redox ## Podman Home Directory -PODMAN_HOME?="`pwd`/build/podman" +PODMAN_HOME?=$(ROOT)/build/podman ## Podman command with its many arguments -PODMAN_VOLUMES?=--volume "`pwd`":$(CONTAINER_WORKDIR):Z --volume $(PODMAN_HOME):/home:Z +PODMAN_VOLUMES?=--volume $(ROOT):$(CONTAINER_WORKDIR):Z --volume $(PODMAN_HOME):/home:Z PODMAN_ENV?=--env PATH=/home/poduser/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --env PODMAN_BUILD=0 PODMAN_CONFIG?=--env ARCH=$(ARCH) --env CONFIG_NAME=$(CONFIG_NAME) --env FILESYSTEM_CONFIG=$(FILESYSTEM_CONFIG) PODMAN_OPTIONS?=--rm --workdir $(CONTAINER_WORKDIR) --userns keep-id --user `id -u` --interactive --tty --env TERM=$(TERM) @@ -23,6 +23,9 @@ else @echo PODMAN_BUILD=$(PODMAN_BUILD), please set it to 1 in mk/config.mk endif +container_su: FORCE + podman exec --user=0 --latest --interactive --tty bash + container_clean: FORCE rm -f build/container.tag @echo "If podman dir cannot be removed, remove with \"sudo rm\"." @@ -39,6 +42,9 @@ else @echo PODMAN_BUILD=$(PODMAN_BUILD), container not required. endif +container_kill: FORCE + podman kill --latest --signal SIGKILL + ## Must match the value of CONTAINER_TAG in config.mk build/container.tag: $(CONTAINERFILE) ifeq ($(PODMAN_BUILD),1) diff --git a/podman/redox-base-containerfile b/podman/redox-base-containerfile index d9eb7dc..e9faf08 100644 --- a/podman/redox-base-containerfile +++ b/podman/redox-base-containerfile @@ -23,6 +23,10 @@ RUN apt-get update \ libhtml-parser-perl \ libpng-dev \ libtool \ + libjpeg-dev \ + libvorbis-dev \ + libsdl2-ttf-dev \ + libosmesa6-dev \ m4 \ nasm \ pkg-config \