mirror of
https://github.com/Klipper4FlashForge/firmware.git
synced 2026-10-22 05:12:16 -05:00
Builds a modified FlashForge update package that the printer installs by itself from a USB stick, reusing FlashForge's own updater rather than a parallel one. Integration is a single file: /usr/prog/PROGRAM/software/firmwareExe is replaced with a shell script. Everything funnels through that binary, so app_startup.sh, rcS and the init chain stay completely stock. The genuine binary is kept as firmwareExe.stock and remains the default UI. Key findings from the stock firmware, each enforced by a test: - components named *.tar.xz are PLAIN tar; the installer runs bare `tar -xvf` - the .tgz is DES3-encrypted plain tar, not gzip - nothing in init starts Klipper -- firmwareExe runs start.sh, so replacing the UI without S70klipper leaves a printer that cannot move - the installer wipes the software dir before run.sh, so an uninstall package must ship the genuine firmwareExe rather than back one up - ssh already works: stock ships dropbear + an enabled S50dropbear, only the root password is missing Brick-safety is designed in, not bolted on: a five-rung profile ladder starting with a probe that changes nothing, a container-based simulation that actually runs the installer and asserts the printer would still boot, an uninstall round-trip test, and a SAFE-MODE latch for UI crash loops. 75 checks pass. Not yet run on hardware.
17 lines
456 B
Bash
17 lines
456 B
Bash
# STAGE 3 -- everything: forked Klipper, toolchanger, HelixScreen.
|
|
#
|
|
# This is the only profile that replaces the Klipper tree. Do not flash it
|
|
# until stages 0-2 have come back clean on your machine, and keep the
|
|
# uninstall stick (bin/make-uninstall.sh) within reach.
|
|
PROFILE_DESC="stage 3: forked Klipper + toolchanger + Mainsail + HelixScreen"
|
|
|
|
MOD_REPORT=1
|
|
MOD_APPLY=1
|
|
|
|
MOD_KLIPPER=fork
|
|
MOD_TOOLCHANGE=1
|
|
MOD_MAINSAIL=1
|
|
MOD_HELIX=1
|
|
MOD_SSH=1
|
|
MOD_WEB=1
|