Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Aug 2020 19:40:34 +0000 (UTC)
From:      Edward Tomasz Napierala <trasz@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r364882 - stable/12/libexec/rc/rc.d
Message-ID:  <202008271940.07RJeYvw081021@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: trasz
Date: Thu Aug 27 19:40:33 2020
New Revision: 364882
URL: https://svnweb.freebsd.org/changeset/base/364882

Log:
  MFC r354458:
  
  Extend the linux rc script to mount the neccessary file systems,
  set ELF fallback brand, and load pty(4).
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  stable/12/libexec/rc/rc.d/linux
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/libexec/rc/rc.d/linux
==============================================================================
--- stable/12/libexec/rc/rc.d/linux	Thu Aug 27 19:37:28 2020	(r364881)
+++ stable/12/libexec/rc/rc.d/linux	Thu Aug 27 19:40:33 2020	(r364882)
@@ -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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202008271940.07RJeYvw081021>