找回密码
 立即注册
查看: 12577|回复: 41

[教程] 猫盘故障机的自我救赎

[复制链接]

5

主题

79

回帖

424

积分

中级渣柚V1

积分
424
发表于 2019-10-9 15:22:10 | 显示全部楼层 |阅读模式
本帖最后由 tymfl 于 2019-10-11 23:47 编辑
8 v% D# {, ?3 q0 H) P8 f; v$ \+ ^+ F' l6 O) D. u/ c4 c* i
入手一台伊拉克成色猫盘故障机,连好ttl上电以后
5 R, {6 `7 d% ?) [; k
  1. TIM-1.0
    , F% K/ r- r. e; ^% E  H/ M
  2. WTMI-armada-17.10.1-9 Q9 `4 a2 M, d; a9 r" j/ E
  3. .........
    3 `3 r2 I& h, {9 r
  4. SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB8 Z/ T9 Z; _: h2 M  G$ E2 N
  5. *** Warning - bad CRC, using default environment& R7 P6 l. Z+ ?0 n
  6. % l: Q$ R- E- B* F/ X# V
  7. MMC:   for ssg ledsdhci@d8000: 0' s# |3 T! E* a+ ?+ z: l  [
  8. ** File not found boot/armada-3720-customer0.dtb **
    % S# T7 H7 l& v  W! E' M
  9. ** File not found boot/armada-3720-customer0-minifs.dtb **
    4 W# }% z5 O) ], r1 C3 ?% H& @& d' b2 I
  10. test_mmc_ext4_exist ==1
    $ I' V8 s1 Z/ `/ M' u/ A6 L
  11. Comphy-0: UNCONNECTED  9 N! L3 E: K8 u( E) {; t# ?
  12. Comphy-1: UNCONNECTED  
      L* y& n) ~, w( _# L' r
  13. Comphy-2: UNCONNECTED  % n% I' m5 r8 {/ A# @  p+ h6 O' ~3 k$ m
  14. gpio: pin GPIO23 (gpio 39) value is 1
    2 J; V* b0 J( K/ z0 C6 K
  15. ** File not found boot/armada-3720-customer0.dtb **7 v" l* y1 C0 m( z. x6 @
  16. ** File not found boot/armada-3720-customer0-minifs.dtb *** u7 n! I  R% \
  17. Enter Recovery mode. N8 \, [8 D1 f$ u. l
  18. SCSI:  Hit any key to stop autoboot:  0
复制代码
发现无法找到dtd文件,进入了恢复模式,直接启动或按住reset启动均启动失败,启动信息如下:
- e, I! t( v! G% f, v7 T
  1. Marvell>> boot' [4 Q9 P+ K4 |: F
  2. SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB8 W$ q  y! ]+ x$ |* p. |7 ^
  3. device 0 offset 0xcc000, size 0x434000
    & L+ z0 a, u& b7 Y' |  u2 U9 S* F
  4. SF: 4407296 bytes @ 0xcc000 Read: OK
    ) @7 ?. @  r  E' ^7 \# ]6 T
  5. gpio: pin GPIO21 (gpio 37) value is 1' }* T3 z9 V- v* [& h. a- s
  6. gpio: pin GPIO22 (gpio 38) value is 1+ P% L6 L7 p3 L, |' [
  7. Uncompressed size: 8992256 = 0x893600. g+ v% v( i& v
  8. device 0 offset 0xc8000, size 0x4000
      n  n- k. M' D+ N  n
  9. SF: 16384 bytes @ 0xc8000 Read: OK+ h/ p8 g3 |  C3 T
  10. ## Flattened Device Tree blob at 04f00000  \% u7 V# V6 M( P
  11.    Booting using the fdt blob at 0x4f00000
    . @! C( g/ V( G- s$ l8 y. b
  12.    Using Device Tree in place at 0000000004f00000, end 0000000004f05df8
    % D; o3 K$ i; j# T, E

  13. ; D$ B6 ~# z1 f1 B9 T! t$ v
  14. Starting kernel ...7 A  S. \9 S8 L. A
  15.   f5 m4 M! m. I2 h; }
  16. .........' i7 m. A5 z5 Q4 Y
  17. [    2.786623]  mmcblk0: p1 p2 p3& V8 g! l' }5 Y  c
  18. [    2.801201] Starting init: /sbin/init exists but couldn't execute it (error -5)
    4 _) }% m( I1 A. l
  19. [    2.813804] cramfs: bad compressed blocksize 4294298135
    + G9 w1 ~4 r) x" y( j& j
  20. [    2.819206] Starting init: /bin/sh exists but couldn't execute it (error -5)
    . H" N2 `8 i7 a: C0 T- y; A" z9 I
  21. [    2.826452] Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.8 T: f5 \. F5 q
  22. [    2.840101] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #21
    : b$ p4 Q8 `* @
  23. [    2.847399] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)
    7 g0 h0 N; o, d6 h3 R
  24. [    2.854957] Call trace:& G4 }$ u# w$ m3 A& c: c- B. B/ _
  25. [    2.857401] [<ffffffc000089b10>] dump_backtrace+0x0/0x1083 [! v1 c" ~% {0 q8 L
  26. [    2.863150] [<ffffffc000089c2c>] show_stack+0x14/0x20: s. h: C: O( p7 @- [" J9 v
  27. [    2.868371] [<ffffffc00029f280>] dump_stack+0x98/0xb84 R4 w  X( h6 i
  28. [    2.873592] [<ffffffc00012b32c>] panic+0xd4/0x218
    % I0 S% G6 H0 Z: z# P5 y" i9 ~& W
  29. [    2.878454] [<ffffffc000621d0c>] kernel_init+0xdc/0xe0
    ( f) a1 I# `1 J. Z% r( M
  30. [    2.883761] [<ffffffc000085dd0>] ret_from_fork+0x10/0x403 U" b) P5 g, l* o4 S# d
  31. [    2.888890] CPU0: stopping' t5 N$ {; N( z
  32. [    2.891949] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #21
    3 p2 J6 W6 A% _
  33. [    2.899505] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)
    ( g( v# I3 I9 s
  34. [    2.907154] Call trace:
    2 Y8 G& k$ r3 X0 ]  M
  35. [    2.909861] [<ffffffc000089b10>] dump_backtrace+0x0/0x108+ G& P8 Y9 f/ A0 d3 B) i4 _
  36. [    2.915269] [<ffffffc000089c2c>] show_stack+0x14/0x208 }  O  w' p: v3 m1 S% }7 Z0 `7 s
  37. [    2.920580] [<ffffffc00029f280>] dump_stack+0x98/0xb8
    8 ]& y3 g8 s( U. \$ B' o
  38. [    2.925892] [<ffffffc00008efc0>] handle_IPI+0x190/0x1a0
    . S0 v, e" @7 T# h5 P
  39. [    2.931030] [<ffffffc000082598>] gic_handle_irq+0x78/0x168
    5 g+ l. O0 V6 W, Q" M% M# X) @+ l" u
  40. [    2.936969] Exception stack(0xffffffc0008abda0 to 0xffffffc0008abed0)
    9 H  O  S8 V0 F  x7 X  u
  41. [    2.943547] bda0: ffffffc0008ae000 0000008000000000 ffffffc0008abf00 ffffffc000086840& n0 Q9 [# A* ^5 j3 V$ l3 x
  42. [    2.951467] bdc0: 0000000000000145 ffffffc000890000 0000000000000000 0000000000000000% u9 L  s. D6 g7 j
  43. [    2.959567] bde0: 0000000000000001 0000000000000000 00000000000001c0 0100000000000000! Z0 E+ F3 H4 I: M7 H' x, C2 Q
  44. [    2.967757] be00: 0000000000000001 ffffffc01bfcddc0 00000000fffeddda ffffffc0008abe80
    % K3 q& z$ x" V2 \1 ?' z0 _
  45. [    2.975676] be20: 00000000000006d0 0000000000000000 0000000000000000 00000000058e8eff
    ! W9 \  J" ~% D! b
  46. [    2.983954] be40: ffffffc00426c260 00000000000075af 00000000000ba7a2 0000000000000000
    6 n& j; Z. Q5 D% f
  47. [    2.991876] be60: ffffff8000058548 ffffffc0008ae000 ffffffc0008ae8d8 ffffffc00088cad8
    8 N, k1 P. Q$ ~* W4 P" a
  48. [    2.999886] be80: ffffffc0008abf20 ffffffc000631000 ffffffc000890000 ffffffc0008ae000
    . @% l: B2 E2 ^) R1 d: t/ v' ]
  49. [    3.007986] bea0: ffffffc0008a8000 0000000000000000 0000000000000000 ffffffc0008abf00
    0 X1 Y& H; i* g  I
  50. [    3.016353] bec0: ffffffc00008683c ffffffc0008abf00
    . y1 B" s  Z9 J( Z" U
  51. [    3.021215] [<ffffffc000085700>] el1_irq+0x80/0xf83 a' ^+ ~  u) B5 F3 x( C
  52. [    3.026168] [<ffffffc0000d8164>] default_idle_call+0x1c/0x38: h* U- q! a7 D" v: _
  53. [    3.032373] [<ffffffc0000d8398>] cpu_startup_entry+0x1c8/0x218" W3 H3 Q5 n9 u* Z6 m  B9 R8 X
  54. [    3.038411] [<ffffffc000621c20>] rest_init+0x88/0x98
    6 J$ {7 `0 L+ K
  55. [    3.043192] [<ffffffc00084d950>] start_kernel+0x384/0x398
    7 q& o( U: n) Q) E8 r
  56. [    3.048948] [<0000000000627000>] 0x627000
    / Q* F, n6 a7 Q: o+ {
  57. [    3.053272] ---[ end Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
复制代码
uboot 下获取的一些信息4 ?( Q. H9 n& f5 a" x
  1. # 查看文件夹 发现boot为空
    , R" b" Y+ V* B3 u9 U) u( r
  2. Marvell>> ext4ls mmc 0:1 /boot
    + g* \1 {: R9 h, m" G1 R0 q9 v
  3. <DIR>       4096 .2 w1 e( y. s  b1 `5 o
  4. <DIR>       4096 ..9 e/ j7 S7 Y. i6 m8 q% B% s
  5. 5 o4 I6 I8 r0 U3 Q" P( B
  6. # 无法启动usb
    ' F3 j; `2 e0 K8 [/ M0 u
  7. Marvell>> usb start
    ( F, B* G  X2 T- n* }/ w! z! Z- k. a
  8. starting USB...! Y7 z9 Q! t; i2 ]3 l0 a0 i% w
  9. No controllers found
复制代码
猜测可能是误删了/boot下的文件导致的,无法通过U盘启动1 C8 U3 l% ?0 v

: b& A$ j1 k$ j, f# R* M8 J" e2 P                               
登录/注册后可看大图
/ I$ c& I( ^  N
启动进入uboot输入如下命令
5 L" L* F% Y4 y- H
  1. setenv bootcmd "sf probe 0;sf read 0x8000000 0x0CC000 0x434000;gpio set GPIO21;gpio set GPIO22;unzip 0x8000000 0x5000000;sf read 0x4f00000 0x0c8000 4000;"
    7 d0 Z: {# d  ^8 P! `2 Z
  2. setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p1 rootwait rw init=/bin/sh"8 n" O, K+ H, j6 r! n
  3. boot$ u/ v1 r+ ~7 H
  4. booti 0x5000000 - 0x4f00000
复制代码
即可进入linux shell
1 r$ n. E; s! a- U7 i9 E
  1. # 查看存储设备4 m$ i! a) O( {3 `: C' P
  2. ls -l /dev/sd
    + ^' z/ T) I! G4 Y
  3. 5 F. p6 ~& u$ ?" E
  4. # 挂载0 `1 g! q& D- f. H! P
  5. mount -t proc /proc; V5 Z( g0 v* p; F) E5 f7 L' b
  6. mount /dev/sda4 /mnt9 N3 |) z7 K. s$ y" h8 q
  7. 3 D' ]0 C$ t% `" b2 x) j# J
  8. # 拷贝文件
    5 _. q4 a& p& `$ Y  D# g: j
  9. cd /mnt
    : }# G# i1 z, z, Q, t  f' F+ m
  10. cp armada-3720-customer0.dtb /boot/
    $ z5 R8 v5 M2 W6 T# h( `
  11. cp Image /boot/
    ; _" _  O; h% {7 }
  12. 4 Z7 C/ |0 }' ?2 x6 Y3 J' M" g0 Y
  13. # 退出
    8 M4 k, t. a- G/ \' L# h
  14. exit
复制代码
重新插拔电源后恢复正常,uboot信息如下:
4 Q# d& _* \' o  U5 o
  1. TIM-1.0; [0 O" B1 G: d/ D9 B
  2. WTMI-armada-17.10.1-, s3 Z7 f; M# T
  3. ENTER init_ddrgen+ I! E1 L8 \( u  s
  4. DDR_TOPOLOGY is 0 :        DDR3, 1CS 512M/ \# M! k7 r' c4 i: c
  5. WTMI_CLOCK=2
    2 |. f6 d% w9 `% X0 I0 _
  6. 3 ]4 `. R  E' z. V' k/ g2 {0 |/ D% c
  7. Fill memory before self refresh...done
    ! @+ C' H3 O8 L8 _* \: |

  8. . c6 N$ @1 X- R; ?
  9. Now in Self-refresh Mode
    7 U; d- I2 o$ {; l6 p  X, m
  10. Restore CAS Read and Write Latency
    2 L8 n* ~$ D. c
  11. Restore termination values to original values
    3 E; G1 e  z1 ]
  12. Exited self-refresh ...
    4 l) B( J, q2 U0 U! F  k$ u

  13. 4 K, Q& v& @) B  Y- o) |8 \
  14. DLL TUNING  I# V  W$ p, K5 j. p
  15. ==============) z( f. b, d- K; A& G6 H, Z
  16.    DLL 0xc0001050[21:16]: [0,31,18]# F0 S- R. y4 {! k9 H
  17.    DLL 0xc0001050[29:24]: [0,2b,15]: ]) `, P: _( ?% W
  18.    DLL 0xc0001054[21:16]: [0,32,19]$ V; r# P4 k0 C1 u: [- ~! L
  19.    DLL 0xc0001054[29:24]: [0,2d,16]7 y& K! l1 G, x% o0 T
  20.    DLL 0xc0001074[21:16]: [0,3f,1f]
    + l! w# @$ }% g) A5 U( R
  21.    DLL 0xc0001074
    $ O* `; C+ \( ~3 M' A9 K/ S

  22. - ?9 n) A( F$ ]# c4 b- \) s) d
  23. U-Boot 2017.03-armada-17.10.1 (Mar 07 2018 - 17:11:33 +0800)# I- {. Q* O, l

  24. ! B+ G6 [3 q% e% [7 J  `2 T: ~
  25. Model: Marvell Armada 3720 for Eli Cat
    , a# y2 @. W& S. H# O" @. O
  26.        CPU    @ 1000 [MHz]
    2 l  o' `( P8 `% i. F
  27.        L2     @ 800 [MHz]2 t7 i: V. Q4 O8 {/ q
  28.        TClock @ 200 [MHz]
    0 H- x+ p- i) j& w; H
  29.        DDR    @ 800 [MHz]
    . r; y) `- ]: m& e( b
  30. I2C:   ready - T$ p* r1 c! Q! }7 B3 |  M
  31. DRAM:  512 MiB
    ! N/ R3 `  A1 R  W% n" b* X4 G
  32. U-Boot DT blob at : 000000001f73a520# k0 R* g7 s4 m# b9 i% S/ P9 u  M
  33. SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
    " z% @/ m  r& a- S7 b
  34. *** Warning - bad CRC, using default environment! T8 \% V( c$ s: P8 W" I. M2 B
  35. 9 a; X# k! h" ~) [4 f
  36. MMC:   for ssg ledsdhci@d8000: 0
    ; ]: {$ b3 w5 z! g7 `, m$ ]
  37. 12931 bytes read in 16 ms (789.1 KiB/s)
    ( s# H- O& r# _" t& B
  38. gpio: pin GPIO23 (gpio 39) value is 1& |  I! O. i: v& F5 B( G2 g* l
  39. gpio: pin GPIO23 (gpio 39) value is 1) t( g% g4 W! l( ^* ]
  40. gpio: pin GPIO23 (gpio 39) value is 1/ r7 H0 w& L$ H3 L  y$ d
  41. Comphy-0: USB3_HOST0    5 Gbps   
    * r0 ?8 k( M* t+ u+ H8 c2 ?
  42. Comphy-1: SGMII0        1.25 Gbps   W5 e* n, a/ ~: I
  43. Comphy-2: SATA0         6 Gbps    ( U. _9 j/ B! m  J4 z# ]
  44. gpio: pin GPIO23 (gpio 39) value is 1
    9 ?; f( Y' l& x3 Z: r5 l$ N
  45. 12931 bytes read in 4 ms (3.1 MiB/s)
    - _6 \3 U. Y( ^, E5 r9 G+ K4 e
  46. Enter Normal mode2 A# V; q; y6 l; e6 P. Y/ U
  47. SCSI:  Hit any key to stop autoboot:  0
复制代码

/ D9 R1 Z( H# t: u; r补充下:这样修改后,只能一次有效请删除mmc 0:3 分区的rootfs.tar.bz2和upgrade_eli_38.img文件。! j+ ~2 X; S$ [
或者直接在linux shell里面刷写新uboot& l. D' q9 T9 U/ @6 v
. x, C; ?  b& r$ O6 v

; P5 Q2 R# C2 g$ M1 J4 K, [- ]: l" h) R

评分

参与人数 2渣金 +4 收起 理由
zxjwwwh + 1 很给力!
断章 + 3 很给力!

查看全部评分

5

主题

57

回帖

491

积分

中级渣柚V1

积分
491
发表于 2019-10-9 15:50:15 | 显示全部楼层
本帖最后由 xingjiwoniu 于 2019-10-9 16:00 编辑 8 H- M. G8 s3 b
3 l9 [) R$ Z+ w, y0 v$ G
感谢分享

4

主题

78

回帖

706

积分

中级渣柚V2

积分
706
发表于 2019-10-9 16:07:37 | 显示全部楼层
谢谢分享

7

主题

450

回帖

706

积分

中级渣柚V2

积分
706

热心会员

发表于 2019-10-9 17:09:08 | 显示全部楼层
感谢分享- H% d# I5 T2 a3 i

1

主题

20

回帖

204

积分

中级渣柚V1

积分
204
发表于 2019-10-9 17:10:58 | 显示全部楼层
收藏 感谢!

4

主题

114

回帖

323

积分

中级渣柚V1

积分
323
发表于 2019-10-9 20:25:44 | 显示全部楼层
按照你这个执行不成功啊

5

主题

79

回帖

424

积分

中级渣柚V1

积分
424
 楼主| 发表于 2019-10-9 20:36:10 | 显示全部楼层
GokuSun 发表于 2019-10-9 20:258 T9 E& T6 f% V+ m8 P9 I% @
按照你这个执行不成功啊

7 c7 A' `( M. `" y还是提示找不到?

0

主题

12

回帖

40

积分

初级渣柚V1

积分
40
发表于 2019-10-9 20:45:54 | 显示全部楼层
顶一下顶一下" j4 S4 C0 j$ l( K: ~* ~0 P& M- h7 r

4

主题

114

回帖

323

积分

中级渣柚V1

积分
323
发表于 2019-10-9 20:48:03 | 显示全部楼层
tymfl 发表于 2019-10-9 20:364 p. Q1 x! i" P* F: v4 ]) c
还是提示找不到?

0 l& k' C5 x& x2 d是还是原样子,启动还是end Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.  q% n( b$ U  ?+ Y: l* |
完全按照您的步骤做的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|矿渣社区 ( 黔ICP备2024020525号-1 )

GMT+8, 2025-8-4 17:41 , Processed in 0.312486 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表