[PATCH v2 1/3] Move all files for the image into a subdirectory

Demi Marie Obenour
2025-09-10T05:31:51Z

This avoids conflating files that will only be used during the build
with files that will be included in the generated image. It also makes
it vastly easier to generate the lists of files in the Makefile from a
script.

Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
---
host/rootfs/Makefile | 182 ++++++++++-----------
host/rootfs/{ => image}/bin | 0
host/rootfs/{ => image}/etc/fonts/fonts.conf | 0
host/rootfs/{ => image}/etc/fstab | 0
host/rootfs/{ => image}/etc/group | 0
host/rootfs/{ => image}/etc/group.license | 0
host/rootfs/{ => image}/etc/init | 0
host/rootfs/{ => image}/etc/login | 0
host/rootfs/{ => image}/etc/mdev.conf | 0
host/rootfs/{ => image}/etc/mdev/listen | 0
host/rootfs/{ => image}/etc/mdev/net/add | 0
host/rootfs/{ => image}/etc/mdev/wait | 0
host/rootfs/{ => image}/etc/parse-devname | 0
host/rootfs/{ => image}/etc/passwd | 0
host/rootfs/{ => image}/etc/passwd.license | 0
.../etc/s6-linux-init/env/WAYLAND_DISPLAY | 0
.../etc/s6-linux-init/env/WAYLAND_DISPLAY.license | 0
.../etc/s6-linux-init/env/XDG_RUNTIME_DIR | 0
.../etc/s6-linux-init/env/XDG_RUNTIME_DIR.license | 0
.../etc/s6-linux-init/run-image/opengl-driver | 0
.../run-image/service/dbus/notification-fd | 0
.../run-image/service/dbus/notification-fd.license | 0
.../etc/s6-linux-init/run-image/service/dbus/run | 0
.../service/dbus/template/notification-fd | 0
.../service/dbus/template/notification-fd.license | 0
.../run-image/service/dbus/template/run | 0
.../s6-linux-init/run-image/service/getty-tty1/run | 0
.../s6-linux-init/run-image/service/getty-tty2/run | 0
.../s6-linux-init/run-image/service/getty-tty3/run | 0
.../s6-linux-init/run-image/service/getty-tty4/run | 0
.../service/s6-svscan-log/notification-fd | 0
.../service/s6-svscan-log/notification-fd.license | 0
.../run-image/service/s6-svscan-log/run | 0
.../run-image/service/serial-getty-generator/run | 0
.../run-image/service/serial-getty/notification-fd | 0
.../service/serial-getty/notification-fd.license | 0
.../run-image/service/serial-getty/run | 0
.../run-image/service/serial-getty/template/run | 0
.../service/vhost-user-fs/notification-fd | 0
.../service/vhost-user-fs/notification-fd.license | 0
.../run-image/service/vhost-user-fs/run | 0
.../service/vhost-user-fs/template/notification-fd | 0
.../vhost-user-fs/template/notification-fd.license | 0
.../run-image/service/vhost-user-fs/template/run | 0
.../service/vhost-user-gpu/notification-fd | 0
.../service/vhost-user-gpu/notification-fd.license | 0
.../run-image/service/vhost-user-gpu/run | 0
.../service/vhost-user-gpu/template/data/check | 0
.../vhost-user-gpu/template/notification-fd | 0
.../template/notification-fd.license | 0
.../run-image/service/vhost-user-gpu/template/run | 0
.../run-image/service/vhost-user-gpu/template/type | 0
.../service/vhost-user-gpu/template/type.license | 0
.../run-image/service/vmm/notification-fd | 0
.../run-image/service/vmm/notification-fd.license | 0
.../etc/s6-linux-init/run-image/service/vmm/run | 0
.../run-image/service/vmm/template/notification-fd | 0
.../service/vmm/template/notification-fd.license | 0
.../run-image/service/vmm/template/run | 0
.../notification-fd | 0
.../notification-fd.license | 0
.../service/xdg-desktop-portal-spectrum-host/run | 0
.../template/notification-fd | 0
.../template/notification-fd.license | 0
.../xdg-desktop-portal-spectrum-host/template/run | 0
.../{ => image}/etc/s6-linux-init/scripts/rc.init | 0
host/rootfs/{ => image}/etc/s6-rc/card0/type | 0
.../{ => image}/etc/s6-rc/card0/type.license | 0
host/rootfs/{ => image}/etc/s6-rc/card0/up | 0
host/rootfs/{ => image}/etc/s6-rc/core/type | 0
.../rootfs/{ => image}/etc/s6-rc/core/type.license | 0
host/rootfs/{ => image}/etc/s6-rc/core/up | 0
host/rootfs/{ => image}/etc/s6-rc/kvm/timeout-up | 0
.../{ => image}/etc/s6-rc/kvm/timeout-up.license | 0
host/rootfs/{ => image}/etc/s6-rc/kvm/type | 0
host/rootfs/{ => image}/etc/s6-rc/kvm/type.license | 0
host/rootfs/{ => image}/etc/s6-rc/kvm/up | 0
.../etc/s6-rc/mdevd-coldplug/dependencies | 0
.../{ => image}/etc/s6-rc/mdevd-coldplug/type | 0
.../etc/s6-rc/mdevd-coldplug/type.license | 0
.../rootfs/{ => image}/etc/s6-rc/mdevd-coldplug/up | 0
.../{ => image}/etc/s6-rc/mdevd/notification-fd | 0
.../etc/s6-rc/mdevd/notification-fd.license | 0
host/rootfs/{ => image}/etc/s6-rc/mdevd/run | 0
host/rootfs/{ => image}/etc/s6-rc/mdevd/type | 0
.../{ => image}/etc/s6-rc/mdevd/type.license | 0
host/rootfs/{ => image}/etc/s6-rc/ok-all/contents | 0
host/rootfs/{ => image}/etc/s6-rc/ok-all/type | 0
.../{ => image}/etc/s6-rc/ok-all/type.license | 0
.../rootfs/{ => image}/etc/s6-rc/static-nodes/type | 0
.../etc/s6-rc/static-nodes/type.license | 0
host/rootfs/{ => image}/etc/s6-rc/static-nodes/up | 0
.../{ => image}/etc/s6-rc/sys-vmms/dependencies | 0
host/rootfs/{ => image}/etc/s6-rc/sys-vmms/type | 0
.../{ => image}/etc/s6-rc/sys-vmms/type.license | 0
host/rootfs/{ => image}/etc/s6-rc/sys-vmms/up | 0
host/rootfs/{ => image}/etc/s6-rc/vm-env/contents | 0
host/rootfs/{ => image}/etc/s6-rc/vm-env/type | 0
.../{ => image}/etc/s6-rc/vm-env/type.license | 0
host/rootfs/{ => image}/etc/s6-rc/vmm-env/contents | 0
host/rootfs/{ => image}/etc/s6-rc/vmm-env/type | 0
.../{ => image}/etc/s6-rc/vmm-env/type.license | 0
.../{ => image}/etc/s6-rc/weston/dependencies | 0
.../{ => image}/etc/s6-rc/weston/notification-fd | 0
.../etc/s6-rc/weston/notification-fd.license | 0
host/rootfs/{ => image}/etc/s6-rc/weston/run | 0
host/rootfs/{ => image}/etc/s6-rc/weston/type | 0
.../{ => image}/etc/s6-rc/weston/type.license | 0
host/rootfs/{ => image}/etc/xdg/weston/autolaunch | 0
host/rootfs/{ => image}/etc/xdg/weston/weston.ini | 0
host/rootfs/{ => image}/lib | 0
host/rootfs/{ => image}/sbin | 0
host/rootfs/{ => image}/usr/bin/assign-devices | 0
.../{ => image}/usr/bin/create-vm-dependencies | 0
host/rootfs/{ => image}/usr/bin/run-appimage | 0
host/rootfs/{ => image}/usr/bin/run-vmm | 0
host/rootfs/{ => image}/usr/bin/vm-console | 0
host/rootfs/{ => image}/usr/bin/vm-import | 0
host/rootfs/{ => image}/usr/bin/vm-start | 0
host/rootfs/{ => image}/usr/bin/vm-stop | 0
host/rootfs/{ => image}/usr/bin/xdg-open | 0
.../org.freedesktop.portal.Documents.service | 0
img/app/Makefile | 110 ++++++-------
img/app/{ => image}/bin | 0
img/app/{ => image}/etc/dbus-1/session.conf | 0
img/app/{ => image}/etc/fonts/fonts.conf | 0
img/app/{ => image}/etc/fstab | 0
img/app/{ => image}/etc/init | 0
img/app/{ => image}/etc/mdev.conf | 0
img/app/{ => image}/etc/mdev/iface | 0
img/app/{ => image}/etc/mdev/listen | 0
img/app/{ => image}/etc/mdev/virtiofs | 0
img/app/{ => image}/etc/mdev/wait | 0
img/app/{ => image}/etc/passwd | 0
img/app/{ => image}/etc/passwd.license | 0
img/app/{ => image}/etc/pipewire/pipewire.conf | 0
img/app/{ => image}/etc/resolv.conf | 0
.../etc/s6-linux-init/env/DBUS_SESSION_BUS_ADDRESS | 0
.../env/DBUS_SESSION_BUS_ADDRESS.license | 0
img/app/{ => image}/etc/s6-linux-init/env/DISPLAY | 0
.../etc/s6-linux-init/env/DISPLAY.license | 0
.../etc/s6-linux-init/env/GTK_USE_PORTAL | 0
.../etc/s6-linux-init/env/GTK_USE_PORTAL.license | 0
.../s6-linux-init/env/NIX_XDG_DESKTOP_PORTAL_DIR | 0
.../env/NIX_XDG_DESKTOP_PORTAL_DIR.license | 0
.../etc/s6-linux-init/env/WAYLAND_DISPLAY | 0
.../etc/s6-linux-init/env/WAYLAND_DISPLAY.license | 0
.../etc/s6-linux-init/env/XDG_RUNTIME_DIR | 0
.../etc/s6-linux-init/env/XDG_RUNTIME_DIR.license | 0
.../s6-linux-init/run-image/service/getty-hvc0/run | 0
.../s6-linux-init-shutdownd/notification-fd | 0
.../notification-fd.license | 0
.../run-image/service/s6-linux-init-shutdownd/run | 0
.../{ => image}/etc/s6-linux-init/scripts/rc.init | 0
.../etc/s6-linux-init/scripts/rc.shutdown | 0
.../etc/s6-linux-init/scripts/rc.shutdown.final | 0
.../{ => image}/etc/s6-rc/app/dependencies.d/dbus | 0
.../etc/s6-rc/app/dependencies.d/pipewire | 0
.../s6-rc/app/dependencies.d/wayland-proxy-virtwl | 0
img/app/{ => image}/etc/s6-rc/app/run | 0
img/app/{ => image}/etc/s6-rc/app/type | 0
img/app/{ => image}/etc/s6-rc/app/type.license | 0
img/app/{ => image}/etc/s6-rc/dbus/notification-fd | 0
.../etc/s6-rc/dbus/notification-fd.license | 0
img/app/{ => image}/etc/s6-rc/dbus/run | 0
img/app/{ => image}/etc/s6-rc/dbus/type | 0
img/app/{ => image}/etc/s6-rc/dbus/type.license | 0
.../etc/s6-rc/mdevd-coldplug/dependencies | 0
img/app/{ => image}/etc/s6-rc/mdevd-coldplug/type | 0
.../etc/s6-rc/mdevd-coldplug/type.license | 0
img/app/{ => image}/etc/s6-rc/mdevd-coldplug/up | 0
.../{ => image}/etc/s6-rc/mdevd/notification-fd | 0
.../etc/s6-rc/mdevd/notification-fd.license | 0
img/app/{ => image}/etc/s6-rc/mdevd/run | 0
img/app/{ => image}/etc/s6-rc/mdevd/type | 0
img/app/{ => image}/etc/s6-rc/mdevd/type.license | 0
img/app/{ => image}/etc/s6-rc/ok-all/contents | 0
img/app/{ => image}/etc/s6-rc/ok-all/type | 0
img/app/{ => image}/etc/s6-rc/ok-all/type.license | 0
.../{ => image}/etc/s6-rc/pipewire/notification-fd | 0
.../etc/s6-rc/pipewire/notification-fd.license | 0
img/app/{ => image}/etc/s6-rc/pipewire/run | 0
img/app/{ => image}/etc/s6-rc/pipewire/type | 0
.../{ => image}/etc/s6-rc/pipewire/type.license | 0
.../etc/s6-rc/wayland-proxy-virtwl/notification-fd | 0
.../wayland-proxy-virtwl/notification-fd.license | 0
.../{ => image}/etc/s6-rc/wayland-proxy-virtwl/run | 0
.../etc/s6-rc/wayland-proxy-virtwl/type | 0
.../etc/s6-rc/wayland-proxy-virtwl/type.license | 0
.../etc/s6-rc/wireplumber/dependencies.d/dbus | 0
.../etc/s6-rc/wireplumber/dependencies.d/pipewire | 0
img/app/{ => image}/etc/s6-rc/wireplumber/run | 0
img/app/{ => image}/etc/s6-rc/wireplumber/type | 0
.../{ => image}/etc/s6-rc/wireplumber/type.license | 0
.../{ => image}/etc/ssl/certs/ca-certificates.crt | 0
.../wireplumber.conf.d/99_spectrum.conf | 0
.../etc/xdg/xdg-desktop-portal/portals.conf | 0
img/app/{ => image}/sbin | 0
vm/sys/net/Makefile | 64 ++++----
vm/sys/net/{ => image}/bin | 0
vm/sys/net/{ => image}/etc/dbus-1/system.conf | 0
vm/sys/net/{ => image}/etc/fstab | 0
vm/sys/net/{ => image}/etc/init | 0
vm/sys/net/{ => image}/etc/mdev.conf | 0
vm/sys/net/{ => image}/etc/mdev/iface | 0
vm/sys/net/{ => image}/etc/nftables.conf | 0
vm/sys/net/{ => image}/etc/passwd | 0
vm/sys/net/{ => image}/etc/passwd.license | 0
.../s6-linux-init/run-image/service/getty-hvc0/run | 0
.../{ => image}/etc/s6-linux-init/scripts/rc.init | 0
.../net/{ => image}/etc/s6-rc/connman/dependencies | 0
vm/sys/net/{ => image}/etc/s6-rc/connman/run | 0
vm/sys/net/{ => image}/etc/s6-rc/connman/type | 0
.../net/{ => image}/etc/s6-rc/connman/type.license | 0
.../net/{ => image}/etc/s6-rc/dbus/notification-fd | 0
.../etc/s6-rc/dbus/notification-fd.license | 0
vm/sys/net/{ => image}/etc/s6-rc/dbus/run | 0
vm/sys/net/{ => image}/etc/s6-rc/dbus/type | 0
vm/sys/net/{ => image}/etc/s6-rc/dbus/type.license | 0
.../etc/s6-rc/mdevd-coldplug/dependencies | 0
.../net/{ => image}/etc/s6-rc/mdevd-coldplug/type | 0
.../etc/s6-rc/mdevd-coldplug/type.license | 0
vm/sys/net/{ => image}/etc/s6-rc/mdevd-coldplug/up | 0
.../{ => image}/etc/s6-rc/mdevd/notification-fd | 0
.../etc/s6-rc/mdevd/notification-fd.license | 0
vm/sys/net/{ => image}/etc/s6-rc/mdevd/run | 0
vm/sys/net/{ => image}/etc/s6-rc/mdevd/type | 0
.../net/{ => image}/etc/s6-rc/mdevd/type.license | 0
vm/sys/net/{ => image}/etc/s6-rc/nftables/type | 0
.../{ => image}/etc/s6-rc/nftables/type.license | 0
vm/sys/net/{ => image}/etc/s6-rc/nftables/up | 0
vm/sys/net/{ => image}/etc/s6-rc/ok-all/contents | 0
vm/sys/net/{ => image}/etc/s6-rc/ok-all/type | 0
.../net/{ => image}/etc/s6-rc/ok-all/type.license | 0
vm/sys/net/{ => image}/etc/s6-rc/sysctl/type | 0
.../net/{ => image}/etc/s6-rc/sysctl/type.license | 0
vm/sys/net/{ => image}/etc/s6-rc/sysctl/up | 0
vm/sys/net/{ => image}/etc/sysctl.conf | 0
vm/sys/net/{ => image}/lib | 0
vm/sys/net/{ => image}/sbin | 0
vm/sys/net/{ => image}/var/run | 0
241 files changed, 178 insertions(+), 178 deletions(-)

diff --git a/host/rootfs/Makefile b/host/rootfs/Makefile
index e96458dba06ae31129b115b2b649962f8d88187a..4872699d88107feab3e695c6be0b1503a6566520 100644
--- a/host/rootfs/Makefile
+++ b/host/rootfs/Makefile
@@ -8,62 +8,62 @@ include ../../lib/common.mk
dest = build/rootfs.erofs

FILES = \
- etc/fonts/fonts.conf \
- etc/fstab \
- etc/group \
- etc/init \
- etc/login \
- etc/mdev.conf \
- etc/mdev/listen \
- etc/mdev/net/add \
- etc/mdev/wait \
- etc/parse-devname \
- etc/passwd \
- etc/s6-linux-init/env/WAYLAND_DISPLAY \
- etc/s6-linux-init/env/XDG_RUNTIME_DIR \
- etc/s6-linux-init/run-image/service/dbus/notification-fd \
- etc/s6-linux-init/run-image/service/dbus/run \
- etc/s6-linux-init/run-image/service/dbus/template/notification-fd \
- etc/s6-linux-init/run-image/service/dbus/template/run \
- etc/s6-linux-init/run-image/service/getty-tty1/run \
- etc/s6-linux-init/run-image/service/getty-tty2/run \
- etc/s6-linux-init/run-image/service/getty-tty3/run \
- etc/s6-linux-init/run-image/service/getty-tty4/run \
- etc/s6-linux-init/run-image/service/s6-svscan-log/notification-fd \
- etc/s6-linux-init/run-image/service/s6-svscan-log/run \
- etc/s6-linux-init/run-image/service/serial-getty-generator/run \
- etc/s6-linux-init/run-image/service/serial-getty/notification-fd \
- etc/s6-linux-init/run-image/service/serial-getty/run \
- etc/s6-linux-init/run-image/service/serial-getty/template/run \
- etc/s6-linux-init/run-image/service/vhost-user-fs/notification-fd \
- etc/s6-linux-init/run-image/service/vhost-user-fs/run \
- etc/s6-linux-init/run-image/service/vhost-user-fs/template/notification-fd \
- etc/s6-linux-init/run-image/service/vhost-user-fs/template/run \
- etc/s6-linux-init/run-image/service/vhost-user-gpu/notification-fd \
- etc/s6-linux-init/run-image/service/vhost-user-gpu/run \
- etc/s6-linux-init/run-image/service/vhost-user-gpu/template/data/check \
- etc/s6-linux-init/run-image/service/vhost-user-gpu/template/notification-fd \
- etc/s6-linux-init/run-image/service/vhost-user-gpu/template/run \
- etc/s6-linux-init/run-image/service/vmm/notification-fd \
- etc/s6-linux-init/run-image/service/vmm/run \
- etc/s6-linux-init/run-image/service/vmm/template/notification-fd \
- etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/notification-fd \
- etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/run \
- etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/template/notification-fd \
- etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/template/run \
- etc/s6-linux-init/scripts/rc.init \
- etc/xdg/weston/autolaunch \
- etc/xdg/weston/weston.ini \
- usr/bin/assign-devices \
- usr/bin/create-vm-dependencies \
- usr/bin/run-appimage \
- usr/bin/run-vmm \
- usr/bin/vm-console \
- usr/bin/vm-import \
- usr/bin/vm-start \
- usr/bin/vm-stop \
- usr/bin/xdg-open \
- usr/share/dbus-1/services/org.freedesktop.portal.Documents.service
+ image/etc/fonts/fonts.conf \
+ image/etc/fstab \
+ image/etc/group \
+ image/etc/init \
+ image/etc/login \
+ image/etc/mdev.conf \
+ image/etc/mdev/listen \
+ image/etc/mdev/net/add \
+ image/etc/mdev/wait \
+ image/etc/parse-devname \
+ image/etc/passwd \
+ image/etc/s6-linux-init/env/WAYLAND_DISPLAY \
+ image/etc/s6-linux-init/env/XDG_RUNTIME_DIR \
+ image/etc/s6-linux-init/run-image/service/dbus/notification-fd \
+ image/etc/s6-linux-init/run-image/service/dbus/run \
+ image/etc/s6-linux-init/run-image/service/dbus/template/notification-fd \
+ image/etc/s6-linux-init/run-image/service/dbus/template/run \
+ image/etc/s6-linux-init/run-image/service/getty-tty1/run \
+ image/etc/s6-linux-init/run-image/service/getty-tty2/run \
+ image/etc/s6-linux-init/run-image/service/getty-tty3/run \
+ image/etc/s6-linux-init/run-image/service/getty-tty4/run \
+ image/etc/s6-linux-init/run-image/service/s6-svscan-log/notification-fd \
+ image/etc/s6-linux-init/run-image/service/s6-svscan-log/run \
+ image/etc/s6-linux-init/run-image/service/serial-getty-generator/run \
+ image/etc/s6-linux-init/run-image/service/serial-getty/notification-fd \
+ image/etc/s6-linux-init/run-image/service/serial-getty/run \
+ image/etc/s6-linux-init/run-image/service/serial-getty/template/run \
+ image/etc/s6-linux-init/run-image/service/vhost-user-fs/notification-fd \
+ image/etc/s6-linux-init/run-image/service/vhost-user-fs/run \
+ image/etc/s6-linux-init/run-image/service/vhost-user-fs/template/notification-fd \
+ image/etc/s6-linux-init/run-image/service/vhost-user-fs/template/run \
+ image/etc/s6-linux-init/run-image/service/vhost-user-gpu/notification-fd \
+ image/etc/s6-linux-init/run-image/service/vhost-user-gpu/run \
+ image/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/data/check \
+ image/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/notification-fd \
+ image/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/run \
+ image/etc/s6-linux-init/run-image/service/vmm/notification-fd \
+ image/etc/s6-linux-init/run-image/service/vmm/run \
+ image/etc/s6-linux-init/run-image/service/vmm/template/notification-fd \
+ image/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/notification-fd \
+ image/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/run \
+ image/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/template/notification-fd \
+ image/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/template/run \
+ image/etc/s6-linux-init/scripts/rc.init \
+ image/etc/xdg/weston/autolaunch \
+ image/etc/xdg/weston/weston.ini \
+ image/usr/share/dbus-1/services/org.freedesktop.portal.Documents.service \
+ image/usr/bin/assign-devices \
+ image/usr/bin/create-vm-dependencies \
+ image/usr/bin/run-appimage \
+ image/usr/bin/run-vmm \
+ image/usr/bin/vm-console \
+ image/usr/bin/vm-import \
+ image/usr/bin/vm-start \
+ image/usr/bin/vm-stop \
+ image/usr/bin/xdg-open

DIRS = \
dev \
@@ -104,18 +104,18 @@ FIFOS = etc/s6-linux-init/run-image/service/s6-svscan-log/fifo
# These are separate because they need to be included, but putting
# them as make dependencies would confuse make.
LINKS = \
- bin \
- etc/s6-linux-init/run-image/opengl-driver \
- etc/s6-linux-init/run-image/service/vmm/template/run \
- lib \
- sbin
+ image/bin \
+ image/etc/s6-linux-init/run-image/opengl-driver \
+ image/etc/s6-linux-init/run-image/service/vmm/template/run \
+ image/lib \
+ image/sbin

BUILD_FILES = build/etc/s6-rc

$(dest): ../../scripts/make-erofs.sh $(PACKAGES_FILE) $(FILES) $(BUILD_FILES) build/empty build/fifo
( \
cat $(PACKAGES_FILE) ;\
- for file in $(FILES) $(LINKS); do printf '%s\n%s\n' $$file $$file; done ;\
+ for file in $(FILES) $(LINKS); do printf '%s\n%s\n' $$file "$${file#image/}"; done ;\
for file in $(BUILD_FILES); do printf '%s\n%s\n' $$file $${file#build/}; done ;\
printf 'build/empty\n%s\n' $(DIRS) ;\
printf 'build/fifo\n%s\n' $(FIFOS) ;\
@@ -129,34 +129,34 @@ build/empty:
mkdir -p $@

S6_RC_FILES = \
- etc/s6-rc/card0/type \
- etc/s6-rc/card0/up \
- etc/s6-rc/core/type \
- etc/s6-rc/core/up \
- etc/s6-rc/kvm/timeout-up \
- etc/s6-rc/kvm/type \
- etc/s6-rc/kvm/up \
- etc/s6-rc/mdevd-coldplug/dependencies \
- etc/s6-rc/mdevd-coldplug/type \
- etc/s6-rc/mdevd-coldplug/up \
- etc/s6-rc/mdevd/notification-fd \
- etc/s6-rc/mdevd/run \
- etc/s6-rc/mdevd/type \
- etc/s6-rc/ok-all/contents \
- etc/s6-rc/ok-all/type \
- etc/s6-rc/static-nodes/type \
- etc/s6-rc/static-nodes/up \
- etc/s6-rc/sys-vmms/dependencies \
- etc/s6-rc/sys-vmms/type \
- etc/s6-rc/sys-vmms/up \
- etc/s6-rc/vm-env/contents \
- etc/s6-rc/vm-env/type \
- etc/s6-rc/vmm-env/contents \
- etc/s6-rc/vmm-env/type \
- etc/s6-rc/weston/dependencies \
- etc/s6-rc/weston/notification-fd \
- etc/s6-rc/weston/run \
- etc/s6-rc/weston/type
+ image/etc/s6-rc/card0/type \
+ image/etc/s6-rc/card0/up \
+ image/etc/s6-rc/core/type \
+ image/etc/s6-rc/core/up \
+ image/etc/s6-rc/kvm/timeout-up \
+ image/etc/s6-rc/kvm/type \
+ image/etc/s6-rc/kvm/up \
+ image/etc/s6-rc/mdevd-coldplug/dependencies \
+ image/etc/s6-rc/mdevd-coldplug/type \
+ image/etc/s6-rc/mdevd-coldplug/up \
+ image/etc/s6-rc/mdevd/notification-fd \
+ image/etc/s6-rc/mdevd/run \
+ image/etc/s6-rc/mdevd/type \
+ image/etc/s6-rc/ok-all/contents \
+ image/etc/s6-rc/ok-all/type \
+ image/etc/s6-rc/static-nodes/type \
+ image/etc/s6-rc/static-nodes/up \
+ image/etc/s6-rc/sys-vmms/dependencies \
+ image/etc/s6-rc/sys-vmms/type \
+ image/etc/s6-rc/sys-vmms/up \
+ image/etc/s6-rc/vm-env/contents \
+ image/etc/s6-rc/vm-env/type \
+ image/etc/s6-rc/vmm-env/contents \
+ image/etc/s6-rc/vmm-env/type \
+ image/etc/s6-rc/weston/dependencies \
+ image/etc/s6-rc/weston/notification-fd \
+ image/etc/s6-rc/weston/type \
+ image/etc/s6-rc/weston/run

# s6-rc-compile's input is a directory, but that doesn't play nice
# with Make, because it won't know to update if some file in the
@@ -170,7 +170,7 @@ build/etc/s6-rc: $(S6_RC_FILES)
rm -rf $@

dir=$$(mktemp -d) && \
- tar -c $(S6_RC_FILES) | tar -C $$dir -x --strip-components 2 && \
+ tar -c $(S6_RC_FILES) | tar -C $$dir -x --strip-components 3 && \
s6-rc-compile $@ $$dir; \
exit=$$?; rm -r $$dir; exit $$exit

diff --git a/host/rootfs/bin b/host/rootfs/image/bin
similarity index 100%
rename from host/rootfs/bin
rename to host/rootfs/image/bin
diff --git a/host/rootfs/etc/fonts/fonts.conf b/host/rootfs/image/etc/fonts/fonts.conf
similarity index 100%
rename from host/rootfs/etc/fonts/fonts.conf
rename to host/rootfs/image/etc/fonts/fonts.conf
diff --git a/host/rootfs/etc/fstab b/host/rootfs/image/etc/fstab
similarity index 100%
rename from host/rootfs/etc/fstab
rename to host/rootfs/image/etc/fstab
diff --git a/host/rootfs/etc/group b/host/rootfs/image/etc/group
similarity index 100%
rename from host/rootfs/etc/group
rename to host/rootfs/image/etc/group
diff --git a/host/rootfs/etc/group.license b/host/rootfs/image/etc/group.license
similarity index 100%
rename from host/rootfs/etc/group.license
rename to host/rootfs/image/etc/group.license
diff --git a/host/rootfs/etc/init b/host/rootfs/image/etc/init
similarity index 100%
rename from host/rootfs/etc/init
rename to host/rootfs/image/etc/init
diff --git a/host/rootfs/etc/login b/host/rootfs/image/etc/login
similarity index 100%
rename from host/rootfs/etc/login
rename to host/rootfs/image/etc/login
diff --git a/host/rootfs/etc/mdev.conf b/host/rootfs/image/etc/mdev.conf
similarity index 100%
rename from host/rootfs/etc/mdev.conf
rename to host/rootfs/image/etc/mdev.conf
diff --git a/host/rootfs/etc/mdev/listen b/host/rootfs/image/etc/mdev/listen
similarity index 100%
rename from host/rootfs/etc/mdev/listen
rename to host/rootfs/image/etc/mdev/listen
diff --git a/host/rootfs/etc/mdev/net/add b/host/rootfs/image/etc/mdev/net/add
similarity index 100%
rename from host/rootfs/etc/mdev/net/add
rename to host/rootfs/image/etc/mdev/net/add
diff --git a/host/rootfs/etc/mdev/wait b/host/rootfs/image/etc/mdev/wait
similarity index 100%
rename from host/rootfs/etc/mdev/wait
rename to host/rootfs/image/etc/mdev/wait
diff --git a/host/rootfs/etc/parse-devname b/host/rootfs/image/etc/parse-devname
similarity index 100%
rename from host/rootfs/etc/parse-devname
rename to host/rootfs/image/etc/parse-devname
diff --git a/host/rootfs/etc/passwd b/host/rootfs/image/etc/passwd
similarity index 100%
rename from host/rootfs/etc/passwd
rename to host/rootfs/image/etc/passwd
diff --git a/host/rootfs/etc/passwd.license b/host/rootfs/image/etc/passwd.license
similarity index 100%
rename from host/rootfs/etc/passwd.license
rename to host/rootfs/image/etc/passwd.license
diff --git a/host/rootfs/etc/s6-linux-init/env/WAYLAND_DISPLAY b/host/rootfs/image/etc/s6-linux-init/env/WAYLAND_DISPLAY
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/env/WAYLAND_DISPLAY
rename to host/rootfs/image/etc/s6-linux-init/env/WAYLAND_DISPLAY
diff --git a/host/rootfs/etc/s6-linux-init/env/WAYLAND_DISPLAY.license b/host/rootfs/image/etc/s6-linux-init/env/WAYLAND_DISPLAY.license
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/env/WAYLAND_DISPLAY.license
rename to host/rootfs/image/etc/s6-linux-init/env/WAYLAND_DISPLAY.license
diff --git a/host/rootfs/etc/s6-linux-init/env/XDG_RUNTIME_DIR b/host/rootfs/image/etc/s6-linux-init/env/XDG_RUNTIME_DIR
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/env/XDG_RUNTIME_DIR
rename to host/rootfs/image/etc/s6-linux-init/env/XDG_RUNTIME_DIR
diff --git a/host/rootfs/etc/s6-linux-init/env/XDG_RUNTIME_DIR.license b/host/rootfs/image/etc/s6-linux-init/env/XDG_RUNTIME_DIR.license
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/env/XDG_RUNTIME_DIR.license
rename to host/rootfs/image/etc/s6-linux-init/env/XDG_RUNTIME_DIR.license
diff --git a/host/rootfs/etc/s6-linux-init/run-image/opengl-driver b/host/rootfs/image/etc/s6-linux-init/run-image/opengl-driver
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/opengl-driver
rename to host/rootfs/image/etc/s6-linux-init/run-image/opengl-driver
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/dbus/notification-fd b/host/rootfs/image/etc/s6-linux-init/run-image/service/dbus/notification-fd
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/dbus/notification-fd
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/dbus/notification-fd
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/dbus/notification-fd.license b/host/rootfs/image/etc/s6-linux-init/run-image/service/dbus/notification-fd.license
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/dbus/notification-fd.license
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/dbus/notification-fd.license
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/dbus/run b/host/rootfs/image/etc/s6-linux-init/run-image/service/dbus/run
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/dbus/run
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/dbus/run
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/dbus/template/notification-fd b/host/rootfs/image/etc/s6-linux-init/run-image/service/dbus/template/notification-fd
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/dbus/template/notification-fd
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/dbus/template/notification-fd
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/dbus/template/notification-fd.license b/host/rootfs/image/etc/s6-linux-init/run-image/service/dbus/template/notification-fd.license
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/dbus/template/notification-fd.license
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/dbus/template/notification-fd.license
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/dbus/template/run b/host/rootfs/image/etc/s6-linux-init/run-image/service/dbus/template/run
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/dbus/template/run
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/dbus/template/run
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/getty-tty1/run b/host/rootfs/image/etc/s6-linux-init/run-image/service/getty-tty1/run
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/getty-tty1/run
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/getty-tty1/run
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/getty-tty2/run b/host/rootfs/image/etc/s6-linux-init/run-image/service/getty-tty2/run
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/getty-tty2/run
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/getty-tty2/run
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/getty-tty3/run b/host/rootfs/image/etc/s6-linux-init/run-image/service/getty-tty3/run
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/getty-tty3/run
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/getty-tty3/run
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/getty-tty4/run b/host/rootfs/image/etc/s6-linux-init/run-image/service/getty-tty4/run
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/getty-tty4/run
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/getty-tty4/run
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/s6-svscan-log/notification-fd b/host/rootfs/image/etc/s6-linux-init/run-image/service/s6-svscan-log/notification-fd
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/s6-svscan-log/notification-fd
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/s6-svscan-log/notification-fd
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/s6-svscan-log/notification-fd.license b/host/rootfs/image/etc/s6-linux-init/run-image/service/s6-svscan-log/notification-fd.license
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/s6-svscan-log/notification-fd.license
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/s6-svscan-log/notification-fd.license
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/s6-svscan-log/run b/host/rootfs/image/etc/s6-linux-init/run-image/service/s6-svscan-log/run
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/s6-svscan-log/run
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/s6-svscan-log/run
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/serial-getty-generator/run b/host/rootfs/image/etc/s6-linux-init/run-image/service/serial-getty-generator/run
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/serial-getty-generator/run
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/serial-getty-generator/run
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/serial-getty/notification-fd b/host/rootfs/image/etc/s6-linux-init/run-image/service/serial-getty/notification-fd
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/serial-getty/notification-fd
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/serial-getty/notification-fd
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/serial-getty/notification-fd.license b/host/rootfs/image/etc/s6-linux-init/run-image/service/serial-getty/notification-fd.license
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/serial-getty/notification-fd.license
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/serial-getty/notification-fd.license
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/serial-getty/run b/host/rootfs/image/etc/s6-linux-init/run-image/service/serial-getty/run
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/serial-getty/run
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/serial-getty/run
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/serial-getty/template/run b/host/rootfs/image/etc/s6-linux-init/run-image/service/serial-getty/template/run
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/serial-getty/template/run
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/serial-getty/template/run
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-fs/notification-fd b/host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-fs/notification-fd
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-fs/notification-fd
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-fs/notification-fd
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-fs/notification-fd.license b/host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-fs/notification-fd.license
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-fs/notification-fd.license
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-fs/notification-fd.license
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-fs/run b/host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-fs/run
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-fs/run
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-fs/run
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-fs/template/notification-fd b/host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-fs/template/notification-fd
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-fs/template/notification-fd
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-fs/template/notification-fd
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-fs/template/notification-fd.license b/host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-fs/template/notification-fd.license
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-fs/template/notification-fd.license
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-fs/template/notification-fd.license
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-fs/template/run b/host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-fs/template/run
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-fs/template/run
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-fs/template/run
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-gpu/notification-fd b/host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-gpu/notification-fd
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-gpu/notification-fd
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-gpu/notification-fd
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-gpu/notification-fd.license b/host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-gpu/notification-fd.license
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-gpu/notification-fd.license
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-gpu/notification-fd.license
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-gpu/run b/host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-gpu/run
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-gpu/run
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-gpu/run
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/data/check b/host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/data/check
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/data/check
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/data/check
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/notification-fd b/host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/notification-fd
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/notification-fd
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/notification-fd
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/notification-fd.license b/host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/notification-fd.license
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/notification-fd.license
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/notification-fd.license
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/run b/host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/run
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/run
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/run
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/type b/host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/type
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/type
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/type
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/type.license b/host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/type.license
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/type.license
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/vhost-user-gpu/template/type.license
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/vmm/notification-fd b/host/rootfs/image/etc/s6-linux-init/run-image/service/vmm/notification-fd
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/vmm/notification-fd
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/vmm/notification-fd
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/vmm/notification-fd.license b/host/rootfs/image/etc/s6-linux-init/run-image/service/vmm/notification-fd.license
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/vmm/notification-fd.license
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/vmm/notification-fd.license
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/vmm/run b/host/rootfs/image/etc/s6-linux-init/run-image/service/vmm/run
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/vmm/run
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/vmm/run
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/vmm/template/notification-fd b/host/rootfs/image/etc/s6-linux-init/run-image/service/vmm/template/notification-fd
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/vmm/template/notification-fd
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/vmm/template/notification-fd
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/vmm/template/notification-fd.license b/host/rootfs/image/etc/s6-linux-init/run-image/service/vmm/template/notification-fd.license
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/vmm/template/notification-fd.license
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/vmm/template/notification-fd.license
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/vmm/template/run b/host/rootfs/image/etc/s6-linux-init/run-image/service/vmm/template/run
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/vmm/template/run
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/vmm/template/run
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/notification-fd b/host/rootfs/image/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/notification-fd
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/notification-fd
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/notification-fd
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/notification-fd.license b/host/rootfs/image/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/notification-fd.license
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/notification-fd.license
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/notification-fd.license
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/run b/host/rootfs/image/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/run
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/run
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/run
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/template/notification-fd b/host/rootfs/image/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/template/notification-fd
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/template/notification-fd
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/template/notification-fd
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/template/notification-fd.license b/host/rootfs/image/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/template/notification-fd.license
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/template/notification-fd.license
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/template/notification-fd.license
diff --git a/host/rootfs/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/template/run b/host/rootfs/image/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/template/run
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/template/run
rename to host/rootfs/image/etc/s6-linux-init/run-image/service/xdg-desktop-portal-spectrum-host/template/run
diff --git a/host/rootfs/etc/s6-linux-init/scripts/rc.init b/host/rootfs/image/etc/s6-linux-init/scripts/rc.init
similarity index 100%
rename from host/rootfs/etc/s6-linux-init/scripts/rc.init
rename to host/rootfs/image/etc/s6-linux-init/scripts/rc.init
diff --git a/host/rootfs/etc/s6-rc/card0/type b/host/rootfs/image/etc/s6-rc/card0/type
similarity index 100%
rename from host/rootfs/etc/s6-rc/card0/type
rename to host/rootfs/image/etc/s6-rc/card0/type
diff --git a/host/rootfs/etc/s6-rc/card0/type.license b/host/rootfs/image/etc/s6-rc/card0/type.license
similarity index 100%
rename from host/rootfs/etc/s6-rc/card0/type.license
rename to host/rootfs/image/etc/s6-rc/card0/type.license
diff --git a/host/rootfs/etc/s6-rc/card0/up b/host/rootfs/image/etc/s6-rc/card0/up
similarity index 100%
rename from host/rootfs/etc/s6-rc/card0/up
rename to host/rootfs/image/etc/s6-rc/card0/up
diff --git a/host/rootfs/etc/s6-rc/core/type b/host/rootfs/image/etc/s6-rc/core/type
similarity index 100%
rename from host/rootfs/etc/s6-rc/core/type
rename to host/rootfs/image/etc/s6-rc/core/type
diff --git a/host/rootfs/etc/s6-rc/core/type.license b/host/rootfs/image/etc/s6-rc/core/type.license
similarity index 100%
rename from host/rootfs/etc/s6-rc/core/type.license
rename to host/rootfs/image/etc/s6-rc/core/type.license
diff --git a/host/rootfs/etc/s6-rc/core/up b/host/rootfs/image/etc/s6-rc/core/up
similarity index 100%
rename from host/rootfs/etc/s6-rc/core/up
rename to host/rootfs/image/etc/s6-rc/core/up
diff --git a/host/rootfs/etc/s6-rc/kvm/timeout-up b/host/rootfs/image/etc/s6-rc/kvm/timeout-up
similarity index 100%
rename from host/rootfs/etc/s6-rc/kvm/timeout-up
rename to host/rootfs/image/etc/s6-rc/kvm/timeout-up
diff --git a/host/rootfs/etc/s6-rc/kvm/timeout-up.license b/host/rootfs/image/etc/s6-rc/kvm/timeout-up.license
similarity index 100%
rename from host/rootfs/etc/s6-rc/kvm/timeout-up.license
rename to host/rootfs/image/etc/s6-rc/kvm/timeout-up.license
diff --git a/host/rootfs/etc/s6-rc/kvm/type b/host/rootfs/image/etc/s6-rc/kvm/type
similarity index 100%
rename from host/rootfs/etc/s6-rc/kvm/type
rename to host/rootfs/image/etc/s6-rc/kvm/type
diff --git a/host/rootfs/etc/s6-rc/kvm/type.license b/host/rootfs/image/etc/s6-rc/kvm/type.license
similarity index 100%
rename from host/rootfs/etc/s6-rc/kvm/type.license
rename to host/rootfs/image/etc/s6-rc/kvm/type.license
diff --git a/host/rootfs/etc/s6-rc/kvm/up b/host/rootfs/image/etc/s6-rc/kvm/up
similarity index 100%
rename from host/rootfs/etc/s6-rc/kvm/up
rename to host/rootfs/image/etc/s6-rc/kvm/up
diff --git a/host/rootfs/etc/s6-rc/mdevd-coldplug/dependencies b/host/rootfs/image/etc/s6-rc/mdevd-coldplug/dependencies
similarity index 100%
rename from host/rootfs/etc/s6-rc/mdevd-coldplug/dependencies
rename to host/rootfs/image/etc/s6-rc/mdevd-coldplug/dependencies
diff --git a/host/rootfs/etc/s6-rc/mdevd-coldplug/type b/host/rootfs/image/etc/s6-rc/mdevd-coldplug/type
similarity index 100%
rename from host/rootfs/etc/s6-rc/mdevd-coldplug/type
rename to host/rootfs/image/etc/s6-rc/mdevd-coldplug/type
diff --git a/host/rootfs/etc/s6-rc/mdevd-coldplug/type.license b/host/rootfs/image/etc/s6-rc/mdevd-coldplug/type.license
similarity index 100%
rename from host/rootfs/etc/s6-rc/mdevd-coldplug/type.license
rename to host/rootfs/image/etc/s6-rc/mdevd-coldplug/type.license
diff --git a/host/rootfs/etc/s6-rc/mdevd-coldplug/up b/host/rootfs/image/etc/s6-rc/mdevd-coldplug/up
similarity index 100%
rename from host/rootfs/etc/s6-rc/mdevd-coldplug/up
rename to host/rootfs/image/etc/s6-rc/mdevd-coldplug/up
diff --git a/host/rootfs/etc/s6-rc/mdevd/notification-fd b/host/rootfs/image/etc/s6-rc/mdevd/notification-fd
similarity index 100%
rename from host/rootfs/etc/s6-rc/mdevd/notification-fd
rename to host/rootfs/image/etc/s6-rc/mdevd/notification-fd
diff --git a/host/rootfs/etc/s6-rc/mdevd/notification-fd.license b/host/rootfs/image/etc/s6-rc/mdevd/notification-fd.license
similarity index 100%
rename from host/rootfs/etc/s6-rc/mdevd/notification-fd.license
rename to host/rootfs/image/etc/s6-rc/mdevd/notification-fd.license
diff --git a/host/rootfs/etc/s6-rc/mdevd/run b/host/rootfs/image/etc/s6-rc/mdevd/run
similarity index 100%
rename from host/rootfs/etc/s6-rc/mdevd/run
rename to host/rootfs/image/etc/s6-rc/mdevd/run
diff --git a/host/rootfs/etc/s6-rc/mdevd/type b/host/rootfs/image/etc/s6-rc/mdevd/type
similarity index 100%
rename from host/rootfs/etc/s6-rc/mdevd/type
rename to host/rootfs/image/etc/s6-rc/mdevd/type
diff --git a/host/rootfs/etc/s6-rc/mdevd/type.license b/host/rootfs/image/etc/s6-rc/mdevd/type.license
similarity index 100%
rename from host/rootfs/etc/s6-rc/mdevd/type.license
rename to host/rootfs/image/etc/s6-rc/mdevd/type.license
diff --git a/host/rootfs/etc/s6-rc/ok-all/contents b/host/rootfs/image/etc/s6-rc/ok-all/contents
similarity index 100%
rename from host/rootfs/etc/s6-rc/ok-all/contents
rename to host/rootfs/image/etc/s6-rc/ok-all/contents
diff --git a/host/rootfs/etc/s6-rc/ok-all/type b/host/rootfs/image/etc/s6-rc/ok-all/type
similarity index 100%
rename from host/rootfs/etc/s6-rc/ok-all/type
rename to host/rootfs/image/etc/s6-rc/ok-all/type
diff --git a/host/rootfs/etc/s6-rc/ok-all/type.license b/host/rootfs/image/etc/s6-rc/ok-all/type.license
similarity index 100%
rename from host/rootfs/etc/s6-rc/ok-all/type.license
rename to host/rootfs/image/etc/s6-rc/ok-all/type.license
diff --git a/host/rootfs/etc/s6-rc/static-nodes/type b/host/rootfs/image/etc/s6-rc/static-nodes/type
similarity index 100%
rename from host/rootfs/etc/s6-rc/static-nodes/type
rename to host/rootfs/image/etc/s6-rc/static-nodes/type
diff --git a/host/rootfs/etc/s6-rc/static-nodes/type.license b/host/rootfs/image/etc/s6-rc/static-nodes/type.license
similarity index 100%
rename from host/rootfs/etc/s6-rc/static-nodes/type.license
rename to host/rootfs/image/etc/s6-rc/static-nodes/type.license
diff --git a/host/rootfs/etc/s6-rc/static-nodes/up b/host/rootfs/image/etc/s6-rc/static-nodes/up
similarity index 100%
rename from host/rootfs/etc/s6-rc/static-nodes/up
rename to host/rootfs/image/etc/s6-rc/static-nodes/up
diff --git a/host/rootfs/etc/s6-rc/sys-vmms/dependencies b/host/rootfs/image/etc/s6-rc/sys-vmms/dependencies
similarity index 100%
rename from host/rootfs/etc/s6-rc/sys-vmms/dependencies
rename to host/rootfs/image/etc/s6-rc/sys-vmms/dependencies
diff --git a/host/rootfs/etc/s6-rc/sys-vmms/type b/host/rootfs/image/etc/s6-rc/sys-vmms/type
similarity index 100%
rename from host/rootfs/etc/s6-rc/sys-vmms/type
rename to host/rootfs/image/etc/s6-rc/sys-vmms/type
diff --git a/host/rootfs/etc/s6-rc/sys-vmms/type.license b/host/rootfs/image/etc/s6-rc/sys-vmms/type.license
similarity index 100%
rename from host/rootfs/etc/s6-rc/sys-vmms/type.license
rename to host/rootfs/image/etc/s6-rc/sys-vmms/type.license
diff --git a/host/rootfs/etc/s6-rc/sys-vmms/up b/host/rootfs/image/etc/s6-rc/sys-vmms/up
similarity index 100%
rename from host/rootfs/etc/s6-rc/sys-vmms/up
rename to host/rootfs/image/etc/s6-rc/sys-vmms/up
diff --git a/host/rootfs/etc/s6-rc/vm-env/contents b/host/rootfs/image/etc/s6-rc/vm-env/contents
similarity index 100%
rename from host/rootfs/etc/s6-rc/vm-env/contents
rename to host/rootfs/image/etc/s6-rc/vm-env/contents
diff --git a/host/rootfs/etc/s6-rc/vm-env/type b/host/rootfs/image/etc/s6-rc/vm-env/type
similarity index 100%
rename from host/rootfs/etc/s6-rc/vm-env/type
rename to host/rootfs/image/etc/s6-rc/vm-env/type
diff --git a/host/rootfs/etc/s6-rc/vm-env/type.license b/host/rootfs/image/etc/s6-rc/vm-env/type.license
similarity index 100%
rename from host/rootfs/etc/s6-rc/vm-env/type.license
rename to host/rootfs/image/etc/s6-rc/vm-env/type.license
diff --git a/host/rootfs/etc/s6-rc/vmm-env/contents b/host/rootfs/image/etc/s6-rc/vmm-env/contents
similarity index 100%
rename from host/rootfs/etc/s6-rc/vmm-env/contents
rename to host/rootfs/image/etc/s6-rc/vmm-env/contents
diff --git a/host/rootfs/etc/s6-rc/vmm-env/type b/host/rootfs/image/etc/s6-rc/vmm-env/type
similarity index 100%
rename from host/rootfs/etc/s6-rc/vmm-env/type
rename to host/rootfs/image/etc/s6-rc/vmm-env/type
diff --git a/host/rootfs/etc/s6-rc/vmm-env/type.license b/host/rootfs/image/etc/s6-rc/vmm-env/type.license
similarity index 100%
rename from host/rootfs/etc/s6-rc/vmm-env/type.license
rename to host/rootfs/image/etc/s6-rc/vmm-env/type.license
diff --git a/host/rootfs/etc/s6-rc/weston/dependencies b/host/rootfs/image/etc/s6-rc/weston/dependencies
similarity index 100%
rename from host/rootfs/etc/s6-rc/weston/dependencies
rename to host/rootfs/image/etc/s6-rc/weston/dependencies
diff --git a/host/rootfs/etc/s6-rc/weston/notification-fd b/host/rootfs/image/etc/s6-rc/weston/notification-fd
similarity index 100%
rename from host/rootfs/etc/s6-rc/weston/notification-fd
rename to host/rootfs/image/etc/s6-rc/weston/notification-fd
diff --git a/host/rootfs/etc/s6-rc/weston/notification-fd.license b/host/rootfs/image/etc/s6-rc/weston/notification-fd.license
similarity index 100%
rename from host/rootfs/etc/s6-rc/weston/notification-fd.license
rename to host/rootfs/image/etc/s6-rc/weston/notification-fd.license
diff --git a/host/rootfs/etc/s6-rc/weston/run b/host/rootfs/image/etc/s6-rc/weston/run
similarity index 100%
rename from host/rootfs/etc/s6-rc/weston/run
rename to host/rootfs/image/etc/s6-rc/weston/run
diff --git a/host/rootfs/etc/s6-rc/weston/type b/host/rootfs/image/etc/s6-rc/weston/type
similarity index 100%
rename from host/rootfs/etc/s6-rc/weston/type
rename to host/rootfs/image/etc/s6-rc/weston/type
diff --git a/host/rootfs/etc/s6-rc/weston/type.license b/host/rootfs/image/etc/s6-rc/weston/type.license
similarity index 100%
rename from host/rootfs/etc/s6-rc/weston/type.license
rename to host/rootfs/image/etc/s6-rc/weston/type.license
diff --git a/host/rootfs/etc/xdg/weston/autolaunch b/host/rootfs/image/etc/xdg/weston/autolaunch
similarity index 100%
rename from host/rootfs/etc/xdg/weston/autolaunch
rename to host/rootfs/image/etc/xdg/weston/autolaunch
diff --git a/host/rootfs/etc/xdg/weston/weston.ini b/host/rootfs/image/etc/xdg/weston/weston.ini
similarity index 100%
rename from host/rootfs/etc/xdg/weston/weston.ini
rename to host/rootfs/image/etc/xdg/weston/weston.ini
diff --git a/host/rootfs/lib b/host/rootfs/image/lib
similarity index 100%
rename from host/rootfs/lib
rename to host/rootfs/image/lib
diff --git a/host/rootfs/sbin b/host/rootfs/image/sbin
similarity index 100%
rename from host/rootfs/sbin
rename to host/rootfs/image/sbin
diff --git a/host/rootfs/usr/bin/assign-devices b/host/rootfs/image/usr/bin/assign-devices
similarity index 100%
rename from host/rootfs/usr/bin/assign-devices
rename to host/rootfs/image/usr/bin/assign-devices
diff --git a/host/rootfs/usr/bin/create-vm-dependencies b/host/rootfs/image/usr/bin/create-vm-dependencies
similarity index 100%
rename from host/rootfs/usr/bin/create-vm-dependencies
rename to host/rootfs/image/usr/bin/create-vm-dependencies
diff --git a/host/rootfs/usr/bin/run-appimage b/host/rootfs/image/usr/bin/run-appimage
similarity index 100%
rename from host/rootfs/usr/bin/run-appimage
rename to host/rootfs/image/usr/bin/run-appimage
diff --git a/host/rootfs/usr/bin/run-vmm b/host/rootfs/image/usr/bin/run-vmm
similarity index 100%
rename from host/rootfs/usr/bin/run-vmm
rename to host/rootfs/image/usr/bin/run-vmm
diff --git a/host/rootfs/usr/bin/vm-console b/host/rootfs/image/usr/bin/vm-console
similarity index 100%
rename from host/rootfs/usr/bin/vm-console
rename to host/rootfs/image/usr/bin/vm-console
diff --git a/host/rootfs/usr/bin/vm-import b/host/rootfs/image/usr/bin/vm-import
similarity index 100%
rename from host/rootfs/usr/bin/vm-import
rename to host/rootfs/image/usr/bin/vm-import
diff --git a/host/rootfs/usr/bin/vm-start b/host/rootfs/image/usr/bin/vm-start
similarity index 100%
rename from host/rootfs/usr/bin/vm-start
rename to host/rootfs/image/usr/bin/vm-start
diff --git a/host/rootfs/usr/bin/vm-stop b/host/rootfs/image/usr/bin/vm-stop
similarity index 100%
rename from host/rootfs/usr/bin/vm-stop
rename to host/rootfs/image/usr/bin/vm-stop
diff --git a/host/rootfs/usr/bin/xdg-open b/host/rootfs/image/usr/bin/xdg-open
similarity index 100%
rename from host/rootfs/usr/bin/xdg-open
rename to host/rootfs/image/usr/bin/xdg-open
diff --git a/host/rootfs/usr/share/dbus-1/services/org.freedesktop.portal.Documents.service b/host/rootfs/image/usr/share/dbus-1/services/org.freedesktop.portal.Documents.service
similarity index 100%
rename from host/rootfs/usr/share/dbus-1/services/org.freedesktop.portal.Documents.service
rename to host/rootfs/image/usr/share/dbus-1/services/org.freedesktop.portal.Documents.service
diff --git a/img/app/Makefile b/img/app/Makefile
index 9665a6b7158f2d8b183831202a4559ae06d53d16..cc209710cb3d521110ce560ce956cdab228db178 100644
--- a/img/app/Makefile
+++ b/img/app/Makefile
@@ -30,32 +30,32 @@ $(imgdir)/appvm/blk/root.img: ../../scripts/make-gpt.sh ../../scripts/sfdisk-fie
mv $@.tmp $@

VM_FILES = \
- etc/dbus-1/session.conf \
- etc/fonts/fonts.conf \
- etc/fstab \
- etc/init \
- etc/mdev.conf \
- etc/mdev/iface \
- etc/mdev/listen \
- etc/mdev/virtiofs \
- etc/mdev/wait \
- etc/passwd \
- etc/pipewire/pipewire.conf \
- etc/resolv.conf \
- etc/s6-linux-init/env/DBUS_SESSION_BUS_ADDRESS \
- etc/s6-linux-init/env/DISPLAY \
- etc/s6-linux-init/env/GTK_USE_PORTAL \
- etc/s6-linux-init/env/NIX_XDG_DESKTOP_PORTAL_DIR \
- etc/s6-linux-init/env/WAYLAND_DISPLAY \
- etc/s6-linux-init/env/XDG_RUNTIME_DIR \
- etc/s6-linux-init/run-image/service/getty-hvc0/run \
- etc/s6-linux-init/run-image/service/s6-linux-init-shutdownd/notification-fd \
- etc/s6-linux-init/run-image/service/s6-linux-init-shutdownd/run \
- etc/s6-linux-init/scripts/rc.init \
- etc/s6-linux-init/scripts/rc.shutdown \
- etc/s6-linux-init/scripts/rc.shutdown.final \
- etc/wireplumber/wireplumber.conf.d/99_spectrum.conf \
- etc/xdg/xdg-desktop-portal/portals.conf
+ image/etc/dbus-1/session.conf \
+ image/etc/fonts/fonts.conf \
+ image/etc/fstab \
+ image/etc/init \
+ image/etc/mdev.conf \
+ image/etc/mdev/iface \
+ image/etc/mdev/listen \
+ image/etc/mdev/virtiofs \
+ image/etc/mdev/wait \
+ image/etc/passwd \
+ image/etc/pipewire/pipewire.conf \
+ image/etc/resolv.conf \
+ image/etc/s6-linux-init/env/DBUS_SESSION_BUS_ADDRESS \
+ image/etc/s6-linux-init/env/DISPLAY \
+ image/etc/s6-linux-init/env/GTK_USE_PORTAL \
+ image/etc/s6-linux-init/env/NIX_XDG_DESKTOP_PORTAL_DIR \
+ image/etc/s6-linux-init/env/WAYLAND_DISPLAY \
+ image/etc/s6-linux-init/env/XDG_RUNTIME_DIR \
+ image/etc/s6-linux-init/run-image/service/getty-hvc0/run \
+ image/etc/s6-linux-init/run-image/service/s6-linux-init-shutdownd/notification-fd \
+ image/etc/s6-linux-init/run-image/service/s6-linux-init-shutdownd/run \
+ image/etc/s6-linux-init/scripts/rc.init \
+ image/etc/s6-linux-init/scripts/rc.shutdown \
+ image/etc/s6-linux-init/scripts/rc.shutdown.final \
+ image/etc/wireplumber/wireplumber.conf.d/99_spectrum.conf \
+ image/etc/xdg/xdg-desktop-portal/portals.conf

VM_DIRS = dev run proc sys tmp \
etc/s6-linux-init/run-image/service \
@@ -65,7 +65,7 @@ VM_FIFOS = etc/s6-linux-init/run-image/service/s6-linux-init-shutdownd/fifo

# These are separate because they need to be included, but putting
# them as make dependencies would confuse make.
-VM_LINKS = bin etc/ssl/certs/ca-certificates.crt sbin
+VM_LINKS = image/bin image/etc/ssl/certs/ca-certificates.crt image/sbin

VM_BUILD_FILES = build/etc/s6-rc

@@ -79,46 +79,46 @@ build/empty:
build/rootfs.erofs: ../../scripts/make-erofs.sh $(PACKAGES_FILE) $(VM_FILES) $(VM_BUILD_FILES) build/empty build/fifo
( \
cat $(PACKAGES_FILE) ;\
- for file in $(VM_FILES) $(VM_LINKS); do printf '%s\n%s\n' $$file $$file; done ;\
+ for file in $(VM_FILES) $(VM_LINKS); do printf '%s\n%s\n' $$file "$${file#image/}"; done ;\
for file in $(VM_BUILD_FILES); do printf '%s\n%s\n' $$file $${file#build/}; done ;\
printf 'build/empty\n%s\n' $(VM_DIRS) ;\
printf 'build/fifo\n%s\n' $(VM_FIFOS) ;\
) | ../../scripts/make-erofs.sh $@

VM_S6_RC_FILES = \
- etc/s6-rc/app/dependencies.d/dbus \
- etc/s6-rc/app/dependencies.d/pipewire \
- etc/s6-rc/app/dependencies.d/wayland-proxy-virtwl \
- etc/s6-rc/app/run \
- etc/s6-rc/app/type \
- etc/s6-rc/dbus/notification-fd \
- etc/s6-rc/dbus/run \
- etc/s6-rc/dbus/type \
- etc/s6-rc/mdevd-coldplug/dependencies \
- etc/s6-rc/mdevd-coldplug/type \
- etc/s6-rc/mdevd-coldplug/up \
- etc/s6-rc/mdevd/notification-fd \
- etc/s6-rc/mdevd/run \
- etc/s6-rc/mdevd/type \
- etc/s6-rc/ok-all/contents \
- etc/s6-rc/ok-all/type \
- etc/s6-rc/pipewire/notification-fd \
- etc/s6-rc/pipewire/run \
- etc/s6-rc/pipewire/type \
- etc/s6-rc/wayland-proxy-virtwl/notification-fd \
- etc/s6-rc/wayland-proxy-virtwl/run \
- etc/s6-rc/wayland-proxy-virtwl/type \
- etc/s6-rc/wireplumber/dependencies.d/dbus \
- etc/s6-rc/wireplumber/dependencies.d/pipewire \
- etc/s6-rc/wireplumber/run \
- etc/s6-rc/wireplumber/type
+ image/etc/s6-rc/app/dependencies.d/dbus \
+ image/etc/s6-rc/app/dependencies.d/pipewire \
+ image/etc/s6-rc/app/dependencies.d/wayland-proxy-virtwl \
+ image/etc/s6-rc/app/run \
+ image/etc/s6-rc/app/type \
+ image/etc/s6-rc/dbus/notification-fd \
+ image/etc/s6-rc/dbus/run \
+ image/etc/s6-rc/dbus/type \
+ image/etc/s6-rc/mdevd-coldplug/dependencies \
+ image/etc/s6-rc/mdevd-coldplug/type \
+ image/etc/s6-rc/mdevd-coldplug/up \
+ image/etc/s6-rc/mdevd/notification-fd \
+ image/etc/s6-rc/mdevd/run \
+ image/etc/s6-rc/mdevd/type \
+ image/etc/s6-rc/ok-all/contents \
+ image/etc/s6-rc/ok-all/type \
+ image/etc/s6-rc/pipewire/notification-fd \
+ image/etc/s6-rc/pipewire/run \
+ image/etc/s6-rc/pipewire/type \
+ image/etc/s6-rc/wayland-proxy-virtwl/notification-fd \
+ image/etc/s6-rc/wayland-proxy-virtwl/run \
+ image/etc/s6-rc/wayland-proxy-virtwl/type \
+ image/etc/s6-rc/wireplumber/dependencies.d/dbus \
+ image/etc/s6-rc/wireplumber/dependencies.d/pipewire \
+ image/etc/s6-rc/wireplumber/run \
+ image/etc/s6-rc/wireplumber/type

build/etc/s6-rc: $(VM_S6_RC_FILES)
mkdir -p $$(dirname $@)
rm -rf $@

dir=$$(mktemp -d) && \
- tar -c $(VM_S6_RC_FILES) | tar -C $$dir -x --strip-components 2 && \
+ tar -C image -c $(VM_S6_RC_FILES) | tar -C $$dir -x --strip-components 3 && \
s6-rc-compile $@ $$dir; \
exit=$$?; rm -r $$dir; exit $$exit

diff --git a/img/app/bin b/img/app/image/bin
similarity index 100%
rename from img/app/bin
rename to img/app/image/bin
diff --git a/img/app/etc/dbus-1/session.conf b/img/app/image/etc/dbus-1/session.conf
similarity index 100%
rename from img/app/etc/dbus-1/session.conf
rename to img/app/image/etc/dbus-1/session.conf
diff --git a/img/app/etc/fonts/fonts.conf b/img/app/image/etc/fonts/fonts.conf
similarity index 100%
rename from img/app/etc/fonts/fonts.conf
rename to img/app/image/etc/fonts/fonts.conf
diff --git a/img/app/etc/fstab b/img/app/image/etc/fstab
similarity index 100%
rename from img/app/etc/fstab
rename to img/app/image/etc/fstab
diff --git a/img/app/etc/init b/img/app/image/etc/init
similarity index 100%
rename from img/app/etc/init
rename to img/app/image/etc/init
diff --git a/img/app/etc/mdev.conf b/img/app/image/etc/mdev.conf
similarity index 100%
rename from img/app/etc/mdev.conf
rename to img/app/image/etc/mdev.conf
diff --git a/img/app/etc/mdev/iface b/img/app/image/etc/mdev/iface
similarity index 100%
rename from img/app/etc/mdev/iface
rename to img/app/image/etc/mdev/iface
diff --git a/img/app/etc/mdev/listen b/img/app/image/etc/mdev/listen
similarity index 100%
rename from img/app/etc/mdev/listen
rename to img/app/image/etc/mdev/listen
diff --git a/img/app/etc/mdev/virtiofs b/img/app/image/etc/mdev/virtiofs
similarity index 100%
rename from img/app/etc/mdev/virtiofs
rename to img/app/image/etc/mdev/virtiofs
diff --git a/img/app/etc/mdev/wait b/img/app/image/etc/mdev/wait
similarity index 100%
rename from img/app/etc/mdev/wait
rename to img/app/image/etc/mdev/wait
diff --git a/img/app/etc/passwd b/img/app/image/etc/passwd
similarity index 100%
rename from img/app/etc/passwd
rename to img/app/image/etc/passwd
diff --git a/img/app/etc/passwd.license b/img/app/image/etc/passwd.license
similarity index 100%
rename from img/app/etc/passwd.license
rename to img/app/image/etc/passwd.license
diff --git a/img/app/etc/pipewire/pipewire.conf b/img/app/image/etc/pipewire/pipewire.conf
similarity index 100%
rename from img/app/etc/pipewire/pipewire.conf
rename to img/app/image/etc/pipewire/pipewire.conf
diff --git a/img/app/etc/resolv.conf b/img/app/image/etc/resolv.conf
similarity index 100%
rename from img/app/etc/resolv.conf
rename to img/app/image/etc/resolv.conf
diff --git a/img/app/etc/s6-linux-init/env/DBUS_SESSION_BUS_ADDRESS b/img/app/image/etc/s6-linux-init/env/DBUS_SESSION_BUS_ADDRESS
similarity index 100%
rename from img/app/etc/s6-linux-init/env/DBUS_SESSION_BUS_ADDRESS
rename to img/app/image/etc/s6-linux-init/env/DBUS_SESSION_BUS_ADDRESS
diff --git a/img/app/etc/s6-linux-init/env/DBUS_SESSION_BUS_ADDRESS.license b/img/app/image/etc/s6-linux-init/env/DBUS_SESSION_BUS_ADDRESS.license
similarity index 100%
rename from img/app/etc/s6-linux-init/env/DBUS_SESSION_BUS_ADDRESS.license
rename to img/app/image/etc/s6-linux-init/env/DBUS_SESSION_BUS_ADDRESS.license
diff --git a/img/app/etc/s6-linux-init/env/DISPLAY b/img/app/image/etc/s6-linux-init/env/DISPLAY
similarity index 100%
rename from img/app/etc/s6-linux-init/env/DISPLAY
rename to img/app/image/etc/s6-linux-init/env/DISPLAY
diff --git a/img/app/etc/s6-linux-init/env/DISPLAY.license b/img/app/image/etc/s6-linux-init/env/DISPLAY.license
similarity index 100%
rename from img/app/etc/s6-linux-init/env/DISPLAY.license
rename to img/app/image/etc/s6-linux-init/env/DISPLAY.license
diff --git a/img/app/etc/s6-linux-init/env/GTK_USE_PORTAL b/img/app/image/etc/s6-linux-init/env/GTK_USE_PORTAL
similarity index 100%
rename from img/app/etc/s6-linux-init/env/GTK_USE_PORTAL
rename to img/app/image/etc/s6-linux-init/env/GTK_USE_PORTAL
diff --git a/img/app/etc/s6-linux-init/env/GTK_USE_PORTAL.license b/img/app/image/etc/s6-linux-init/env/GTK_USE_PORTAL.license
similarity index 100%
rename from img/app/etc/s6-linux-init/env/GTK_USE_PORTAL.license
rename to img/app/image/etc/s6-linux-init/env/GTK_USE_PORTAL.license
diff --git a/img/app/etc/s6-linux-init/env/NIX_XDG_DESKTOP_PORTAL_DIR b/img/app/image/etc/s6-linux-init/env/NIX_XDG_DESKTOP_PORTAL_DIR
similarity index 100%
rename from img/app/etc/s6-linux-init/env/NIX_XDG_DESKTOP_PORTAL_DIR
rename to img/app/image/etc/s6-linux-init/env/NIX_XDG_DESKTOP_PORTAL_DIR
diff --git a/img/app/etc/s6-linux-init/env/NIX_XDG_DESKTOP_PORTAL_DIR.license b/img/app/image/etc/s6-linux-init/env/NIX_XDG_DESKTOP_PORTAL_DIR.license
similarity index 100%
rename from img/app/etc/s6-linux-init/env/NIX_XDG_DESKTOP_PORTAL_DIR.license
rename to img/app/image/etc/s6-linux-init/env/NIX_XDG_DESKTOP_PORTAL_DIR.license
diff --git a/img/app/etc/s6-linux-init/env/WAYLAND_DISPLAY b/img/app/image/etc/s6-linux-init/env/WAYLAND_DISPLAY
similarity index 100%
rename from img/app/etc/s6-linux-init/env/WAYLAND_DISPLAY
rename to img/app/image/etc/s6-linux-init/env/WAYLAND_DISPLAY
diff --git a/img/app/etc/s6-linux-init/env/WAYLAND_DISPLAY.license b/img/app/image/etc/s6-linux-init/env/WAYLAND_DISPLAY.license
similarity index 100%
rename from img/app/etc/s6-linux-init/env/WAYLAND_DISPLAY.license
rename to img/app/image/etc/s6-linux-init/env/WAYLAND_DISPLAY.license
diff --git a/img/app/etc/s6-linux-init/env/XDG_RUNTIME_DIR b/img/app/image/etc/s6-linux-init/env/XDG_RUNTIME_DIR
similarity index 100%
rename from img/app/etc/s6-linux-init/env/XDG_RUNTIME_DIR
rename to img/app/image/etc/s6-linux-init/env/XDG_RUNTIME_DIR
diff --git a/img/app/etc/s6-linux-init/env/XDG_RUNTIME_DIR.license b/img/app/image/etc/s6-linux-init/env/XDG_RUNTIME_DIR.license
similarity index 100%
rename from img/app/etc/s6-linux-init/env/XDG_RUNTIME_DIR.license
rename to img/app/image/etc/s6-linux-init/env/XDG_RUNTIME_DIR.license
diff --git a/img/app/etc/s6-linux-init/run-image/service/getty-hvc0/run b/img/app/image/etc/s6-linux-init/run-image/service/getty-hvc0/run
similarity index 100%
rename from img/app/etc/s6-linux-init/run-image/service/getty-hvc0/run
rename to img/app/image/etc/s6-linux-init/run-image/service/getty-hvc0/run
diff --git a/img/app/etc/s6-linux-init/run-image/service/s6-linux-init-shutdownd/notification-fd b/img/app/image/etc/s6-linux-init/run-image/service/s6-linux-init-shutdownd/notification-fd
similarity index 100%
rename from img/app/etc/s6-linux-init/run-image/service/s6-linux-init-shutdownd/notification-fd
rename to img/app/image/etc/s6-linux-init/run-image/service/s6-linux-init-shutdownd/notification-fd
diff --git a/img/app/etc/s6-linux-init/run-image/service/s6-linux-init-shutdownd/notification-fd.license b/img/app/image/etc/s6-linux-init/run-image/service/s6-linux-init-shutdownd/notification-fd.license
similarity index 100%
rename from img/app/etc/s6-linux-init/run-image/service/s6-linux-init-shutdownd/notification-fd.license
rename to img/app/image/etc/s6-linux-init/run-image/service/s6-linux-init-shutdownd/notification-fd.license
diff --git a/img/app/etc/s6-linux-init/run-image/service/s6-linux-init-shutdownd/run b/img/app/image/etc/s6-linux-init/run-image/service/s6-linux-init-shutdownd/run
similarity index 100%
rename from img/app/etc/s6-linux-init/run-image/service/s6-linux-init-shutdownd/run
rename to img/app/image/etc/s6-linux-init/run-image/service/s6-linux-init-shutdownd/run
diff --git a/img/app/etc/s6-linux-init/scripts/rc.init b/img/app/image/etc/s6-linux-init/scripts/rc.init
similarity index 100%
rename from img/app/etc/s6-linux-init/scripts/rc.init
rename to img/app/image/etc/s6-linux-init/scripts/rc.init
diff --git a/img/app/etc/s6-linux-init/scripts/rc.shutdown b/img/app/image/etc/s6-linux-init/scripts/rc.shutdown
similarity index 100%
rename from img/app/etc/s6-linux-init/scripts/rc.shutdown
rename to img/app/image/etc/s6-linux-init/scripts/rc.shutdown
diff --git a/img/app/etc/s6-linux-init/scripts/rc.shutdown.final b/img/app/image/etc/s6-linux-init/scripts/rc.shutdown.final
similarity index 100%
rename from img/app/etc/s6-linux-init/scripts/rc.shutdown.final
rename to img/app/image/etc/s6-linux-init/scripts/rc.shutdown.final
diff --git a/img/app/etc/s6-rc/app/dependencies.d/dbus b/img/app/image/etc/s6-rc/app/dependencies.d/dbus
similarity index 100%
rename from img/app/etc/s6-rc/app/dependencies.d/dbus
rename to img/app/image/etc/s6-rc/app/dependencies.d/dbus
diff --git a/img/app/etc/s6-rc/app/dependencies.d/pipewire b/img/app/image/etc/s6-rc/app/dependencies.d/pipewire
similarity index 100%
rename from img/app/etc/s6-rc/app/dependencies.d/pipewire
rename to img/app/image/etc/s6-rc/app/dependencies.d/pipewire
diff --git a/img/app/etc/s6-rc/app/dependencies.d/wayland-proxy-virtwl b/img/app/image/etc/s6-rc/app/dependencies.d/wayland-proxy-virtwl
similarity index 100%
rename from img/app/etc/s6-rc/app/dependencies.d/wayland-proxy-virtwl
rename to img/app/image/etc/s6-rc/app/dependencies.d/wayland-proxy-virtwl
diff --git a/img/app/etc/s6-rc/app/run b/img/app/image/etc/s6-rc/app/run
similarity index 100%
rename from img/app/etc/s6-rc/app/run
rename to img/app/image/etc/s6-rc/app/run
diff --git a/img/app/etc/s6-rc/app/type b/img/app/image/etc/s6-rc/app/type
similarity index 100%
rename from img/app/etc/s6-rc/app/type
rename to img/app/image/etc/s6-rc/app/type
diff --git a/img/app/etc/s6-rc/app/type.license b/img/app/image/etc/s6-rc/app/type.license
similarity index 100%
rename from img/app/etc/s6-rc/app/type.license
rename to img/app/image/etc/s6-rc/app/type.license
diff --git a/img/app/etc/s6-rc/dbus/notification-fd b/img/app/image/etc/s6-rc/dbus/notification-fd
similarity index 100%
rename from img/app/etc/s6-rc/dbus/notification-fd
rename to img/app/image/etc/s6-rc/dbus/notification-fd
diff --git a/img/app/etc/s6-rc/dbus/notification-fd.license b/img/app/image/etc/s6-rc/dbus/notification-fd.license
similarity index 100%
rename from img/app/etc/s6-rc/dbus/notification-fd.license
rename to img/app/image/etc/s6-rc/dbus/notification-fd.license
diff --git a/img/app/etc/s6-rc/dbus/run b/img/app/image/etc/s6-rc/dbus/run
similarity index 100%
rename from img/app/etc/s6-rc/dbus/run
rename to img/app/image/etc/s6-rc/dbus/run
diff --git a/img/app/etc/s6-rc/dbus/type b/img/app/image/etc/s6-rc/dbus/type
similarity index 100%
rename from img/app/etc/s6-rc/dbus/type
rename to img/app/image/etc/s6-rc/dbus/type
diff --git a/img/app/etc/s6-rc/dbus/type.license b/img/app/image/etc/s6-rc/dbus/type.license
similarity index 100%
rename from img/app/etc/s6-rc/dbus/type.license
rename to img/app/image/etc/s6-rc/dbus/type.license
diff --git a/img/app/etc/s6-rc/mdevd-coldplug/dependencies b/img/app/image/etc/s6-rc/mdevd-coldplug/dependencies
similarity index 100%
rename from img/app/etc/s6-rc/mdevd-coldplug/dependencies
rename to img/app/image/etc/s6-rc/mdevd-coldplug/dependencies
diff --git a/img/app/etc/s6-rc/mdevd-coldplug/type b/img/app/image/etc/s6-rc/mdevd-coldplug/type
similarity index 100%
rename from img/app/etc/s6-rc/mdevd-coldplug/type
rename to img/app/image/etc/s6-rc/mdevd-coldplug/type
diff --git a/img/app/etc/s6-rc/mdevd-coldplug/type.license b/img/app/image/etc/s6-rc/mdevd-coldplug/type.license
similarity index 100%
rename from img/app/etc/s6-rc/mdevd-coldplug/type.license
rename to img/app/image/etc/s6-rc/mdevd-coldplug/type.license
diff --git a/img/app/etc/s6-rc/mdevd-coldplug/up b/img/app/image/etc/s6-rc/mdevd-coldplug/up
similarity index 100%
rename from img/app/etc/s6-rc/mdevd-coldplug/up
rename to img/app/image/etc/s6-rc/mdevd-coldplug/up
diff --git a/img/app/etc/s6-rc/mdevd/notification-fd b/img/app/image/etc/s6-rc/mdevd/notification-fd
similarity index 100%
rename from img/app/etc/s6-rc/mdevd/notification-fd
rename to img/app/image/etc/s6-rc/mdevd/notification-fd
diff --git a/img/app/etc/s6-rc/mdevd/notification-fd.license b/img/app/image/etc/s6-rc/mdevd/notification-fd.license
similarity index 100%
rename from img/app/etc/s6-rc/mdevd/notification-fd.license
rename to img/app/image/etc/s6-rc/mdevd/notification-fd.license
diff --git a/img/app/etc/s6-rc/mdevd/run b/img/app/image/etc/s6-rc/mdevd/run
similarity index 100%
rename from img/app/etc/s6-rc/mdevd/run
rename to img/app/image/etc/s6-rc/mdevd/run
diff --git a/img/app/etc/s6-rc/mdevd/type b/img/app/image/etc/s6-rc/mdevd/type
similarity index 100%
rename from img/app/etc/s6-rc/mdevd/type
rename to img/app/image/etc/s6-rc/mdevd/type
diff --git a/img/app/etc/s6-rc/mdevd/type.license b/img/app/image/etc/s6-rc/mdevd/type.license
similarity index 100%
rename from img/app/etc/s6-rc/mdevd/type.license
rename to img/app/image/etc/s6-rc/mdevd/type.license
diff --git a/img/app/etc/s6-rc/ok-all/contents b/img/app/image/etc/s6-rc/ok-all/contents
similarity index 100%
rename from img/app/etc/s6-rc/ok-all/contents
rename to img/app/image/etc/s6-rc/ok-all/contents
diff --git a/img/app/etc/s6-rc/ok-all/type b/img/app/image/etc/s6-rc/ok-all/type
similarity index 100%
rename from img/app/etc/s6-rc/ok-all/type
rename to img/app/image/etc/s6-rc/ok-all/type
diff --git a/img/app/etc/s6-rc/ok-all/type.license b/img/app/image/etc/s6-rc/ok-all/type.license
similarity index 100%
rename from img/app/etc/s6-rc/ok-all/type.license
rename to img/app/image/etc/s6-rc/ok-all/type.license
diff --git a/img/app/etc/s6-rc/pipewire/notification-fd b/img/app/image/etc/s6-rc/pipewire/notification-fd
similarity index 100%
rename from img/app/etc/s6-rc/pipewire/notification-fd
rename to img/app/image/etc/s6-rc/pipewire/notification-fd
diff --git a/img/app/etc/s6-rc/pipewire/notification-fd.license b/img/app/image/etc/s6-rc/pipewire/notification-fd.license
similarity index 100%
rename from img/app/etc/s6-rc/pipewire/notification-fd.license
rename to img/app/image/etc/s6-rc/pipewire/notification-fd.license
diff --git a/img/app/etc/s6-rc/pipewire/run b/img/app/image/etc/s6-rc/pipewire/run
similarity index 100%
rename from img/app/etc/s6-rc/pipewire/run
rename to img/app/image/etc/s6-rc/pipewire/run
diff --git a/img/app/etc/s6-rc/pipewire/type b/img/app/image/etc/s6-rc/pipewire/type
similarity index 100%
rename from img/app/etc/s6-rc/pipewire/type
rename to img/app/image/etc/s6-rc/pipewire/type
diff --git a/img/app/etc/s6-rc/pipewire/type.license b/img/app/image/etc/s6-rc/pipewire/type.license
similarity index 100%
rename from img/app/etc/s6-rc/pipewire/type.license
rename to img/app/image/etc/s6-rc/pipewire/type.license
diff --git a/img/app/etc/s6-rc/wayland-proxy-virtwl/notification-fd b/img/app/image/etc/s6-rc/wayland-proxy-virtwl/notification-fd
similarity index 100%
rename from img/app/etc/s6-rc/wayland-proxy-virtwl/notification-fd
rename to img/app/image/etc/s6-rc/wayland-proxy-virtwl/notification-fd
diff --git a/img/app/etc/s6-rc/wayland-proxy-virtwl/notification-fd.license b/img/app/image/etc/s6-rc/wayland-proxy-virtwl/notification-fd.license
similarity index 100%
rename from img/app/etc/s6-rc/wayland-proxy-virtwl/notification-fd.license
rename to img/app/image/etc/s6-rc/wayland-proxy-virtwl/notification-fd.license
diff --git a/img/app/etc/s6-rc/wayland-proxy-virtwl/run b/img/app/image/etc/s6-rc/wayland-proxy-virtwl/run
similarity index 100%
rename from img/app/etc/s6-rc/wayland-proxy-virtwl/run
rename to img/app/image/etc/s6-rc/wayland-proxy-virtwl/run
diff --git a/img/app/etc/s6-rc/wayland-proxy-virtwl/type b/img/app/image/etc/s6-rc/wayland-proxy-virtwl/type
similarity index 100%
rename from img/app/etc/s6-rc/wayland-proxy-virtwl/type
rename to img/app/image/etc/s6-rc/wayland-proxy-virtwl/type
diff --git a/img/app/etc/s6-rc/wayland-proxy-virtwl/type.license b/img/app/image/etc/s6-rc/wayland-proxy-virtwl/type.license
similarity index 100%
rename from img/app/etc/s6-rc/wayland-proxy-virtwl/type.license
rename to img/app/image/etc/s6-rc/wayland-proxy-virtwl/type.license
diff --git a/img/app/etc/s6-rc/wireplumber/dependencies.d/dbus b/img/app/image/etc/s6-rc/wireplumber/dependencies.d/dbus
similarity index 100%
rename from img/app/etc/s6-rc/wireplumber/dependencies.d/dbus
rename to img/app/image/etc/s6-rc/wireplumber/dependencies.d/dbus
diff --git a/img/app/etc/s6-rc/wireplumber/dependencies.d/pipewire b/img/app/image/etc/s6-rc/wireplumber/dependencies.d/pipewire
similarity index 100%
rename from img/app/etc/s6-rc/wireplumber/dependencies.d/pipewire
rename to img/app/image/etc/s6-rc/wireplumber/dependencies.d/pipewire
diff --git a/img/app/etc/s6-rc/wireplumber/run b/img/app/image/etc/s6-rc/wireplumber/run
similarity index 100%
rename from img/app/etc/s6-rc/wireplumber/run
rename to img/app/image/etc/s6-rc/wireplumber/run
diff --git a/img/app/etc/s6-rc/wireplumber/type b/img/app/image/etc/s6-rc/wireplumber/type
similarity index 100%
rename from img/app/etc/s6-rc/wireplumber/type
rename to img/app/image/etc/s6-rc/wireplumber/type
diff --git a/img/app/etc/s6-rc/wireplumber/type.license b/img/app/image/etc/s6-rc/wireplumber/type.license
similarity index 100%
rename from img/app/etc/s6-rc/wireplumber/type.license
rename to img/app/image/etc/s6-rc/wireplumber/type.license
diff --git a/img/app/etc/ssl/certs/ca-certificates.crt b/img/app/image/etc/ssl/certs/ca-certificates.crt
similarity index 100%
rename from img/app/etc/ssl/certs/ca-certificates.crt
rename to img/app/image/etc/ssl/certs/ca-certificates.crt
diff --git a/img/app/etc/wireplumber/wireplumber.conf.d/99_spectrum.conf b/img/app/image/etc/wireplumber/wireplumber.conf.d/99_spectrum.conf
similarity index 100%
rename from img/app/etc/wireplumber/wireplumber.conf.d/99_spectrum.conf
rename to img/app/image/etc/wireplumber/wireplumber.conf.d/99_spectrum.conf
diff --git a/img/app/etc/xdg/xdg-desktop-portal/portals.conf b/img/app/image/etc/xdg/xdg-desktop-portal/portals.conf
similarity index 100%
rename from img/app/etc/xdg/xdg-desktop-portal/portals.conf
rename to img/app/image/etc/xdg/xdg-desktop-portal/portals.conf
diff --git a/img/app/sbin b/img/app/image/sbin
similarity index 100%
rename from img/app/sbin
rename to img/app/image/sbin
diff --git a/vm/sys/net/Makefile b/vm/sys/net/Makefile
index 755b145175199aa97049dbd7feadc0e76230cf30..7e6da494db83e99042e2b50e72af2e9cd4e1190c 100644
--- a/vm/sys/net/Makefile
+++ b/vm/sys/net/Makefile
@@ -29,21 +29,21 @@ $(vmdir)/netvm/blk/root.img: ../../../scripts/make-gpt.sh ../../../scripts/sfdis
mv $@.tmp $@

VM_FILES = \
- etc/dbus-1/system.conf \
- etc/fstab \
- etc/init \
- etc/mdev.conf \
- etc/mdev/iface \
- etc/nftables.conf \
- etc/passwd \
- etc/s6-linux-init/run-image/service/getty-hvc0/run \
- etc/s6-linux-init/scripts/rc.init \
- etc/sysctl.conf
-VM_DIRS = dev etc/s6-linux-init/env proc run sys var/lib/connman
+ image/etc/dbus-1/system.conf \
+ image/etc/fstab \
+ image/etc/init \
+ image/etc/mdev.conf \
+ image/etc/mdev/iface \
+ image/etc/nftables.conf \
+ image/etc/passwd \
+ image/etc/s6-linux-init/run-image/service/getty-hvc0/run \
+ image/etc/s6-linux-init/scripts/rc.init \
+ image/etc/sysctl.conf
+VM_DIRS = dev etc/s6-linux-init/env run proc sys var/lib/connman

# These are separate because they need to be included, but putting
# them as make dependencies would confuse make.
-VM_LINKS = bin lib sbin var/run
+VM_LINKS = image/bin image/lib image/sbin image/var/run

VM_BUILD_FILES = build/etc/s6-rc

@@ -53,37 +53,37 @@ build/empty:
build/rootfs.erofs: ../../../scripts/make-erofs.sh $(PACKAGES_FILE) $(VM_FILES) $(VM_BUILD_FILES) build/empty
( \
cat $(PACKAGES_FILE) ;\
- for file in $(VM_FILES) $(VM_LINKS); do printf '%s\n%s\n' $$file $$file; done ;\
+ for file in $(VM_FILES) $(VM_LINKS); do printf '%s\n%s\n' $$file "$${file#image/}"; done ;\
for file in $(VM_BUILD_FILES); do printf '%s\n%s\n' $$file $${file#build/}; done ;\
printf 'build/empty\n%s\n' $(VM_DIRS) ;\
) | ../../../scripts/make-erofs.sh $@

VM_S6_RC_FILES = \
- etc/s6-rc/connman/dependencies \
- etc/s6-rc/connman/run \
- etc/s6-rc/connman/type \
- etc/s6-rc/dbus/notification-fd \
- etc/s6-rc/dbus/run \
- etc/s6-rc/dbus/type \
- etc/s6-rc/mdevd-coldplug/dependencies \
- etc/s6-rc/mdevd-coldplug/type \
- etc/s6-rc/mdevd-coldplug/up \
- etc/s6-rc/mdevd/notification-fd \
- etc/s6-rc/mdevd/run \
- etc/s6-rc/mdevd/type \
- etc/s6-rc/nftables/type \
- etc/s6-rc/nftables/up \
- etc/s6-rc/ok-all/contents \
- etc/s6-rc/ok-all/type \
- etc/s6-rc/sysctl/type \
- etc/s6-rc/sysctl/up
+ image/etc/s6-rc/connman/dependencies \
+ image/etc/s6-rc/connman/run \
+ image/etc/s6-rc/connman/type \
+ image/etc/s6-rc/dbus/notification-fd \
+ image/etc/s6-rc/dbus/run \
+ image/etc/s6-rc/dbus/type \
+ image/etc/s6-rc/mdevd-coldplug/dependencies \
+ image/etc/s6-rc/mdevd-coldplug/type \
+ image/etc/s6-rc/mdevd-coldplug/up \
+ image/etc/s6-rc/mdevd/notification-fd \
+ image/etc/s6-rc/mdevd/run \
+ image/etc/s6-rc/mdevd/type \
+ image/etc/s6-rc/nftables/type \
+ image/etc/s6-rc/nftables/up \
+ image/etc/s6-rc/ok-all/contents \
+ image/etc/s6-rc/ok-all/type \
+ image/etc/s6-rc/sysctl/type \
+ image/etc/s6-rc/sysctl/up

build/etc/s6-rc: $(VM_S6_RC_FILES)
mkdir -p $$(dirname $@)
rm -rf $@

dir=$$(mktemp -d) && \
- tar -c $(VM_S6_RC_FILES) | tar -C $$dir -x --strip-components 2 && \
+ tar -c $(VM_S6_RC_FILES) | tar -C $$dir -x --strip-components 3 && \
s6-rc-compile $@ $$dir; \
exit=$$?; rm -r $$dir; exit $$exit

diff --git a/vm/sys/net/bin b/vm/sys/net/image/bin
similarity index 100%
rename from vm/sys/net/bin
rename to vm/sys/net/image/bin
diff --git a/vm/sys/net/etc/dbus-1/system.conf b/vm/sys/net/image/etc/dbus-1/system.conf
similarity index 100%
rename from vm/sys/net/etc/dbus-1/system.conf
rename to vm/sys/net/image/etc/dbus-1/system.conf
diff --git a/vm/sys/net/etc/fstab b/vm/sys/net/image/etc/fstab
similarity index 100%
rename from vm/sys/net/etc/fstab
rename to vm/sys/net/image/etc/fstab
diff --git a/vm/sys/net/etc/init b/vm/sys/net/image/etc/init
similarity index 100%
rename from vm/sys/net/etc/init
rename to vm/sys/net/image/etc/init
diff --git a/vm/sys/net/etc/mdev.conf b/vm/sys/net/image/etc/mdev.conf
similarity index 100%
rename from vm/sys/net/etc/mdev.conf
rename to vm/sys/net/image/etc/mdev.conf
diff --git a/vm/sys/net/etc/mdev/iface b/vm/sys/net/image/etc/mdev/iface
similarity index 100%
rename from vm/sys/net/etc/mdev/iface
rename to vm/sys/net/image/etc/mdev/iface
diff --git a/vm/sys/net/etc/nftables.conf b/vm/sys/net/image/etc/nftables.conf
similarity index 100%
rename from vm/sys/net/etc/nftables.conf
rename to vm/sys/net/image/etc/nftables.conf
diff --git a/vm/sys/net/etc/passwd b/vm/sys/net/image/etc/passwd
similarity index 100%
rename from vm/sys/net/etc/passwd
rename to vm/sys/net/image/etc/passwd
diff --git a/vm/sys/net/etc/passwd.license b/vm/sys/net/image/etc/passwd.license
similarity index 100%
rename from vm/sys/net/etc/passwd.license
rename to vm/sys/net/image/etc/passwd.license
diff --git a/vm/sys/net/etc/s6-linux-init/run-image/service/getty-hvc0/run b/vm/sys/net/image/etc/s6-linux-init/run-image/service/getty-hvc0/run
similarity index 100%
rename from vm/sys/net/etc/s6-linux-init/run-image/service/getty-hvc0/run
rename to vm/sys/net/image/etc/s6-linux-init/run-image/service/getty-hvc0/run
diff --git a/vm/sys/net/etc/s6-linux-init/scripts/rc.init b/vm/sys/net/image/etc/s6-linux-init/scripts/rc.init
similarity index 100%
rename from vm/sys/net/etc/s6-linux-init/scripts/rc.init
rename to vm/sys/net/image/etc/s6-linux-init/scripts/rc.init
diff --git a/vm/sys/net/etc/s6-rc/connman/dependencies b/vm/sys/net/image/etc/s6-rc/connman/dependencies
similarity index 100%
rename from vm/sys/net/etc/s6-rc/connman/dependencies
rename to vm/sys/net/image/etc/s6-rc/connman/dependencies
diff --git a/vm/sys/net/etc/s6-rc/connman/run b/vm/sys/net/image/etc/s6-rc/connman/run
similarity index 100%
rename from vm/sys/net/etc/s6-rc/connman/run
rename to vm/sys/net/image/etc/s6-rc/connman/run
diff --git a/vm/sys/net/etc/s6-rc/connman/type b/vm/sys/net/image/etc/s6-rc/connman/type
similarity index 100%
rename from vm/sys/net/etc/s6-rc/connman/type
rename to vm/sys/net/image/etc/s6-rc/connman/type
diff --git a/vm/sys/net/etc/s6-rc/connman/type.license b/vm/sys/net/image/etc/s6-rc/connman/type.license
similarity index 100%
rename from vm/sys/net/etc/s6-rc/connman/type.license
rename to vm/sys/net/image/etc/s6-rc/connman/type.license
diff --git a/vm/sys/net/etc/s6-rc/dbus/notification-fd b/vm/sys/net/image/etc/s6-rc/dbus/notification-fd
similarity index 100%
rename from vm/sys/net/etc/s6-rc/dbus/notification-fd
rename to vm/sys/net/image/etc/s6-rc/dbus/notification-fd
diff --git a/vm/sys/net/etc/s6-rc/dbus/notification-fd.license b/vm/sys/net/image/etc/s6-rc/dbus/notification-fd.license
similarity index 100%
rename from vm/sys/net/etc/s6-rc/dbus/notification-fd.license
rename to vm/sys/net/image/etc/s6-rc/dbus/notification-fd.license
diff --git a/vm/sys/net/etc/s6-rc/dbus/run b/vm/sys/net/image/etc/s6-rc/dbus/run
similarity index 100%
rename from vm/sys/net/etc/s6-rc/dbus/run
rename to vm/sys/net/image/etc/s6-rc/dbus/run
diff --git a/vm/sys/net/etc/s6-rc/dbus/type b/vm/sys/net/image/etc/s6-rc/dbus/type
similarity index 100%
rename from vm/sys/net/etc/s6-rc/dbus/type
rename to vm/sys/net/image/etc/s6-rc/dbus/type
diff --git a/vm/sys/net/etc/s6-rc/dbus/type.license b/vm/sys/net/image/etc/s6-rc/dbus/type.license
similarity index 100%
rename from vm/sys/net/etc/s6-rc/dbus/type.license
rename to vm/sys/net/image/etc/s6-rc/dbus/type.license
diff --git a/vm/sys/net/etc/s6-rc/mdevd-coldplug/dependencies b/vm/sys/net/image/etc/s6-rc/mdevd-coldplug/dependencies
similarity index 100%
rename from vm/sys/net/etc/s6-rc/mdevd-coldplug/dependencies
rename to vm/sys/net/image/etc/s6-rc/mdevd-coldplug/dependencies
diff --git a/vm/sys/net/etc/s6-rc/mdevd-coldplug/type b/vm/sys/net/image/etc/s6-rc/mdevd-coldplug/type
similarity index 100%
rename from vm/sys/net/etc/s6-rc/mdevd-coldplug/type
rename to vm/sys/net/image/etc/s6-rc/mdevd-coldplug/type
diff --git a/vm/sys/net/etc/s6-rc/mdevd-coldplug/type.license b/vm/sys/net/image/etc/s6-rc/mdevd-coldplug/type.license
similarity index 100%
rename from vm/sys/net/etc/s6-rc/mdevd-coldplug/type.license
rename to vm/sys/net/image/etc/s6-rc/mdevd-coldplug/type.license
diff --git a/vm/sys/net/etc/s6-rc/mdevd-coldplug/up b/vm/sys/net/image/etc/s6-rc/mdevd-coldplug/up
similarity index 100%
rename from vm/sys/net/etc/s6-rc/mdevd-coldplug/up
rename to vm/sys/net/image/etc/s6-rc/mdevd-coldplug/up
diff --git a/vm/sys/net/etc/s6-rc/mdevd/notification-fd b/vm/sys/net/image/etc/s6-rc/mdevd/notification-fd
similarity index 100%
rename from vm/sys/net/etc/s6-rc/mdevd/notification-fd
rename to vm/sys/net/image/etc/s6-rc/mdevd/notification-fd
diff --git a/vm/sys/net/etc/s6-rc/mdevd/notification-fd.license b/vm/sys/net/image/etc/s6-rc/mdevd/notification-fd.license
similarity index 100%
rename from vm/sys/net/etc/s6-rc/mdevd/notification-fd.license
rename to vm/sys/net/image/etc/s6-rc/mdevd/notification-fd.license
diff --git a/vm/sys/net/etc/s6-rc/mdevd/run b/vm/sys/net/image/etc/s6-rc/mdevd/run
similarity index 100%
rename from vm/sys/net/etc/s6-rc/mdevd/run
rename to vm/sys/net/image/etc/s6-rc/mdevd/run
diff --git a/vm/sys/net/etc/s6-rc/mdevd/type b/vm/sys/net/image/etc/s6-rc/mdevd/type
similarity index 100%
rename from vm/sys/net/etc/s6-rc/mdevd/type
rename to vm/sys/net/image/etc/s6-rc/mdevd/type
diff --git a/vm/sys/net/etc/s6-rc/mdevd/type.license b/vm/sys/net/image/etc/s6-rc/mdevd/type.license
similarity index 100%
rename from vm/sys/net/etc/s6-rc/mdevd/type.license
rename to vm/sys/net/image/etc/s6-rc/mdevd/type.license
diff --git a/vm/sys/net/etc/s6-rc/nftables/type b/vm/sys/net/image/etc/s6-rc/nftables/type
similarity index 100%
rename from vm/sys/net/etc/s6-rc/nftables/type
rename to vm/sys/net/image/etc/s6-rc/nftables/type
diff --git a/vm/sys/net/etc/s6-rc/nftables/type.license b/vm/sys/net/image/etc/s6-rc/nftables/type.license
similarity index 100%
rename from vm/sys/net/etc/s6-rc/nftables/type.license
rename to vm/sys/net/image/etc/s6-rc/nftables/type.license
diff --git a/vm/sys/net/etc/s6-rc/nftables/up b/vm/sys/net/image/etc/s6-rc/nftables/up
similarity index 100%
rename from vm/sys/net/etc/s6-rc/nftables/up
rename to vm/sys/net/image/etc/s6-rc/nftables/up
diff --git a/vm/sys/net/etc/s6-rc/ok-all/contents b/vm/sys/net/image/etc/s6-rc/ok-all/contents
similarity index 100%
rename from vm/sys/net/etc/s6-rc/ok-all/contents
rename to vm/sys/net/image/etc/s6-rc/ok-all/contents
diff --git a/vm/sys/net/etc/s6-rc/ok-all/type b/vm/sys/net/image/etc/s6-rc/ok-all/type
similarity index 100%
rename from vm/sys/net/etc/s6-rc/ok-all/type
rename to vm/sys/net/image/etc/s6-rc/ok-all/type
diff --git a/vm/sys/net/etc/s6-rc/ok-all/type.license b/vm/sys/net/image/etc/s6-rc/ok-all/type.license
similarity index 100%
rename from vm/sys/net/etc/s6-rc/ok-all/type.license
rename to vm/sys/net/image/etc/s6-rc/ok-all/type.license
diff --git a/vm/sys/net/etc/s6-rc/sysctl/type b/vm/sys/net/image/etc/s6-rc/sysctl/type
similarity index 100%
rename from vm/sys/net/etc/s6-rc/sysctl/type
rename to vm/sys/net/image/etc/s6-rc/sysctl/type
diff --git a/vm/sys/net/etc/s6-rc/sysctl/type.license b/vm/sys/net/image/etc/s6-rc/sysctl/type.license
similarity index 100%
rename from vm/sys/net/etc/s6-rc/sysctl/type.license
rename to vm/sys/net/image/etc/s6-rc/sysctl/type.license
diff --git a/vm/sys/net/etc/s6-rc/sysctl/up b/vm/sys/net/image/etc/s6-rc/sysctl/up
similarity index 100%
rename from vm/sys/net/etc/s6-rc/sysctl/up
rename to vm/sys/net/image/etc/s6-rc/sysctl/up
diff --git a/vm/sys/net/etc/sysctl.conf b/vm/sys/net/image/etc/sysctl.conf
similarity index 100%
rename from vm/sys/net/etc/sysctl.conf
rename to vm/sys/net/image/etc/sysctl.conf
diff --git a/vm/sys/net/lib b/vm/sys/net/image/lib
similarity index 100%
rename from vm/sys/net/lib
rename to vm/sys/net/image/lib
diff --git a/vm/sys/net/sbin b/vm/sys/net/image/sbin
similarity index 100%
rename from vm/sys/net/sbin
rename to vm/sys/net/image/sbin
diff --git a/vm/sys/net/var/run b/vm/sys/net/image/var/run
similarity index 100%
rename from vm/sys/net/var/run
rename to vm/sys/net/image/var/run

--
2.51.0