openwrt的固件一般分兩種類型:factory原廠固件、sysupgrade固件
factory多了一些驗證的東西,用於在原廠固件的基礎上進行升級。
普通家用路由一般不是openwrt固件,如果要將家用路由升級為openwrt固件,就可以用factory刷到路由上。sysupgrade是在openwrt路由基礎上升級固件,無論你是原廠固件或者本身就是openwrt固件,要升級到openwrt,factory都適用,但是sysupgrade只能用在升級,TTL救磚的時候就不能用sysupgrade。sysupgrade不包含數據分區,factory帶,factory預留原廠分區,sysupgrade只包含openwrt分區。
有一個公式:sysupgrade.bin+空閑空間+系統的配置空間=factory.bin的大小
在openwrt wiki中有專門描述sysupgrade:
sysupgrade替換linux內核和squash文件系統,擦除整個jffs2部分。能保留配置文件,但不能保留二進制安裝文件。
描述了幾種sysupgrade方法,但沒有描述在web界面的更新,也沒有描述factory和sysupgrade的區別。
描述的更新方法為:
sysupgrade -v /tmp/openwrt-ar71xx-generic-wzr-hp-ag300h-squashfs-sysupgrade.bin
mtd -r write /tmp/openwrt-ar71xx-generic-wzr-hp-ag300h-squashfs-sysupgrade.bin firmware
nc -l -p 1234 | mtd write – firmware