Files
DarKE/FIRMWARE_NOTES.md
T
Dark98 c0dd058ae7 Initial Commit
Fimeware Pre-Rooted, Builds & Flashes
2026-07-12 18:19:18 +00:00

3.0 KiB

Ender-3 V3 KE Firmware Notes

Stock firmware source

  • Downloaded official image: Ender-3_V3_KE_F005_ota_img_V1.1.0.17.img
  • Official version: V1.1.0.17
  • Manifest layers inside the archive:
    • xImage (kernel)
    • rootfs.squashfs (rootfs)
    • zero.bin (rtos)

7z archive password

The official Creality firmware archive is password-protected.

Password:

$1$cxswfile$ZFd0RWFYkJQugbtKVGL9y0

Workspace layout

  • Stock archive cache: ./Ender-3_V3_KE_F005_ota_img_V1.1.0.17.img
  • Overlay tree for our changes: ./overlay_rootfs/
  • Build cache: ./build/_toolcache/squashfs-tools-ng-1.3.2-mingw64/
  • Temporary build workspace: whichever directory you pass with --build-dir

Useful edit points in the stock rootfs

  • Klipper startup/service hook: rootfs_extract/etc/init.d/S55klipper_service
  • WebRTC startup/service hook: rootfs_extract/etc/init.d/S97webrtc
  • Stock printer profile:
    • rootfs_extract/usr/share/klipper/config/F005/printer.cfg
    • rootfs_extract/usr/share/klipper/config/F005/gcode_macro.cfg
    • rootfs_extract/usr/share/klipper/config/F005/printer_params.cfg
  • Runtime printer config is copied into /usr/data/printer_data/config/ on the device

Notes

  • The shipped .img file is a 7z archive, not a raw flash image.
  • The build flow starts from the stock archive, overlays overlay_rootfs/, and repacks the result.
  • The helper uses native rdsquashfs and gensquashfs on Linux. Install squashfs-tools-ng so those binaries are on PATH. On Windows it uses the bundled rdsquashfs.exe / gensquashfs.exe tools from squashfs-tools-ng.
  • The repack path is metadata-preserving: it reuses the stock SquashFS layout so symlinks and execute bits survive the round trip.
  • xImage.full is a stock U-Boot uImage kernel blob. Its raw payload can be derived if kernel-side edits are needed.
  • Stock-updater-facing version scheme in this workspace: 11034
  • UI/display version stays on the dotted printer-side label v1.1.0.33
  • The display/version string is sourced from overlay_rootfs/etc/ota_info.
  • The firmware image is intended to flash through the stock USB updater without any manual printer-side file edits.
  • The helper build process keeps the stock updater happy by using the numeric package version and stock archive layout.

Rebuild

Use the helper script:

python .\tools\ke_firmware.py build --build-dir D:\DarKE_build --stock-archive .\Ender-3_V3_KE_F005_ota_img_V1.1.0.17.img --overlay-dir .\overlay_rootfs --output .\build\DarKE_KE_F005_ota_img_V11034.img

Compare the rebuilt rootfs against stock, allowing only the overlay tree to differ:

python .\tools\ke_firmware.py compare --stock-archive .\Ender-3_V3_KE_F005_ota_img_V1.1.0.17.img --rebuilt-archive .\build\DarKE_KE_F005_ota_img_V11034.img --overlay-dir .\overlay_rootfs

Stock-safe flash summary

  • Put the generated DarKE_KE_F005_ota_img_V11034.img on a USB drive.
  • Flash it with the printer's built-in updater.