• v0.2.0 09d261a2b2

    gitops released this 2026-10-30 14:54:32 +00:00 | 2 commits to main since this release

    Persistent OpenWrt boot on the ZTE ZXHN F670L (ZX279128S).

    The vendor fsload whole-flash JFFS2 loader cannot reconstruct the large incompressible OpenWrt 0uImage on-device (corrupt from ~chunk 33 regardless of inode/compression/isolation; byte-perfect offline). This release therefore boots the kernel from a RAW NAND copy via a patched bootloader, bypassing fsload.

    Artifacts

    • bootloader-mod-final2.bin — patched bootloader: default bootcmd does setenv bootargs console=ttyAMA0,115200n8; nand read 0x43000000 0x3a00000 0xcfeb8f; bootm 0x43000000; and the fsload_skip_bad_offset flood is NOP'd. Install at NAND offset 0x0.
    • openwrt-f670l-initramfs.uImage — OpenWrt kernel (13,626,255 B), written RAW to NAND 0x3a00000.
    • f670l-flash — on-device partition/flash tool.
    • HANDOVER.md — full procedure, RE notes, and caveats.

    Install

    tftp 0x43000000 openwrt-f670l-initramfs.uImage
    nand erase 0x3a00000 0x2000000
    nand write 0x43000000 0x3a00000 0xcfeb8f
    tftp 0x44000000 bootloader-mod-final2.bin
    nand erase 0x0 0x180000
    nand write 0x44000000 0x0 0x180000
    # power-cycle -> OpenWrt boots automatically
    

    CAUTION: the bootloader write (0x0-0x180000) is the one operation with permanent brick risk if done wrong; there is no backup U-Boot copy. See HANDOVER.md §9.

    Downloads