From 6968742411fccd803486b404cbdc32956bdf53c9 Mon Sep 17 00:00:00 2001 From: leeboby Date: Fri, 16 Aug 2024 09:29:48 +0800 Subject: [PATCH] opiaimax: install npu driver --- .gitignore | 1 + external/config/boards/orangepiaimax.conf | 1 - .../sources/families/rockchip-rk3588.conf | 17 ++++++++++------- scripts/general.sh | 16 ++++++++++++++++ scripts/main.sh | 6 ++++++ 5 files changed, 33 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 426774f..ee81b66 100644 --- a/.gitignore +++ b/.gitignore @@ -49,5 +49,6 @@ external/cache/sources/orangepi-firmware* external/cache/sources/wiringOP external/cache/sources/wiringOP-Python external/cache/sources/rk3399_gst_xserver_libs +external/cache/sources/ascend-driver external/cache/sources/arm-trusted-firmware-sunxi-mainline external/cache/debs/arm64/balena-etcher-electron_1.7.9+5945ab1f_arm64.deb diff --git a/external/config/boards/orangepiaimax.conf b/external/config/boards/orangepiaimax.conf index 598145c..11677f8 100644 --- a/external/config/boards/orangepiaimax.conf +++ b/external/config/boards/orangepiaimax.conf @@ -11,6 +11,5 @@ BOOT_SUPPORT_SPI="yes" SKIP_BOOTSPLASH="yes" # Skip boot splash patch, conflicts with CONFIG_VT=yes DISTRIB_TYPE_LEGACY="bullseye bookworm bionic focal jammy" DISTRIB_TYPE_CURRENT="bullseye bookworm focal jammy" -INSTALL_HEADERS="yes" BOOTFS_TYPE="fat" REVISION="1.0.0" diff --git a/external/config/sources/families/rockchip-rk3588.conf b/external/config/sources/families/rockchip-rk3588.conf index 246f340..070044a 100644 --- a/external/config/sources/families/rockchip-rk3588.conf +++ b/external/config/sources/families/rockchip-rk3588.conf @@ -144,6 +144,7 @@ family_tweaks_s() { chroot $SDCARD /bin/bash -c "apt-get -y -qq install usb-modeswitch tree dnsmasq v4l-utils swig python3-dev python3-setuptools bluez libncurses-dev" >> "${DEST}"/${LOG_SUBPATH}/install.log 2>&1 + [[ ${BOARD} =~ orangepiaimax ]] && install_310b-npu-driver install_wiringop install_balenaEtcher @@ -181,11 +182,13 @@ family_tweaks_s() { fi # Realtek 8811CU/8821CU usb modeswitch support - cp ${SDCARD}/lib/udev/rules.d/40-usb_modeswitch.rules ${SDCARD}/etc/udev/rules.d/40-usb_modeswitch.rules - sed '/LABEL="modeswitch_rules_end"/d' -i ${SDCARD}/etc/udev/rules.d/40-usb_modeswitch.rules - cat >> ${SDCARD}/etc/udev/rules.d/40-usb_modeswitch.rules <<-EOF - # Realtek 8821CU Wifi AC USB - ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", RUN+="/usr/sbin/usb_modeswitch -K -v 0bda -p 1a2b" - LABEL="modeswitch_rules_end" - EOF + if [[ -f ${SDCARD}/lib/udev/rules.d/40-usb_modeswitch.rules ]]; then + cp ${SDCARD}/lib/udev/rules.d/40-usb_modeswitch.rules ${SDCARD}/etc/udev/rules.d/40-usb_modeswitch.rules + sed '/LABEL="modeswitch_rules_end"/d' -i ${SDCARD}/etc/udev/rules.d/40-usb_modeswitch.rules + cat >> ${SDCARD}/etc/udev/rules.d/40-usb_modeswitch.rules <<-EOF + # Realtek 8821CU Wifi AC USB + ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", RUN+="/usr/sbin/usb_modeswitch -K -v 0bda -p 1a2b" + LABEL="modeswitch_rules_end" + EOF + fi } diff --git a/scripts/general.sh b/scripts/general.sh index 59ef9a8..f0c6f30 100755 --- a/scripts/general.sh +++ b/scripts/general.sh @@ -1885,6 +1885,22 @@ install_wiringop() rm $SDCARD/root/*.deb >/dev/null 2>&1 } + +install_310b-npu-driver() +{ + local driver_path="$EXTER/cache/sources/ascend-driver" + local driver_name="Ascend-hdk-310b-npu-driver_23.0.5_linux-aarch64-opiaimax.run" + local driver=${driver_path}/${driver_name} + + if [[ -f "${driver}" ]]; then + display_alert "Installing" "$driver_name" "info" + cp "${driver}" "${SDCARD}/opt/" + chmod +x "${SDCARD}/opt/Ascend-hdk-310b-npu-driver_23.0.5_linux-aarch64-opiaimax.run" + chroot "${SDCARD}" /bin/bash -c "/opt/${driver_name} --chroot --full --install-username=orangepi --install-usergroup=orangepi --install-for-all" + fi +} + + install_docker() { [[ $install_docker != yes ]] && return diff --git a/scripts/main.sh b/scripts/main.sh index 3b53c5e..3f03d61 100755 --- a/scripts/main.sh +++ b/scripts/main.sh @@ -449,6 +449,12 @@ if [[ ${IGNORE_UPDATES} != yes ]]; then fi + if [[ ${BOARD} =~ orangepiaimax ]]; then + + [[ $BUILD_OPT =~ image ]] && fetch_from_repo "https://github.com/orangepi-xunlong/ascend-driver.git" "${EXTER}/cache/sources/ascend-driver" "branch:main" + + fi + if [[ ${BOARD} =~ orangepi4|orangepi4-lts|orangepi800 && $RELEASE =~ focal|buster|bullseye|bookworm ]]; then [[ ${BUILD_OPT} == image ]] && fetch_from_repo "https://github.com/orangepi-xunlong/rk-rootfs-build.git" "${EXTER}/cache/sources/rk-rootfs-build-${RELEASE}" "branch:rk-rootfs-build-${RELEASE}"