xref: /freebsd/libexec/rc/rc.d/linux (revision ee0ee18c9ccfb0ff411eec7ed2c5dd41aecda91e)
1028af4aeSEdward Tomasz Napierala#!/bin/sh
2028af4aeSEdward Tomasz Napierala#
3028af4aeSEdward Tomasz Napierala# $FreeBSD$
4028af4aeSEdward Tomasz Napierala#
5028af4aeSEdward Tomasz Napierala
6028af4aeSEdward Tomasz Napierala# PROVIDE: linux
7028af4aeSEdward Tomasz Napierala# REQUIRE: archdep
8028af4aeSEdward Tomasz Napierala# KEYWORD: nojail
9028af4aeSEdward Tomasz Napierala
10028af4aeSEdward Tomasz Napierala. /etc/rc.subr
11028af4aeSEdward Tomasz Napierala
12028af4aeSEdward Tomasz Napieralaname="linux"
13028af4aeSEdward Tomasz Napieraladesc="Enable Linux ABI"
14*ee0ee18cSEdward Tomasz Napieralarcvar="linux_enable"
15028af4aeSEdward Tomasz Napieralastart_cmd="${name}_start"
16028af4aeSEdward Tomasz Napieralastop_cmd=":"
17028af4aeSEdward Tomasz Napierala
18028af4aeSEdward Tomasz Napieralalinux_start()
19028af4aeSEdward Tomasz Napierala{
20028af4aeSEdward Tomasz Napierala	local _tmpdir
21028af4aeSEdward Tomasz Napierala
22028af4aeSEdward Tomasz Napierala	load_kld -e 'linux(aout|elf)' linux
23028af4aeSEdward Tomasz Napierala	case `sysctl -n hw.machine_arch` in
24028af4aeSEdward Tomasz Napierala	amd64)
25028af4aeSEdward Tomasz Napierala		load_kld -e 'linux64elf' linux64
26028af4aeSEdward Tomasz Napierala		;;
27028af4aeSEdward Tomasz Napierala	esac
28028af4aeSEdward Tomasz Napierala	if [ -x /compat/linux/sbin/ldconfigDisabled ]; then
29028af4aeSEdward Tomasz Napierala		_tmpdir=`mktemp -d -t linux-ldconfig`
30028af4aeSEdward Tomasz Napierala		/compat/linux/sbin/ldconfig -C ${_tmpdir}/ld.so.cache
31028af4aeSEdward Tomasz Napierala		if ! cmp -s ${_tmpdir}/ld.so.cache /compat/linux/etc/ld.so.cache; then
32028af4aeSEdward Tomasz Napierala			cat ${_tmpdir}/ld.so.cache > /compat/linux/etc/ld.so.cache
33028af4aeSEdward Tomasz Napierala		fi
34028af4aeSEdward Tomasz Napierala		rm -rf ${_tmpdir}
35028af4aeSEdward Tomasz Napierala	fi
36028af4aeSEdward Tomasz Napierala}
37028af4aeSEdward Tomasz Napierala
38028af4aeSEdward Tomasz Napieralaload_rc_config $name
39028af4aeSEdward Tomasz Napieralarun_rc_command "$1"
40