本帖最后由 tm5880891 于 2020-3-25 02:33 编辑 . I: n% w2 Y+ p- a z( ]5 T# I. }
* y/ ~5 {* h- _/ a
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" $ ]/ }! a O$ \& X6 U6 A0 K0 Z; o# t
这就是所有的分区内容了
, E0 ^( e3 v6 M5 k
要求:需要使用 dd 命令依次取出这些分区里的内容 1 L+ a4 }. J j' v( g. z, n
2.因中兴光猫自带的busybox 没有 dd 命令,因此需要导入一个带有dd命令的busybox
+ Q* a, V6 |: v* D9 I3 O: |
导入前要先查看光猫 CPU 信息,方便导入对应的busybox - ]/ s2 b( ~! u: ?
/ # 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
# C1 e' M! z# p B8 Q' cHardware : HGU R evision : 0000 Serial : 0000000000000000 / #
0 Q7 B- K1 L* O# i4 l注意到 Processor 为 ARMv7 Processor rev 1 (v7l) * K( p5 B) h( [; X- U& }
因此得导入arm v7l 版本的 busybox $ A! |) g/ A6 R3 l
在所在文件的目录下开启tftpd软件 cd /tmp tftp -g -r busybox-armv7l -l busybox-armv7l 192.168.1.2 chmod +x busybox-armv7l mv busybox-armv7l busybox , U& p# Q. m' ]
3.开始拷贝文件
" H" R6 [+ h9 Q7 @/ Y5 Q' V
cd /tmp% o3 ?2 n J4 J G: Y7 c: Z$ M
dd if=/dev/mtd1 of=/tmp/u-boot.bin # 打包分区 tftp -l u-boot.bin -p 192.168.1.2 # 上传打包的分区到本地 tftp 服务器
6 Q0 J: E3 [& Z3 i c6 `* S至此,按各分区大小和所在目录分别传输完毕... 7 F$ X( W; g+ {' {7 g' x; S
4 }8 j z, k; {5 ` V
6 z1 w% I2 \% O0 S7 Y4 Q; { E9 W l' Q5 {/ D
* [: n; z5 J$ J0 |5 C' J, ~ |