This project automates fetching the latest Creality Nebula firmware, rooting it, and repacking it into a new image.
downloads the official Creality Nebula firmware, extracts it, and repacks a rooted version with
the following modifications:
- Enables ssh/root access and injects a new root password
- Adds the
script to
/rootwhich installs and runs thefor installing Klipper, SimplyPrint, and other related tools.
- Adds a factory reset option by checking if a file named
factory_resetexists on the USB stick
- Download the latest
NEBULA_ota_img_V6.*.imgfile from the - Transfer it to the USB stick that came with the Nebula
- Insert it into the Nebula and press the Upgrade button, once the firmware upgrade pop-up appears, and wait for the installation to finish
- Go to Settings -> Network on the Nebula, and find it´s IP address
- Connect to the Nebula over ssh with it´s IP address and the user
rootwith the passwordcreality - Run the Creality Helper Script by running
./installer.sh - Choose
1) [Install] Menuonce the script has launched, and install the following:1) Moonraker and Nginx2) Fluidd (port 4408)or3) Mainsail (port 4409)5) Klipper Gcode Shell Command10) Nebula Camera Settings Control11) USB Camera Support17) SimplyPrint
- Enable the Nebula camera by navigating to
5) [Tools] Menuin the main menu, and choose3) Enable camera settings in Moonraker - Open a browser and navigate to
http://[YOUR IP]:[Fluidd/Mainsail port], e.g.http://192.168.0.42:4409, to open the Mainsail or Fluidd instance
Warning
Performing a factory reset will permanently delete all user-installed software, custom configurations, and most stored data. Only your Wi-Fi settings, printer identity, and essential system configuration files will be preserved.
- Add an empty file named
factory_reset(no file extension) to the USB stick - Turn off the Nebula, insert the USB stick, and turn it on again
- Wait until the Nebula has booted up completely
The upgrade pop-up will show up, if the rooted firmware is present on the USB stick, which indicates a successful factory reset.
7z
wget
mksquashfs
unsquashfs
openssl # (or mkpasswd)
To run get-version.py and automatically fetch the latest firmware version and download link, you need:
uv # https://github.com/astral-sh/uv
python3
- Clone or download the repository and navigate into it.
git clone https://github.com/SimplyPrint/printer-nebula-firmware cd printer-nebula-firmware - You can either:
- Choose a firmware version and find the download link for it on Creality's website.
- Run
get-version.pyto fetch the newest firmware version and download link.
uv run get-version.py
- Set the firmware version and download link variables.
export CREALITY_VERSION=<PASTE_FW_VERSION_HERE> export DOWNLOAD_URL=<PASTE_LINK_HERE>
ROOT_PASSWORDsets the root user password (defaults tocreality). - Run the script (it may ask for your password).
The script will create a custom
./create.sh
.imgfile in the current directory.



