Downgrading ZimaOS using RAUC offline install (A/B slot method)

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
1 Like