From 6fb3ff27ef6e8fb64a72aa5789e5c44d4fd25916 Mon Sep 17 00:00:00 2001 From: Jorijn van der Graaf Date: Sat, 8 Aug 2026 19:57:43 +0200 Subject: [PATCH] build.sh: create static loop + dm device nodes in the container Co-Authored-By: Claude Fable 5 --- build.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/build.sh b/build.sh index f229d4d..5150c1c 100755 --- a/build.sh +++ b/build.sh @@ -36,6 +36,17 @@ if [ "$(id -u)" = 0 ]; then mkdir -p /usr/local/sbin printf '#!/bin/sh\nexit 0\n' > /usr/local/sbin/modprobe chmod +x /usr/local/sbin/modprobe + # A privileged container's /dev is a snapshot from container start — + # loop/dm nodes the host creates later never appear. Create the static + # nodes here; opening them autoloads the drivers host-side (reserved + # major/minors: loop = block 7,N; device-mapper control = char 10,236). + i=0 + while [ $i -le 15 ]; do + [ -b /dev/loop$i ] || mknod -m 660 /dev/loop$i b 7 $i + i=$((i + 1)) + done + mkdir -p /dev/mapper + [ -c /dev/mapper/control ] || mknod -m 600 /dev/mapper/control c 10 236 id build >/dev/null 2>&1 || adduser -D build echo 'build ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/build rm -rf dist