Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
#!/bin/bash
-set -e
+set -ex
mkdir /dev/pts
mount -t proc none /proc
export PATH
export SHELL=/bin/bash
+HOME=$(cat /proc/cmdline)
+case "$HOME" in
+*' psusan-uml-tmp='*) ;;
+*) echo >&2 'psusan-uml-tmp not found in /proc/cmdline'; exit 1;;
+esac
+HOME=${HOME##* psusan-uml-tmp=}
+HOME=${HOME%% *}
+export HOME
+cd "$HOME"
+
+dd if=random-seed of=/dev/urandom
+
exec psusan
) | \
bwrap --dev-bind / / --tmpfs /dev/shm \
linux mem=512M rootfstype=hostfs rootflags=/ rw \
- con=fd:2,fd:2 con1=fd:0,fd:1 init="${0%/*}"/psusan-uml-inside | \
+ con=fd:2,fd:2 con1=fd:0,fd:1 init="${0%/*}"/psusan-uml-inside \
+ -- psusan-uml-tmp=$PWD/tmp/uml | \
(
read banner
: >$fifo
mkdir -p tmp
rm -rf tmp/uml
mkdir -p -m2700 tmp/uml
+dd if=/dev/urandom of=tmp/uml/random-seed bs=1k count=4
"${0%/*}"/psusan-uml-run -proxycmd "${0%/*}"/psusan-uml-psusan -N -v -v