本帖最后由 tm5880891 于 2020-3-25 02:33 编辑
- H" u. u( H# ?& A. M! S/ S1 B1 J6 k7 n
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"
( {/ I. C* B( K% } q$ O
这就是所有的分区内容了
3 o! S9 ^5 U5 ]
要求:需要使用 dd 命令依次取出这些分区里的内容
% g" _# z- l5 u) w, m) G
2.因中兴光猫自带的busybox 没有 dd 命令,因此需要导入一个带有dd命令的busybox
Z5 T- T7 r; ~
导入前要先查看光猫 CPU 信息,方便导入对应的busybox 3 m. a5 x3 M8 l8 v4 `
/ # 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
/ d/ i" f7 S; V$ p( @6 f# O9 ~- {1 n1 tHardware : HGU R evision : 0000 Serial : 0000000000000000 / # 1 e* k$ F/ F7 y0 |3 T
注意到 Processor 为 ARMv7 Processor rev 1 (v7l)
9 t6 Y( x! e B5 i$ W因此得导入arm v7l 版本的 busybox
- j8 Y$ s0 Z6 v$ y+ h) \$ v
在所在文件的目录下开启tftpd软件 cd /tmp tftp -g -r busybox-armv7l -l busybox-armv7l 192.168.1.2 chmod +x busybox-armv7l mv busybox-armv7l busybox : N- R- x7 |) l$ K- ~+ C
3.开始拷贝文件 3 @1 Z. i# m3 d* F. o% z5 ~* t
cd /tmp
D# A$ F# J9 I P e; r. z( l: m! o dd if=/dev/mtd1 of=/tmp/u-boot.bin # 打包分区 tftp -l u-boot.bin -p 192.168.1.2 # 上传打包的分区到本地 tftp 服务器 : J' c6 h: Y& Y9 ^, w1 H; k
至此,按各分区大小和所在目录分别传输完毕...
- s/ r+ Y- Y( C! o( R" s8 X' t1 ? X$ B& } C
+ d/ ]. q, S( ?4 C( { [
9 ~4 S% h# o9 ]2 i
! w6 L0 S' z' l! j, K |