55 lines
1.9 KiB
Plaintext
Executable File
55 lines
1.9 KiB
Plaintext
Executable File
# 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. |