7 k* q6 h8 U! |$ b' A9 P恩山上找的,您试一下,谢谢了 4 c$ U5 J1 D; ]+ d5 l$ d. c* h* {
# @$ I0 F4 i+ }: ?' j- ?) r固件备份,没有风险的,但是固件还原有一定风险,小白进阶的教程。目前光猫固件备份有 四种方式:
6 G8 u+ a5 R) \2 m0 U7 _1.通过芯片烧录器备份" e; `9 {$ I9 o+ \' d2 a) Z
2.通过telnet备份
1 A$ m# J. B1 U, _, W( {" s3.通过ttl备份, w6 {. U" o4 w# ~8 u
4.通过JTAg备份(不常见,这里不做介绍)
0 ~7 P! r0 O1 M7 d: b
' P" j0 [4 ]6 Q8 V% L' x下面我们先介绍最简单的第1种
: N# i0 N6 {1 U" A, d. D+ i* Q1 I9 P3 B9 X0 s% r" Z
把芯片用吹风机吹下来,最好是买个专业的焊台,带热风枪和烙铁的那种,把芯片放在编程器上直接读。非常简单,如果有不会的,可以回复我(记得贴图)。7 j3 G7 [+ b' H7 T; M- A6 h
4 n0 O7 P V' V! U7 ?2 n然后我们来说下最常见的备份方法,通过telnet、TTL备份+ ?; L8 |/ Y2 R/ G
) o4 R1 W7 v: R( E& h
进入系统后,我们再putty里回车(按Enter键,怕小白不懂),进入这个系统可以说就是Shell,也可以说linux
9 M }+ A: u- h6 f我们就能通过命令来完成我们的备份,首先第一个命令,如果显示无此命令呢,说明当前shell不完整,还需要补齐,这个我会另开一个帖子写0 @! |% ~3 m+ |( V
cat /proc/mtd
$ J, d1 }- `) D$ [$ J9 r, h$ q# T这里我们选择华为8145v为试验环境,别的光猫可能有不一样的地方' ~0 U, O; y A( a
dev: size erasesize name
) W* V8 B* u- P; Omtd0: 00100000 00020000 ", G, C+ U: B+ e0 E
mtd1: 0ff00000 00020000 "ubifs"
8 P$ o% Z; i A* D6 j( Z x3 Bmtd2: 00000000 00000000 "reserved"8 T0 E9 Y6 H! V3 E2 w6 X. E9 t
mtd3: 0009b000 0001f000 "ubootA"
, c, M$ [( u; T" y% mmtd4: 0009b000 0001f000 "ubootB"
0 r( g0 ^4 n3 z7 _) rmtd5: 0003e000 0001f000 "flash_configA"
2 [+ q: C" |5 t i; K L$ N( Mmtd6: 0003e000 0001f000 "flash_configB"
5 R- A* r% Y6 M( S' r2 ^+ A" xmtd7: 0003e000 0001f000 "slave_paramA"8 p2 ^# k( q5 D
mtd8: 0003e000 0001f000 "slave_paramB"
9 e5 j! C1 ~- T# c' Smtd9: 00307000 0001f000 "kernelA"' w6 |( w$ G( F9 Q3 ?' ^
mtd10: 00307000 0001f000 "kernelB"" ~. z3 b: k+ E+ L
mtd11: 02815000 0001f000 "rootfsA"
4 [1 K2 v: Y4 i% b" emtd12: 02815000 0001f000 "rootfsB"/ C" q' v4 Y. P5 ^
mtd13: 0003e000 0001f000 "wifi_paramA") d: J/ M# \$ s- n+ g. M2 M
mtd14: 0003e000 0001f000 "wifi_paramB"5 Q: m& y: b2 Z! E- O" P. V& _$ h
mtd15: 0003e000 0001f000 "system_param"+ Q$ z' k" t `
mtd16: 0141a000 0001f000 "file_system"; G# B9 D; p' X
mtd17: 0081d000 0001f000 "frameworkA"
8 q; J5 T; g- G6 X q+ q$ y- Rmtd18: 0081d000 0001f000 "frameworkB"
0 u0 H& U6 |0 e2 c1 E- M& Vmtd19: 07003000 0001f000 "apps"- d. b! o3 [$ U9 r# s- P
% S. W5 Y5 p E; D8 g, C$ U% s看到这么多分区,以及地址,养成一个好习惯,复制下来存到文本中
6 Z8 ~9 d1 l h1 p8 `! p( Bmtd0: ="startcode"! F# ~/ _8 S3 t4 N* g6 P: x
mtd1: ="ubifs"
6 M+ L4 ]1 r$ `: n" Zmtd2: = "reserved". V# K0 Q" H% h6 l, ]3 ~/ w
mtd3: = "ubootA"# G4 x2 F) a8 s" |+ `
mtd4: = "ubootB"" ~: S, e% A) [
mtd5: = "flash_configA"# Q/ r; S3 l6 S/ t* y
mtd6: = "flash_configB"2 c1 L# f! D; f: N
mtd7: = "slave_paramA"3 O. w0 C( b Y) {$ v
mtd8: = "slave_paramB", [3 U: Q- m0 I" f0 Y9 ]" U
mtd9: = "kernelA"
/ U( D" i" J) b% X4 l) {6 b! ? Umtd10: = "kernelB"
3 q2 j' T+ p6 d/ ~8 z: Imtd11: = "rootfsA"3 r, [ f6 Y& E r4 Y
mtd12: = "rootfsB"3 Y/ f& U3 O8 O. |. _- e
mtd13: = "wifi_paramA". _$ b& h. \. Z8 D) F( z6 P( T. O6 J
mtd14: = "wifi_paramB"
7 x5 M9 g% Q4 @/ j! P' }mtd15: = "system_param"
6 Y( i& d. H8 ~+ Q" _mtd16: = "file_system"/ r"
& w' N: X. i) _9 L& i. Omtd17: = "frameworkA"
' \" P/ x+ ] ]5 t x" Kmtd18: = "frameworkB" ~& }' [$ ~* @) G0 L7 F: L! s
mtd19: = "apps", ~# f2 f5 Q; Z. E1 H$ c1 C& j
ubi0_13 = "jffs2"
3 D Q; d+ K: b# S: g3 R/ ~. uA和B分区是一样的,所以只需备份其中一个即可,现在都设置为双启动,一个使用一个备份可以切换的,从设计角度讲: U' f4 e W3 n+ w+ T. A
. r3 ^- A- t0 {$ H) y) x) a; }下面我们进行备份,首先你要准备一个U盘(fat32格式化,防止不认盘)插到光猫的接口上,如果光猫没接口,那就应该淘汰了,当然tftp大法也是可以的,太麻烦了,这里不介绍
1 V7 A7 c1 w1 X$ d, _据我所知从天翼网关1.0开始就配USB口了,因为AB分区都一样,所以只备份一个就可以了
, e8 G0 R v- U3 u下面输入备份命令,每行输入一次
" @. S P; F& M+ X7 |1 Ldd if=/dev/mtd0 of=/mnt/usb/USB_disc1/0.bin
2 i) P: {) @: V# A# d1 xdd if=/dev/mtd1 of=/mnt/usb/USB_disc1/1.bin
) B0 I! ], c) u6 Ldd if=/dev/mtd2 of=/mnt/usb/USB_disc1/2.bin
2 ^0 U- \7 J3 ]5 k, [dd if=/dev/mtd3 of=/mnt/usb/USB_disc1/3-uboot.bin c1 J9 ]" z: ~" @) u `2 q
dd if=/dev/mtd5 of=/mnt/usb/USB_disc1/5.bin
: c3 h0 X6 d% v# G( \! Ldd if=/dev/mtd7 of=/mnt/usb/USB_disc1/7.bin6 D8 j% p/ O1 l: X+ L
dd if=/dev/mtd9 of=/mnt/usb/USB_disc1/9-kernel.bin
/ y3 e" w# V' W) m" z, `dd if=/dev/mtd11 of=/mnt/usb/USB_disc1/11-rootfs.bin
2 H$ `( z- x1 W1 S9 Xdd if=/dev/mtd13 of=/mnt/usb/USB_disc1/13.bin$ b9 E: h$ n1 D; m! l0 y1 x
dd if=/dev/mtd15 of=/mnt/usb/USB_disc1/15.bin
- ]4 X# v' B3 ^+ @4 i8 `" m. Ddd if=/dev/mtd16 of=/mnt/usb/USB_disc1/16.bin. _/ E& o, H* X
dd if=/dev/mtd17 of=/mnt/usb/USB_disc1/17.bin" Q* M) i3 A4 J+ J: _
dd if=/dev/mtd19 of=/mnt/usb/USB_disc1/19.bin4
1 X9 {6 A0 K# F1 V) u, Z9 Add if=/dev/ubi0_13 of=/mnt/usb/USB_disc1/0_13.bin |