# 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.