-
Notifications
You must be signed in to change notification settings - Fork 1
Developer Recovery
Tim edited this page Aug 15, 2026
·
3 revisions
Developer / advanced testing documentation. Full detail: docs/DEVELOPER_RECOVERY.md — this page is a summary. See also the less-technical docs/HOW_TO_SWITCH_STOCK_AND_CUSTOM.md.
Ranked least to most invasive:
-
Automatic fallback —
LIVE_HARDWARE_VERIFIED. No user action; seeS00revert-safety/S99confirm-goodin A/B Slot Model. Known limitation: depends on userspace reaching far enough to runS00revert-safetyat all —NOT_PROVENagainst a kernel/rootfs that never boots that far. -
Manual SSH slot switch —
LIVE_HARDWARE_VERIFIED.write_ota_marker(custom) orlocal_set_next_boot_device(stock) + reboot. Erases nothing on either side. -
USB recovery to stock —
LIVE_HARDWARE_VERIFIED, emergency-only. Usesballaswag/ingenic-usbboot(third party, unpinned) in mask-ROM mode via two board buttons. Only changes the OTA marker partition — does not flash kernel/rootfs or touch the bootloader. -
Manual repair via SSH — no canonical repair script exists beyond §1–3.
NOT_PROVEN, not invented here. -
Complete factory restore —
NOT_PROVEN,EXTERNAL_TO_NEBULAOS. Creality's own official recovery tooling; this project doesn't provide, redistribute, pin, or has ever run it.
Data persistence across slots: printer.cfg/macros, Z offset/mesh, WiFi credentials, Moonraker
state, GuppyScreen config/theme, and G-code uploads are PERSISTENT_ACROSS_SLOT_SWITCH
(several LIVE_HARDWARE_VERIFIED). Logs are REGENERATED. Mainsail config and camera
config/timelapses are genuinely UNKNOWN — not assumed either way.
See also: A/B Slot Model, Developer Update.
Building
Install / update / recover
Reference