-
Notifications
You must be signed in to change notification settings - Fork 1
Developer Recovery
Tim edited this page Aug 15, 2026
·
3 revisions
Full detail lives in docs/DEVELOPER_RECOVERY.md — this page is the short version. There's also a less technical walkthrough at docs/HOW_TO_SWITCH_STOCK_AND_CUSTOM.md.
From easiest to worst case:
-
It just fixes itself — no action needed. See
S00revert-safety/S99confirm-goodin A/B Slot Model. One caveat: this only works if the kernel/rootfs actually gets far enough to run that logic — a kernel that never boots that far is the one case where this doesn't help. -
Switch slots over SSH —
write_ota_marker(custom) orlocal_set_next_boot_device(stock), then reboot. Doesn't erase anything on either side. -
USB recovery to stock — the emergency option, using
ballaswag/ingenic-usbbootin mask-ROM mode via two board buttons. Only touches the OTA marker — doesn't flash a kernel/rootfs or touch the bootloader. - Manual repair over SSH — ordinary root access, but no dedicated repair script exists beyond the options above. We haven't built one.
- Full factory restore — Creality's own official recovery tooling. Not something NebulaOS provides, pins, or has run itself.
What survives a slot switch: printer.cfg/macros, Z offset/mesh, WiFi credentials, Moonraker
state, GuppyScreen config/theme, and G-code uploads all do (several confirmed on real hardware).
Logs don't, but that's expected — they rotate anyway. Mainsail config and camera
config/timelapses genuinely aren't verified either way.
See also: A/B Slot Model, Developer Update.
Building
Install / update / recover
Reference