Skip to content
Ziednaga edited this page Oct 29, 2026 · 2 revisions

By the moment there is no built-in OTA updater. A GSI has to support too many devices and vendor implementations for that, so updates are flashed manually over the existing installation (dirty flash).

  • Back up your data before updating.
  • Keep the previous RestlessOS image, so you can go back if the new one doesn't boot.
  • A dirty flash isn't guaranteed to boot on every device. If it doesn't, flash the previous image back or do a clean install.

Fastboot

adb reboot fastboot
fastboot flash system RestlessOS-arm64-ab-<version>.img
fastboot reboot

If you installed RestlessOS to a different partition, flash the update to that same partition.

TWRP / OrangeFox

Go to Install > Install Image, select the new .img and flash it to the same partition RestlessOS is installed on. No wipe is needed.

Delta downloads with zsync2

Each build has a .zsync file in its zsync/ folder on build.chrisaw.io. With zsync2 only the changed blocks are downloaded:

zsync2 <url to .zsync file> -i <path to previous .img>

Point -i at the extracted .img, not the .img.xz. Decompress it first with xz -dk <file>.img.xz if needed.

If you run into issues after updating, try a clean install before reporting them.

Clone this wiki locally