OreBolt-OS/overlay/data/stock_backup
Jeremy Anderson 0d3bcabcfc A hackable pocket rig for the HiFiWalker H2 digital audio player and its rebadged siblings (Surfans F20, Aigo Eros Q, Phinistec Z6, Agptek H3). All of these devices share the same Ingenic X1000E (JZ4760 family) SoC and run a Linux userspace that OreBolt OS extends with 17 LVGL UI modules, a hardware panic-purge subsystem, a 150-payload HID macro matrix, a unified BLE/WiFi proximity alarm with radar display, and an AGPL-licensed mesh networking layer. 2026-07-14 15:59:36 -04:00
..
README A hackable pocket rig for the HiFiWalker H2 digital audio player and its rebadged siblings (Surfans F20, Aigo Eros Q, Phinistec Z6, Agptek H3). All of these devices share the same Ingenic X1000E (JZ4760 family) SoC and run a Linux userspace that OreBolt OS extends with 17 LVGL UI modules, a hardware panic-purge subsystem, a 150-payload HID macro matrix, a unified BLE/WiFi proximity alarm with radar display, and an AGPL-licensed mesh networking layer. 2026-07-14 15:59:36 -04:00

README

# Stock Firmware Backup Convention

## Purpose

OreBolt OS and the stock Hiby Player firmware both boot from the
FAT32 MicroSD card.  The SPI flash bootloader is never modified.
This directory holds a snapshot of the stock firmware so the System
Tools module can restore the device to its factory state.

## How the backup is created

On the **first deployment only**, run:

```bash
SD_CARD_MOUNT=/mnt/h2-sd ./build.sh --deploy --backup-stock
```

This snapshots the following paths from the stock SD card into this
directory, before any OreBolt OS files are written:

```
data/stock_backup/
  usr/bin/          Stock binaries (including hiby_player)
  usr/lib/          Stock shared libraries
  etc/inittab       Stock init configuration
  etc/init.d/       Stock init scripts
  res/              Stock resources (fonts, themes, assets)
  setting/          Stock player settings and database
```

## How the restore works

The System Tools module (reset.mod) reads from this directory when
the operator selects "HIBY PLAYER -- Restore stock FW":

1. Stops all OreBolt OS init scripts (S98retro-input, S99broker, bt_input_daemon)
2. Removes /apps/*.mod (all module binaries)
3. Removes /usr/bin/h2_test and /usr/bin/retro_input_mapper
4. Removes OreBolt init scripts from /etc/init.d/
5. Removes /usr/lib/liblvgl.so
6. Restores stock files from /data/stock_backup/ back to their
   original locations (/usr/bin/, /usr/lib/, /etc/, /res/, /setting/)
7. Calls sync() and reboots

After reboot, the device loads the original Hiby Player -- the music
player that shipped from the factory.

## User-installed Rockbox

OreBolt OS does not ship, bundle, or install Rockbox.  If the user
has installed Rockbox on the SD card independently, the System Tools
module detects its presence (`.rockbox/` or `rockbox/` at the SD card
root) and offers a reboot option.  No OreBolt OS files are modified
when booting to Rockbox -- a reboot is sufficient for the user's
Rockbox installation to load.