mirror of
https://github.com/openwrt/openwrt.git
synced 2026-10-14 10:57:56 +04:00
This commit introduces OpenWrt U-Boot UBI layout support for the COMFAST CF-WR632AX, enabling: - Prolonged device lifetime by allocating most of the flash to UBI (which takes care of wear-leveling) - Maximum available storage space for OpenWrt - Fully-featured U-Boot - Effective recovery mechanisms OpenWrt U-Boot UBI flash instructions ------------------------------------- A device running stock firmware should be upgraded to the latest standard OpenWrt firmware (https://firmware-selector.openwrt.org/?target=mediatek%2Ffilogic&id=comfast_cf-wr632ax). Back up critical data --------------------- Console: 1. While the device is running OpenWrt with stock MTD partitions: mtd dump BL2 > /tmp/BL2.bin mtd dump u-boot-env > /tmp/u-boot-env.bin mtd dump Factory > /tmp/Factory.bin mtd dump FIP > /tmp/FIP.bin 2. Copy the backup files to your PC via SCP. LuCI Web-UI: "System" -> "Backup / Flash Firmware" -> "Save mtdblock contents" Save mtdblock: BL2 u-boot-env Factory FIP Make sure the files were successfully downloaded to your downloads directory, especially the Factory file. Using the installer image ------------------------- To simplify the installation process, this method uses a fork of Daniel Golle's (@dangowrt) UBI Installer https://github.com/dangowrt/owrt-ubi-installer 1. Ensure your router is running the latest generic OpenWrt firmware. Upgrade it if necessary. 2. Obtain the installer image: Build the installer from source https://github.com/andros-ua/owrt-ubi-installer/tree/cf-wr632ax or download a prebuilt image from the https://github.com/andros-ua/owrt-ubi-installer/releases 3. Flash the openwrt*-ubi-initramfs-recovery-installer.itb image using sysupgrade. 4. Wait for installation: the green status LED will blink rapidly, indicating that the all-in-UBI installer is running. 5. Once the installation finishes, the status LED will turn solid amber for 5 seconds. 6. After the device reboots, perform a final sysupgrade using the openwrt*-ubi-squashfs-sysupgrade.itb image. Return to stock MTD ------------------- 1. Flash openwrt*comfast_cf-wr632ax-initramfs-kernel.bin via sysupgrade 2. Copy files to /tmp on the device via SCP: BL2.bin u-boot-env.bin Factory.bin FIP.bin openwrt*-squashfs-sysupgrade.bin 3. Restore stock MTD partitions: apk add kmod-mtd-rw insmod mtd-rw i_want_a_brick=1 mtd write /tmp/BL2.bin BL2 mtd write /tmp/u-boot-env.bin u-boot-env mtd write /tmp/Factory.bin Factory mtd write /tmp/FIP.bin FIP 4. Install the system: sysupgrade /tmp/*sysupgrade.bin BL2 and FIP Recovery -------------------- Use mtk_uartboot to recover corrupted BL2 or FIP via UART: https://github.com/981213/mtk_uartboot Stock layout ---------------------------------------- | dev: size erasesize name | | mtd0: 00100000 00020000 "BL2" | | mtd1: 00080000 00020000 "u-boot-env" | | mtd2: 00200000 00020000 "Factory" | | mtd3: 00200000 00020000 "FIP" | | mtd4: 07000000 00020000 "ubi" | ---------------------------------------- OpenWrt U-Boot UBI layout ---------------------------------- | dev: size erasesize name | | mtd0: 00100000 00020000 "bl2" | | mtd1: 07f00000 00020000 "ubi" | ---------------------------------- Signed-off-by: Andrii Kuiukoff <andros.ua@gmail.com> Link: https://github.com/openwrt/openwrt/pull/23981 Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>