Problem: The boot script was re-triggered every 30 minutes, running pm disable-user on 109 packages each time. This hammered Android's PackageManager, froze the UI, killed WiFi overnight, and eventually caused the phone to hang completely (touch unresponsive, ADB unreachable).
Root Cause: Android's init.rc defined the boot service with boot-wrapper.sh, which called the boot script then sleep 1800 (30 min). When sleep ended, init restarted the service, creating an infinite 30-minute loop.
Fix: Changed boot-wrapper.sh to call boot-auto.sh directly (not backgrounded). boot-auto.sh now ends with a health monitor loop that never exits, so init never restarts it.