g+ F- B O5 X1 S' G+ Z E
恩山上找的,您试一下,谢谢了
- u6 L. V* C, o% {( S( J A0 k" }% U
固件备份,没有风险的,但是固件还原有一定风险,小白进阶的教程。目前光猫固件备份有 四种方式:" c+ `# [8 H/ b, y
1.通过芯片烧录器备份
4 q$ G" B; C1 v# H7 N4 g2.通过telnet备份: S7 V! M2 ]! G! j
3.通过ttl备份+ C: e1 j i( }4 m
4.通过JTAg备份(不常见,这里不做介绍): m4 a' ]& ^7 }4 V4 ?7 ~
, G6 P3 }" i& |: E( c" d0 k
下面我们先介绍最简单的第1种2 A( A7 \/ j$ f" o2 g+ `4 k9 o, o2 y
* g+ g% E) Q E7 v( m2 |把芯片用吹风机吹下来,最好是买个专业的焊台,带热风枪和烙铁的那种,把芯片放在编程器上直接读。非常简单,如果有不会的,可以回复我(记得贴图)。( {; Y% Q m! P7 U a: I! d
/ E! b6 D' s" |" d
然后我们来说下最常见的备份方法,通过telnet、TTL备份. F& V; H6 J+ v2 p. d% {+ {! v9 [( r7 c
: e3 \) F6 x/ Z6 o. J
进入系统后,我们再putty里回车(按Enter键,怕小白不懂),进入这个系统可以说就是Shell,也可以说linux- L+ [& [4 ]9 j9 H2 u
我们就能通过命令来完成我们的备份,首先第一个命令,如果显示无此命令呢,说明当前shell不完整,还需要补齐,这个我会另开一个帖子写( I3 V6 x6 K& K, \
cat /proc/mtd, b3 Y7 M. f o4 b/ F/ S
这里我们选择华为8145v为试验环境,别的光猫可能有不一样的地方
& Q4 X- D1 t4 e# ~6 i" l) Ddev: size erasesize name
+ Q% j3 D+ x6 x5 S6 v' R' u6 Xmtd0: 00100000 00020000 " `" g5 G: p) a6 b; r
mtd1: 0ff00000 00020000 "ubifs") i1 {3 C( `! R: c. F; U" Y; L
mtd2: 00000000 00000000 "reserved"
" @. ^# T$ I: A- R! nmtd3: 0009b000 0001f000 "ubootA"
0 M' S( x$ T" {- F2 b, D, [mtd4: 0009b000 0001f000 "ubootB": H Y9 D( M* \- p: a
mtd5: 0003e000 0001f000 "flash_configA"
& z) b& [3 { hmtd6: 0003e000 0001f000 "flash_configB"
. p- i% B$ u; _mtd7: 0003e000 0001f000 "slave_paramA"
$ k- E; l: l, H. amtd8: 0003e000 0001f000 "slave_paramB"
+ T+ H2 n4 Z4 }) _& Hmtd9: 00307000 0001f000 "kernelA"
) k. r) k# E! J0 Nmtd10: 00307000 0001f000 "kernelB"- n) M) M* s7 _, M2 |, Z! P
mtd11: 02815000 0001f000 "rootfsA"8 Y' I" q. W! W/ d9 k/ e1 e, e. | }
mtd12: 02815000 0001f000 "rootfsB"
" o3 l0 g/ w1 {6 y8 e! X9 Cmtd13: 0003e000 0001f000 "wifi_paramA") o; Z& @$ o0 r) H
mtd14: 0003e000 0001f000 "wifi_paramB", a1 A r" x! X$ x
mtd15: 0003e000 0001f000 "system_param"+ r' ]; v' r9 f; V3 P
mtd16: 0141a000 0001f000 "file_system"
* D4 m& {; B2 X7 fmtd17: 0081d000 0001f000 "frameworkA"% x% a1 \' G" M3 C- L; ^, O
mtd18: 0081d000 0001f000 "frameworkB"6 k$ L9 f6 {! R/ `: K+ M! B
mtd19: 07003000 0001f000 "apps"
% ~7 J6 w; C4 |" r
6 e3 P" y3 U+ q$ h7 L/ [3 X6 U看到这么多分区,以及地址,养成一个好习惯,复制下来存到文本中
' K: o! _' _3 f) s& p8 C; W3 Vmtd0: ="startcode"
' g8 c1 j$ v1 R2 B& F( l1 U2 wmtd1: ="ubifs"
; y# }6 T) N' P- m ^' z3 f5 nmtd2: = "reserved"' ]( g* ?# y/ a0 c
mtd3: = "ubootA"
1 W! K" z( ^6 Kmtd4: = "ubootB"
. V; R+ h3 r/ i, E2 B* r8 r$ Amtd5: = "flash_configA"' ?0 [$ R4 k5 _2 ]& ]- M6 Y2 q& v
mtd6: = "flash_configB"# [! r( e- p# @' F
mtd7: = "slave_paramA". G6 ]8 R7 ^! u: ^
mtd8: = "slave_paramB"8 T. r# G: p& [, B# x9 E, K
mtd9: = "kernelA"; A( [: \/ B4 Z7 I/ {
mtd10: = "kernelB"! p% [4 [+ ]& `3 ]
mtd11: = "rootfsA". w% W+ Y6 M& ^1 R5 d
mtd12: = "rootfsB"8 H9 P+ ~: q2 _6 B4 P
mtd13: = "wifi_paramA"
- ]6 C6 L# q9 Q5 Amtd14: = "wifi_paramB"0 W4 n4 S3 R& V
mtd15: = "system_param", O( M; ?3 T c, e7 \; y& `. K
mtd16: = "file_system"/ r"
% Q1 b/ I- v3 u/ g2 Omtd17: = "frameworkA"
8 h* ~& f$ u* [% y' k' U6 m0 i7 Umtd18: = "frameworkB"8 p9 C# i) M& {; [! c* j
mtd19: = "apps"
6 Q5 Q! t7 U1 U, A$ r6 dubi0_13 = "jffs2"2 y9 a4 Z t) E& X# N, A) o7 Z) n% ^
A和B分区是一样的,所以只需备份其中一个即可,现在都设置为双启动,一个使用一个备份可以切换的,从设计角度讲0 f4 S! @' @8 x k6 \
8 A: q5 y, E8 B7 L( w3 s下面我们进行备份,首先你要准备一个U盘(fat32格式化,防止不认盘)插到光猫的接口上,如果光猫没接口,那就应该淘汰了,当然tftp大法也是可以的,太麻烦了,这里不介绍8 a* `5 B/ u7 n; Z
据我所知从天翼网关1.0开始就配USB口了,因为AB分区都一样,所以只备份一个就可以了8 y( y8 T8 C( p* R: j& u. w7 R$ [% j
下面输入备份命令,每行输入一次
! P6 C* D; D0 {1 P) P% R( o0 Gdd if=/dev/mtd0 of=/mnt/usb/USB_disc1/0.bin( _" W% m* x+ |5 @
dd if=/dev/mtd1 of=/mnt/usb/USB_disc1/1.bin5 C; }- s) @ X/ U
dd if=/dev/mtd2 of=/mnt/usb/USB_disc1/2.bin
- m! t5 l$ k6 F- J" {dd if=/dev/mtd3 of=/mnt/usb/USB_disc1/3-uboot.bin% v; R( |$ b! o# }$ |; {$ P& A
dd if=/dev/mtd5 of=/mnt/usb/USB_disc1/5.bin" a% g( @& z' y9 f9 t% {' x
dd if=/dev/mtd7 of=/mnt/usb/USB_disc1/7.bin
& S* e8 e$ O4 ~, n5 f# |5 ]dd if=/dev/mtd9 of=/mnt/usb/USB_disc1/9-kernel.bin# m1 I" v5 d3 Y% m
dd if=/dev/mtd11 of=/mnt/usb/USB_disc1/11-rootfs.bin
e4 h: f# g( p/ B pdd if=/dev/mtd13 of=/mnt/usb/USB_disc1/13.bin
4 R, S9 ]/ z& m# Idd if=/dev/mtd15 of=/mnt/usb/USB_disc1/15.bin
7 t# M- `+ z8 Y r3 ^1 }" ]7 [dd if=/dev/mtd16 of=/mnt/usb/USB_disc1/16.bin: e6 p% ^1 G I" k; Q5 x& }1 }
dd if=/dev/mtd17 of=/mnt/usb/USB_disc1/17.bin
7 x% r; E% f! Y/ N7 ^8 ^/ N$ udd if=/dev/mtd19 of=/mnt/usb/USB_disc1/19.bin4
" v6 Q4 w! j. ]& z- K) m+ @dd if=/dev/ubi0_13 of=/mnt/usb/USB_disc1/0_13.bin |