aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Tomasz Napierala <trasz@FreeBSD.org>2021-03-16 16:48:13 +0000
committerEd Maste <emaste@FreeBSD.org>2021-07-27 19:57:55 +0000
commit933cb282b69d8ea606dab4980126805737e8d5fb (patch)
tree2e79e19f8d4e3b1dbb53378ea58254388f56f439
parentf4e3cb4b6bedf7325a6c44ff95c5f7a7ef76272d (diff)
downloadsrc-933cb282b69d8ea606dab4980126805737e8d5fb.tar.gz
src-933cb282b69d8ea606dab4980126805737e8d5fb.zip
Fix the 'linux' rc script on aarch64.
Previously it would try to load linux.ko instead of linux64.ko and fail. While here, don't try to match 'linuxaout'; even if implemented, it's the same module as `linuxelf`. Reviewed By: emaste Sponsored By: EPSRC Differential Revision: https://reviews.freebsd.org/D29288 (cherry picked from commit e026f4243c5a65d19a63d98f55be17e8294a1e87)
-rwxr-xr-xlibexec/rc/rc.d/linux8
1 files changed, 7 insertions, 1 deletions
diff --git a/libexec/rc/rc.d/linux b/libexec/rc/rc.d/linux
index f44a9d02fc8d..c9c45ba8b338 100755
--- a/libexec/rc/rc.d/linux
+++ b/libexec/rc/rc.d/linux
@@ -19,11 +19,17 @@ linux_start()
{
local _emul_path _tmpdir
- load_kld -e 'linux(aout|elf)' linux
case `sysctl -n hw.machine_arch` in
+ aarch64)
+ load_kld -e 'linux64elf' linux64
+ ;;
amd64)
+ load_kld -e 'linuxelf' linux
load_kld -e 'linux64elf' linux64
;;
+ i386)
+ load_kld -e 'linuxelf' linux
+ ;;
esac
_emul_path="$(sysctl -n compat.linux.emul_path)"