撰于 阅读 11

光猫固件备份与刷机教程

在进行固件刷写之前,首先需要备份当前的固件,以确保在操作过程中出现任何问题时可以恢复到原始状态。执行命令时,请确保逐行输入,避免因输入错误导致操作失败。本教程将指导您如何在不拆解设备的情况下,通过telnet登录光猫进行固件备份和刷入。首先,您需要解锁telnet登录功能,以便能够远程访问设备。

查看分区

使用命令 cat /proc/mtd 可以查看设备上的分区信息。输出结果将显示每个分区的设备编号、大小、擦除大小以及分区名称。例如:

/dev/mtd0: 10000000 00020000 "whole flash"
/dev/mtd1: 00300000 00020000 "u-boot"
/dev/mtd2: 00200000 00020000 "others"
/dev/mtd3: 00400000 00020000 "parameter tags"
/dev/mtd4: 00400000 00020000 "wlan"
/dev/mtd5: 00800000 00020000 "usercfg"
/dev/mtd6: 01000000 00020000 "framework"
/dev/mtd7: 01000000 00020000 "framework1"
/dev/mtd8: 00200000 00020000 "dbus"
/dev/mtd9: 03000000 00020000 "kernel1"
/dev/mtd10: 03000000 00020000 "kernel2"
/dev/mtd11: 06800000 00020000 "plugin_data"
/dev/mtd12: 02a60000 00020000 "rootfs1"
/dev/mtd13: 02800000 00020000 "rootfs2"

查看内核分区情况

使用命令 cat /proc/csp/versionstates 可以查看内核分区的情况,包括基址、当前运行的分区代号以及版本状态。例如:

baseaddress : 0x4700000
current     : 1
version1states : 0x83
version2states : 0x83

其中,baseaddress 是当前运行的分区在闪存中的起始位置,current 是当前运行的分区代号。

查看当前启动的内核分区

使用命令 fw_flashing 可以查看当前启动的内核分区信息,例如:

baseaddr:4700000, curpdev=/dev/mtd10, offset=0

通过上述命令,您可以判断系统当前启动的内核分区,并将固件写入另一个未被使用的分区,以避免直接覆盖正在运行的内核分区,从而降低写入失败的风险。请根据实际情况选择合适的分区进行操作。


评论已关闭