本帖最后由 tm5880891 于 2020-3-25 02:33 编辑 * T& g3 _% a9 f& Y1 M4 M" H' C9 Q
1 W! D: u; c! ^; k
1.通过/proc虚拟文件系统读取MTD分区表: / # cat/proc/mtd dev: size erasesize name mtd0: 0800000000020000 "whole flash" mtd1: 0020000000020000 "u-boot" mtd2: 0040000000020000 "parameter tags" mtd3: 0140000000020000 "kernel0" mtd4: 0040000000020000 "middleware" mtd5: 0080000000020000 "usercfg" mtd6: 0140000000020000 "kernel1" mtd7: 0060000000020000 "others" mtd8: 0040000000020000 "wlan" . k: A7 [+ e' g+ ]# B5 g" d
这就是所有的分区内容了
: _" k3 S# ?" l5 K' \
要求:需要使用 dd 命令依次取出这些分区里的内容
" J3 K# d) C; c) h' e5 C
2.因中兴光猫自带的busybox 没有 dd 命令,因此需要导入一个带有dd命令的busybox 2 e- R% S0 x! D; Z
导入前要先查看光猫 CPU 信息,方便导入对应的busybox
0 b) k2 k/ d. F" F/ # cat/proc/cpuinfo Processor : ARMv7 Processor rev 1 (v7l) BogoMIPS : 1599.07 Features : swp half fastmult edsp CPU implementer: 0x41 CPUarchitecture: 7 CPUvariant : 0x4 CPU part : 0xc09 CPUrevision : 1 4 s8 L9 w1 }, W" n
Hardware : HGU R evision : 0000 Serial : 0000000000000000 / # 6 T3 z' B7 [, B8 q7 \! t
注意到 Processor 为 ARMv7 Processor rev 1 (v7l)
. z0 _" ^7 z2 A$ E! T- P因此得导入arm v7l 版本的 busybox / ?, s( Z7 C) i3 A
在所在文件的目录下开启tftpd软件 cd /tmp tftp -g -r busybox-armv7l -l busybox-armv7l 192.168.1.2 chmod +x busybox-armv7l mv busybox-armv7l busybox - H, \8 v0 L# T/ W: u
3.开始拷贝文件
$ z* ]2 j+ Y2 `; Z3 P
cd /tmp
+ h$ q r9 d; p1 {1 a dd if=/dev/mtd1 of=/tmp/u-boot.bin # 打包分区 tftp -l u-boot.bin -p 192.168.1.2 # 上传打包的分区到本地 tftp 服务器
0 b3 G( T* x4 | M9 ~+ M至此,按各分区大小和所在目录分别传输完毕...
( j# g+ e' i. d% K2 a
h, r( U' F3 h8 V
: E; {- v3 V+ A E# P4 x5 p1 g- o! ?( v/ N* r$ x
# ~+ ~4 S+ g7 X$ }) s |