Downgrading ZimaOS using RAUC offline install (A/B slot method)
After upgrading to ZimaOS 1.6.2, I experienced an issue where AppData migration was not working correctly. I successfully downgraded back to ZimaOS 1.6.1 using the built-in RAUC A/B update mechanism without losing user data.
Important notes
ZimaOS uses an A/B partition scheme:
-
The currently running system is stored in one slot (A or B).
-
Updates are written to the inactive slot.
-
User data is not overwritten during this process.
Before starting, check the current RAUC status:
rauc status
My initial state:
Booted from: kernel.0 (A)
kernel.0 (A)
boot status: good
rootfs.0
active
kernel.1 (B)
inactive
boot status: bad
rootfs.1
inactive
1. Download the required ZimaOS version
Download the RAUC bundle for the desired version.
Example:
zimaos-x86_64-1.6.1.raucb
2. Copy the file to the offline update folder
Copy the file to:
/ZimaOS-HD/.ota/offline/
In my case, the file was available as:
/DATA/.ota/offline/zimaos-x86_64-1.6.1.raucb
3. Verify the RAUC bundle
Before installing, check the bundle:
rauc info /DATA/.ota/offline/zimaos-x86_64-1.6.1.raucb
The important information:
Verified inline signature by 'O = IceWhale Technology, CN = IceWhale Technology Development-1'
Compatible: 'zimaos-zimacube'
Version: '1.6.1'
The signature was valid and the bundle matched my ZimaCube.
4. Install the downgrade package
Run:
sudo rauc install /DATA/.ota/offline/zimaos-x86_64-1.6.1.raucb
RAUC writes the system image to the inactive slot.
In my case:
-
Current system: Slot A (1.6.2)
-
New system: Slot B (1.6.1)
After installation, before reboot:
Booted from: kernel.0 (A)
Activated: kernel.1 (B)
kernel.1 (B)
boot status: good
5. Reboot
Restart the system:
sudo reboot
After reboot, verify the active slot:
rauc status
My final state:
Booted from: kernel.1 (B)
Activated: kernel.1 (B)
kernel.0 (A)
boot status: good
inactive
kernel.1 (B)
boot status: good
booted
rootfs.1
active
Verify the installed version:
cat /etc/os-release
Result:
PRETTY_NAME="ZimaOS v1.6.1"
VERSION_ID=1.6.1
Result
The downgrade was successful:
-
ZimaOS was downgraded from 1.6.2 to 1.6.1.
-
The A/B slot mechanism worked correctly.
-
The previous 1.6.2 installation remained available in slot A.
-
User data was preserved.
-
AppData migration started working again on 1.6.1.
Warning
Use this method at your own risk.
Although this procedure uses the official RAUC mechanism built into ZimaOS, it is still recommended to have a backup of important data before performing a downgrade.
This was tested on a ZimaCube with:
ZimaOS 1.6.2 → ZimaOS 1.6.1