svn commit: r354458 - head/libexec/rc/rc.d
Edward Tomasz Napierala
trasz at FreeBSD.org
Thu Nov 7 18:15:25 UTC 2019
Author: trasz
Date: Thu Nov 7 18:15:24 2019
New Revision: 354458
URL: https://svnweb.freebsd.org/changeset/base/354458
Log:
Extend the linux rc script to mount the neccessary file systems,
set ELF fallback brand, and load pty(4).
Reviewed by: emaste (earlier version)
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D21874
Modified:
head/libexec/rc/rc.d/linux
Modified: head/libexec/rc/rc.d/linux
==============================================================================
--- head/libexec/rc/rc.d/linux Thu Nov 7 18:14:58 2019 (r354457)
+++ head/libexec/rc/rc.d/linux Thu Nov 7 18:15:24 2019 (r354458)
@@ -17,7 +17,7 @@ stop_cmd=":"
linux_start()
{
- local _tmpdir
+ local _emul_path _tmpdir
load_kld -e 'linux(aout|elf)' linux
case `sysctl -n hw.machine_arch` in
@@ -33,6 +33,25 @@ linux_start()
fi
rm -rf ${_tmpdir}
fi
+
+ # Linux uses the pre-pts(4) tty naming scheme.
+ load_kld pty
+
+ # Handle unbranded ELF executables by defaulting to ELFOSABI_LINUX.
+ if [ `sysctl -ni kern.elf64.fallback_brand` -eq "-1" ]; then
+ sysctl kern.elf64.fallback_brand=3 > /dev/null
+ fi
+
+ if [ `sysctl -ni kern.elf32.fallback_brand` -eq "-1" ]; then
+ sysctl kern.elf32.fallback_brand=3 > /dev/null
+ fi
+
+ _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"
+ mount -o nocover -t fdescfs fdescfs "${_emul_path}/dev/fd"
+ mount -o nocover,mode=1777 -t tmpfs tmpfs "${_emul_path}/dev/shm"
}
load_rc_config $name
More information about the svn-src-all
mailing list