mirror of
https://github.com/OpenRC/openrc.git
synced 2026-01-27 09:55:01 +00:00
by the list in !871 it mostly seemed to match docker and similar, so for now let's add -wsl to all services that have -docker Closes: https://github.com/OpenRC/openrc/issues/871
76 lines
1.7 KiB
Plaintext
76 lines
1.7 KiB
Plaintext
#!@SBINDIR@/openrc-run
|
|
# Copyright (c) 2007-2015 The OpenRC Authors.
|
|
# See the Authors file at the top-level directory of this distribution and
|
|
# https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS
|
|
#
|
|
# This file is part of OpenRC. It is subject to the license terms in
|
|
# the LICENSE file found in the top-level directory of this
|
|
# distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE
|
|
# This file may not be copied, modified, propagated, or distributed
|
|
# except according to the terms contained in the LICENSE file.
|
|
|
|
description="Mount the root fs read/write"
|
|
|
|
depend()
|
|
{
|
|
after clock
|
|
need fsck
|
|
keyword -docker -podman -jail -lxc -openvz -prefix -systemd-nspawn -vserver -wsl
|
|
}
|
|
|
|
start()
|
|
{
|
|
local root_opts=",$(fstabinfo -o /),"
|
|
case "$root_opts" in
|
|
*,ro,*)
|
|
;;
|
|
*)
|
|
# Check if the rootfs isn't already writable.
|
|
if checkpath -W /; then
|
|
rm -f /fastboot /forcefsck
|
|
else
|
|
ebegin "Remounting root filesystem read/write"
|
|
case "$RC_UNAME" in
|
|
Linux)
|
|
mount -n -o remount,rw /
|
|
;;
|
|
*)
|
|
mount -u -o rw /
|
|
;;
|
|
esac
|
|
eend $? "Root filesystem could not be mounted read/write"
|
|
if [ $? -eq 0 ]; then
|
|
rm -f /fastboot /forcefsck
|
|
fi
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
case "$root_opts" in
|
|
*,shared,*|*,rshared,*)
|
|
ebegin "Making root filesystem shared"
|
|
case "$RC_UNAME" in
|
|
Linux)
|
|
mount --make-rshared /
|
|
;;
|
|
*)
|
|
ewarn "Ignoring 'shared' option for / on non-linux"
|
|
;;
|
|
esac
|
|
eend $? "Root filesystem could not be made shared"
|
|
;;
|
|
esac
|
|
|
|
ebegin "Remounting filesystems"
|
|
local mountpoint
|
|
for mountpoint in $(fstabinfo); do
|
|
case "${mountpoint}" in
|
|
/*) # Don't remount swap etc.
|
|
mountinfo -q "${mountpoint}" && \
|
|
fstabinfo --remount "${mountpoint}"
|
|
;;
|
|
esac
|
|
done
|
|
eend 0
|
|
}
|