#!/bin/bash # Deploy a built bes2600 module to /lib/modules//extra/ on ohm. # # This is the SAFE deploy path: no live module reload (which can wedge # the chip per Pine64 known issues), just persistent install + reboot. # # Run on ohm. Modules expected built at /home/mfritsche/bes2600-build/. set -e KVER=$(uname -r) EXTRA=/lib/modules/${KVER}/extra STAGING=/lib/modules/${KVER}/kernel/drivers/staging/bes2600 cd /home/mfritsche/bes2600-build [ -f bes2600.stripped.ko ] || [ -f bes2600.ko ] || { echo "no bes2600.ko built"; exit 1; } NEW=$( [ -f bes2600.stripped.ko ] && echo bes2600.stripped.ko || echo bes2600.ko ) echo "=== Backup originals (idempotent) ===" sudo cp -np ${STAGING}/bes2600.ko.zst ${STAGING}/bes2600.ko.zst.pre-deploy.bak 2>&1 || true sudo cp -np ${STAGING}/bes2600_btuart.ko.zst ${STAGING}/bes2600_btuart.ko.zst.pre-deploy.bak 2>&1 || true ls -la ${STAGING}/ echo "=== Install patched modules to /extra/ ===" sudo install -D -m644 ${NEW} ${EXTRA}/bes2600.ko [ -f bes2600_btuart.ko ] && sudo install -D -m644 bes2600_btuart.ko ${EXTRA}/bes2600_btuart.ko sudo depmod -a ls -la ${EXTRA}/ echo "=== Verify modprobe will pick our build ===" modinfo bes2600 | grep -E 'filename|srcversion' modinfo bes2600_btuart | grep -E 'filename|srcversion' echo echo "Deploy complete. Reboot to load the new module:" echo " sudo reboot" echo echo "Rollback if anything breaks:" echo " sudo rm ${EXTRA}/bes2600*.ko && sudo depmod -a && sudo reboot"