Skip to content

Developer Recovery

Tim edited this page Aug 15, 2026 · 3 revisions

Recovering a NebulaOS printer

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:

  1. It just fixes itself — no action needed. See S00revert-safety/S99confirm-good in 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.
  2. Switch slots over SSHwrite_ota_marker (custom) or local_set_next_boot_device (stock), then reboot. Doesn't erase anything on either side.
  3. USB recovery to stock — the emergency option, using ballaswag/ingenic-usbboot in mask-ROM mode via two board buttons. Only touches the OTA marker — doesn't flash a kernel/rootfs or touch the bootloader.
  4. Manual repair over SSH — ordinary root access, but no dedicated repair script exists beyond the options above. We haven't built one.
  5. 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.

Clone this wiki locally