diff --git a/birdnet-pi/rootfs/etc/cont-init.d/98-oldcpu.sh b/birdnet-pi/rootfs/etc/cont-init.d/98-oldcpu.sh new file mode 100644 index 000000000..28e0ddd84 --- /dev/null +++ b/birdnet-pi/rootfs/etc/cont-init.d/98-oldcpu.sh @@ -0,0 +1,37 @@ +#!/command/with-contenv bashio +# shellcheck shell=bash disable=SC1091 +set -e + +################## +# ALLOW RESTARTS # +################## + +if [[ "${BASH_SOURCE[0]}" == /etc/cont-init.d/* ]]; then + mkdir -p /etc/scripts-init + sed -i "s|/etc/cont-init.d|/etc/scripts-init|g" /ha_entrypoint.sh + sed -i "/ rm/d" /ha_entrypoint.sh + cp "${BASH_SOURCE[0]}" /etc/scripts-init/ +fi + +###################### +# INSTALL TENSORFLOW # +###################### + +# Check if the CPU supports AVX2 +if [[ "$(uname -m)" = "x86_64" ]]; then + if lscpu | grep -q "Flags"; then + if ! lscpu | grep -q "avx2"; then + bashio::log.warning "NON SUPPORTED CPU DETECTED" + bashio::log.warning "Your cpu doesn't support avx2, the analyzer service will likely won't work" + bashio::log.warning "Trying to install tensorflow instead of tflite_runtime instead. This might take some time (up to 5 minutes)." + bashio::log.warning "You could try also Birdnet-Go which should supports your cpu" + source /home/pi/BirdNET-Pi/birdnet/bin/activate + mkdir -p /home/pi/.cache/pip || true &>/dev/null + chmod 777 /home/pi/.cache/pip || true &>/dev/null + pip3 uninstall -y tflite_runtime + pip install --upgrade packaging==23.2 + pip3 install --upgrade --force-reinstall "https://github.com/snowzach/tensorflow-multiarch/releases/download/v2.16.1/tensorflow-2.16.1-cp311-cp311-linux_x86_64.whl" + deactivate + fi + fi +fi