本帖最后由 tm5880891 于 2020-3-25 02:33 编辑
% y6 @( Q- u. s: c+ E9 `5 t2 s6 U" [3 W& P5 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"
' K3 i5 `6 Q" E: l9 ^; n7 q
这就是所有的分区内容了
4 t. u1 z( l0 `
要求:需要使用 dd 命令依次取出这些分区里的内容
5 i2 z! |% S* P! S$ C- {0 t
2.因中兴光猫自带的busybox 没有 dd 命令,因此需要导入一个带有dd命令的busybox {9 ]: ?% b, }2 Y: t4 X3 p+ f7 K
导入前要先查看光猫 CPU 信息,方便导入对应的busybox
- S+ _- K& P2 ?5 k- o4 b5 b2 {: I/ # 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 # P$ R/ |# }8 n' t' ~
Hardware : HGU R evision : 0000 Serial : 0000000000000000 / # 9 I2 o$ ?* s5 L" |- G4 }) ]
注意到 Processor 为 ARMv7 Processor rev 1 (v7l) , p1 B2 B: B9 E/ [9 a# v" x, `& N, T
因此得导入arm v7l 版本的 busybox 3 x, e+ q2 E/ q) u5 r* \& Z( v
在所在文件的目录下开启tftpd软件 cd /tmp tftp -g -r busybox-armv7l -l busybox-armv7l 192.168.1.2 chmod +x busybox-armv7l mv busybox-armv7l busybox
2 b- \2 e8 `3 x+ Y: K' w
3.开始拷贝文件
( C" K- j1 {. Z. u& U9 `1 o F
cd /tmp" T6 o0 V) u3 R/ }4 m ~% m
dd if=/dev/mtd1 of=/tmp/u-boot.bin # 打包分区 tftp -l u-boot.bin -p 192.168.1.2 # 上传打包的分区到本地 tftp 服务器
: A$ h- w- H0 a3 |# H- b至此,按各分区大小和所在目录分别传输完毕... $ [6 H8 ]$ g4 l3 B6 a; }- h, r6 c
! |4 A+ O; e; t R
5 \' A G3 O. {
/ _# ^& G# [6 M) _
' i% h+ B, `" {5 H+ U |