Browse Source

[Fix] `nvm_get_arch`: Rasbperry Pi: armv7l with arm64 kernel, get correct arch

Co-authored-by: Botspot <54716352+Botspot@users.noreply.github.com>
Co-authored-by: Jordan Harband <ljharb@gmail.com>
Co-authored-by: Sladyn Nunes <sladynnunes98@gmail.com>
Botspot 4 years ago committed by Jordan Harband
parent
commit
779a34e6a9
No known key found for this signature in database
GPG Key ID: 9F6A681E35EF8B56
  1. 8
      nvm.sh
  2. 2
      test/fast/Unit tests/nvm_get_arch

8
nvm.sh

@ -1796,6 +1796,14 @@ nvm_get_arch() { @@ -1796,6 +1796,14 @@ nvm_get_arch() {
aarch64) NVM_ARCH="arm64" ;;
*) NVM_ARCH="${HOST_ARCH}" ;;
esac
# If running a 64bit ARM kernel but a 32bit ARM userland, change ARCH to 32bit ARM (armv7l)
L=$(ls -dl /sbin/init) # if /sbin/init is 32bit executable
if [ "$(uname)" = "Linux" ] && [ "${NVM_ARCH}" = arm64 ] && [ "$(od -An -t x1 -j 4 -N 1 "${L#*-> }")" = ' 01' ]; then
NVM_ARCH=armv7l
HOST_ARCH=armv7l
fi
nvm_echo "${NVM_ARCH}"
}

2
test/fast/Unit tests/nvm_get_arch

@ -79,4 +79,6 @@ run_test amd64 smartos x64 no_pkg_info @@ -79,4 +79,6 @@ run_test amd64 smartos x64 no_pkg_info
run_test x86 osx x86
run_test amd64 osx x64
run_test arm64 smartos x64
cleanup

Loading…
Cancel
Save