Skip to content

Developer Recovery

Tim edited this page Aug 15, 2026 · 3 revisions

Recovering a NebulaOS printer

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:

  1. Automatic fallbackLIVE_HARDWARE_VERIFIED. No user action; see S00revert-safety / S99confirm-good in A/B Slot Model. Known limitation: depends on userspace reaching far enough to run S00revert-safety at all — NOT_PROVEN against a kernel/rootfs that never boots that far.
  2. Manual SSH slot switchLIVE_HARDWARE_VERIFIED. write_ota_marker (custom) or local_set_next_boot_device (stock) + reboot. Erases nothing on either side.
  3. USB recovery to stockLIVE_HARDWARE_VERIFIED, emergency-only. Uses ballaswag/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.
  4. Manual repair via SSH — no canonical repair script exists beyond §1–3. NOT_PROVEN, not invented here.
  5. Complete factory restoreNOT_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.

Clone this wiki locally