Pulling the power 200 times mid-OTA on an Orin NX
Avocado 1.0.0 · JetPack 7.2 · Orin NX 16GBTL;DR. We scripted 200 power cuts at random points during an A/B OTA update on an Orin NX. Zero bricks — every device booted the last-known-good slot. Two early runs did fail, and the cause wasn't the bootloader.
What this is
Peridio builds Avocado OS, an immutable embedded Linux runtime for devices like NVIDIA Jetson. Its updates are A/B and atomic: a failed or interrupted update should always fall back to the previously working slot. We wanted to know how literally true "always" is, so we tried to break it on purpose.
How we did it
[Relay-controlled PSU, the update payload, the randomized power-cut harness, commands + output.]
What we learned
[200 forced interruptions, zero bricks at steady state; what the boot logs show on recovery.]
What didn't work
[Two early failures traced to a data-partition sync gap, not the OS slots; the fix and why it mattered.]
Reproduce it
[Link to the power-cycle harness repo + step-by-step.]