aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Tomasz Napierala <trasz@FreeBSD.org>2021-02-02 14:40:38 +0000
committerEdward Tomasz Napierala <trasz@FreeBSD.org>2021-02-02 14:40:58 +0000
commite40787f900f3c262d5134d342e5a16757dd2193c (patch)
tree78d3a61cff4224f6074f122ba9ef571ad05f4efb
parent43d44842aef3972cc86ce673e84e31f372257b15 (diff)
downloadsrc-e40787f900f3c262d5134d342e5a16757dd2193c.tar.gz
src-e40787f900f3c262d5134d342e5a16757dd2193c.zip
Use compat.linux.emul_path instead of hardcoded path in /etc/rc.d/linux
In /etc/rc.d/linux the mounting paths of procfs, sysfs and devfs are hardcoded to "/compat/linux". Switching to the content of compat.linux.emul_path sysctl would allow to switch linuxulator to different place. Submitted by: freebsdnewbie_freenet.de Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D27807
-rwxr-xr-xlibexec/rc/rc.d/linux10
1 files changed, 5 insertions, 5 deletions
diff --git a/libexec/rc/rc.d/linux b/libexec/rc/rc.d/linux
index 4fe9cee6e751..4381b62cc660 100755
--- a/libexec/rc/rc.d/linux
+++ b/libexec/rc/rc.d/linux
@@ -18,6 +18,7 @@ stop_cmd=":"
linux_start()
{
local _emul_path _tmpdir
+ _emul_path="$(sysctl -n compat.linux.emul_path)"
load_kld -e 'linux(aout|elf)' linux
case `sysctl -n hw.machine_arch` in
@@ -25,11 +26,11 @@ linux_start()
load_kld -e 'linux64elf' linux64
;;
esac
- if [ -x /compat/linux/sbin/ldconfigDisabled ]; then
+ if [ -x ${_emul_path}/sbin/ldconfigDisabled ]; then
_tmpdir=`mktemp -d -t linux-ldconfig`
- /compat/linux/sbin/ldconfig -C ${_tmpdir}/ld.so.cache
- if ! cmp -s ${_tmpdir}/ld.so.cache /compat/linux/etc/ld.so.cache; then
- cat ${_tmpdir}/ld.so.cache > /compat/linux/etc/ld.so.cache
+ ${_emul_path}/sbin/ldconfig -C ${_tmpdir}/ld.so.cache
+ if ! cmp -s ${_tmpdir}/ld.so.cache ${_emul_path}/etc/ld.so.cache; then
+ cat ${_tmpdir}/ld.so.cache > ${_emul_path}/etc/ld.so.cache
fi
rm -rf ${_tmpdir}
fi
@@ -47,7 +48,6 @@ linux_start()
fi
if checkyesno linux_mounts_enable; then
- _emul_path="/compat/linux"
mount -o nocover -t linprocfs linprocfs "${_emul_path}/proc"
mount -o nocover -t linsysfs linsysfs "${_emul_path}/sys"
mount -o nocover -t devfs devfs "${_emul_path}/dev"