lnstools

Linux namespace tools
git clone https://ccx.te2000.cz/git/lnstools
Log | Files | Refs | README

commit 1d657b51941acc808cdca704e7a50fcf15c69c24
parent c59d074a64255216715a01921f2644ad59fb43fe
Author: Jan Pobrislo <ccx@te2000.cz>
Date:   Wed, 19 Nov 2025 08:51:16 +0000

Reorder mount and mkdir operations, avoid s6-* utilities.

Diffstat:
Msrc/lns-mount-chroot.in | 44+++++++++++++++++++++-----------------------
1 file changed, 21 insertions(+), 23 deletions(-)

diff --git a/src/lns-mount-chroot.in b/src/lns-mount-chroot.in @@ -4,39 +4,24 @@ elquote:importas -i 1 1 # require first argument elquote:importas -D /mnt/chroot LNS_ROOT LNS_ROOT } -elquote:shift -n 1 # remove first argument so we don't have to deal with it with elquote:runblock +elquote:shift -n 1 # remove first argument so we don't have to deal with it with runblock elquote:lns-mounts-to-env -elquote:if { elquote:mount -o rbind $1 $NS_ROOT } +elquote:if { elquote:mount -o rbind $1 $LNS_ROOT } # /proc elquote:if { elquote:mount -t proc proc ${LNS_ROOT}/proc } # /dev -elquote:if { elquote:s6-mount -nwt tmpfs -o nosuid,dev,mode=0755 dev ${LNS_ROOT}/dev } -elquote:if { elquote:mknod -m 666 ${LNS_ROOT}/dev/null c 1 3 } -elquote:if { elquote:mknod -m 666 ${LNS_ROOT}/dev/full c 1 7 } -elquote:if { elquote:mknod -m 666 ${LNS_ROOT}/dev/ptmx c 5 2 } -elquote:if { elquote:mknod -m 644 ${LNS_ROOT}/dev/random c 1 8 } -elquote:if { elquote:mknod -m 644 ${LNS_ROOT}/dev/urandom c 1 9 } -elquote:if { elquote:mknod -m 666 ${LNS_ROOT}/dev/zero c 1 5 } -elquote:if { elquote:mknod -m 666 ${LNS_ROOT}/dev/tty c 5 0 } -elquote:if { elquote:ln -sf /proc/self/fd ${LNS_ROOT}/dev/fd } -elquote:if { elquote:ln -sf /proc/self/fd/0 ${LNS_ROOT}/dev/stdin } -elquote:if { elquote:ln -sf /proc/self/fd/1 ${LNS_ROOT}/dev/stout } -elquote:if { elquote:ln -sf /proc/self/fd/2 ${LNS_ROOT}/dev/stderr } -# elquote:if { elquote:ln -sf ../run/shm ${LNS_ROOT}/dev/shm } - -# dev/shm is intentionally ommited to allow custom mount or symlink -# pts and mqueue are provided below - -# Create top-level /dev directories. Many may be bind-mounted from host if neededx. +elquote:if { elquote:mount -nwt tmpfs -o nosuid,dev,mode=0755 dev ${LNS_ROOT}/dev } +# Create top-level /dev directories. Many may be bind-mounted from host if needed. elquote:if { elquote:mkdir ${LNS_ROOT}/dev/pts ${LNS_ROOT}/dev/mqueue + # dev/shm is intentionally ommited to allow custom mount or symlink ${LNS_ROOT}/dev/block ${LNS_ROOT}/dev/bus @@ -50,12 +35,25 @@ ${LNS_ROOT}/dev/usb } -elquote:if { elquote:mount -t devpts devpts ${LNS_ROOT}/dev/pts } -elquote:if { elquote:s6-mount -nwt mqueue -o nosuid,nodev,noexec mqueue ${LNS_ROOT}/dev/mqueue } +elquote:if { elquote:mount -nwt devpts devpts ${LNS_ROOT}/dev/pts } +elquote:if { elquote:mount -nwt mqueue -o nosuid,nodev,noexec mqueue ${LNS_ROOT}/dev/mqueue } + +elquote:if { elquote:mknod -m 666 ${LNS_ROOT}/dev/null c 1 3 } +elquote:if { elquote:mknod -m 666 ${LNS_ROOT}/dev/full c 1 7 } +elquote:if { elquote:mknod -m 666 ${LNS_ROOT}/dev/ptmx c 5 2 } +elquote:if { elquote:mknod -m 644 ${LNS_ROOT}/dev/random c 1 8 } +elquote:if { elquote:mknod -m 644 ${LNS_ROOT}/dev/urandom c 1 9 } +elquote:if { elquote:mknod -m 666 ${LNS_ROOT}/dev/zero c 1 5 } +elquote:if { elquote:mknod -m 666 ${LNS_ROOT}/dev/tty c 5 0 } +elquote:if { elquote:ln -sf /proc/self/fd ${LNS_ROOT}/dev/fd } +elquote:if { elquote:ln -sf /proc/self/fd/0 ${LNS_ROOT}/dev/stdin } +elquote:if { elquote:ln -sf /proc/self/fd/1 ${LNS_ROOT}/dev/stout } +elquote:if { elquote:ln -sf /proc/self/fd/2 ${LNS_ROOT}/dev/stderr } + # run elquote:if { - elquote:cd $NS_ROOT + elquote:cd $LNS_ROOT elquote:runblock 1 }