[BREAKING] Provide runtime environment systemd services from munix
These services evolve as munix evolves, so they should not be part of the system closures themselves. Mount them into /run/systemd instead. (Yes, making /run/systemd/system a symlink to RO files is unfortunate, that could be changed in the future. FS prep code is annoying too..)
This commit is contained in:
parent
604ebc1356
commit
38a96b79b3
18 changed files with 125 additions and 112 deletions
10
munix
10
munix
|
|
@ -2,8 +2,10 @@
|
|||
SCRIPT_PATH=$(dirname $(realpath -s $0))
|
||||
MUVM_PATH=$(dirname $(which muvm))
|
||||
PASST_PATH=$(dirname $(which passt))
|
||||
WL_PROXY_PATH=$(dirname $(which wl-cross-domain-proxy))
|
||||
HOST_OPENGL_DRIVER=/run/opengl-driver
|
||||
: "${MICROVM_DEFAULT_COMMAND:=bash}"
|
||||
: "${MUNIX_SYSTEMD_UNITS:="${SCRIPT_PATH}/systemd"}"
|
||||
MICROVM_CLOSURE=
|
||||
MICROVM_COMMAND=()
|
||||
MICROVM_UID=1337
|
||||
|
|
@ -41,6 +43,7 @@ while [ "$#" -gt 0 ]; do
|
|||
--munix-bin-dir) SCRIPT_PATH="$2"; shift 2;;
|
||||
--muvm-bin-dir) MUVM_PATH="$2"; shift 2;;
|
||||
--passt-bin-dir) PASST_PATH="$2"; shift 2;;
|
||||
--wl-proxy-bin-dir) WL_PROXY_PATH="$2"; shift 2;;
|
||||
--) shift 1; MICROVM_COMMAND+=("$@"); break;;
|
||||
-*) echo "munix: unknown option: $1" >&2; exit 1;;
|
||||
*)
|
||||
|
|
@ -68,6 +71,11 @@ if [ "$PASST_PATH" = "" ]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$WL_PROXY_PATH" = "" ]; then
|
||||
echo "munix: wl-cross-domain-proxy not found, provide a --wl-proxy-bin-dir or fix \$PATH" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -e "$HOST_OPENGL_DRIVER" ]; then
|
||||
echo "munix: host graphics driver not found, provide a --host-opengl-driver" >&2
|
||||
exit 1
|
||||
|
|
@ -227,10 +235,12 @@ bwrap --unshare-all --share-net \
|
|||
--ro-bind "$MUVM_PATH" /run/munix/muvm \
|
||||
--ro-bind "$PASST_PATH" /run/munix/passt \
|
||||
--ro-bind "$SCRIPT_PATH/micro-activate" /opt/bin/micro-activate \
|
||||
--ro-bind "$WL_PROXY_PATH/wl-cross-domain-proxy" /opt/bin/wl-cross-domain-proxy \
|
||||
--ro-bind "$MUVM_PATH/muvm-guest" /opt/bin/muvm-remote \
|
||||
--ro-bind "$MUVM_PATH/muvm-guest" /opt/bin/muvm-configure-network \
|
||||
--ro-bind "$MUVM_PATH/muvm-guest" /opt/bin/muvm-pwbridge \
|
||||
--ro-bind "$MUVM_PATH/muvm-guest" /opt/bin/muvm-dbusbridge \
|
||||
--ro-bind "$MUNIX_SYSTEMD_UNITS" /opt/systemd \
|
||||
--symlink "$MICROVM_CLOSURE/etc" /etc \
|
||||
--symlink "$MICROVM_CLOSURE/sw/bin/sh" /bin/sh \
|
||||
--symlink "$MICROVM_CLOSURE/sw/bin/env" /usr/bin/env \
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue