Files
Dark98 c0dd058ae7 Initial Commit
Fimeware Pre-Rooted, Builds & Flashes
2026-07-12 18:19:18 +00:00

50 lines
2.0 KiB
Markdown

# Ender-3 V3 KE firmware workspace
This repo contains a stock KE firmware image, a small overlay tree of our changes, and a helper script for rebuilding an `.img` package.
## Files
- `FIRMWARE_NOTES.md`: archive password and firmware layout notes
- `tools/ke_firmware.py`: extract/rebuild helper
- `requirements.txt`: Python dependency list for the helper script
## Python setup
Install the helper dependency with:
```bash
pip install -r requirements.txt
```
On Linux, install `squashfs-tools-ng` so `gensquashfs` and `rdsquashfs` are
available on `PATH`. On Windows, the helper uses the bundled `.exe` tools.
## Rebuild flow
```powershell
python .\tools\ke_firmware.py 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
```
If the stock archive is missing, pass `--stock-url` and the helper will download it before extracting.
If your `C:` drive is tight, point `--build-dir` at a larger drive so the stock rootfs can be unpacked there.
The build step downloads or reuses the stock archive, extracts it, overlays `overlay_rootfs/`, rebuilds the root filesystem with the Windows `squashfs-tools-ng` binaries, and repacks the Creality image envelope with `py7zr`.
The rebuild is metadata-preserving, so stock symlinks and executable bits survive the round trip.
## Compare flow
```powershell
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
```
Use this after a build to confirm the rebuilt rootfs still matches stock everywhere except the overlayed files.
## Stock flash flow
1. Copy the generated `.img` to a USB drive.
2. Insert the USB drive into the Ender-3 V3 KE.
3. Use the built-in updater to flash the image.
4. After reboot, the firmware reports the UI/display version from the package metadata.
This flow does not require manual edits on the printer itself.