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

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

[复制链接]

5

主题

79

回帖

424

积分

中级渣柚V1

积分
424
tymfl 发表于 2019-10-9 15:22:10 | 显示全部楼层 |阅读模式 IP:–重庆–重庆 长城宽带
本帖最后由 tymfl 于 2019-10-11 23:47 编辑
& K7 |3 k! A/ T8 Q* A) y# Q% t2 |/ _( J( y! s+ ^& `5 y
入手一台伊拉克成色猫盘故障机,连好ttl上电以后0 n; i  N1 a" I; w- b
  1. TIM-1.0* ~/ h( C! j( `
  2. WTMI-armada-17.10.1-
    6 \- L$ v" x. t: p) E
  3. .........2 E; s( P0 y3 n+ g' w; L
  4. SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
    ; g7 `: B) v% {% W  [1 T# h
  5. *** Warning - bad CRC, using default environment% F( H/ Y' y1 B* G. [
  6. ) l) P& X' S+ B' x; D
  7. MMC:   for ssg ledsdhci@d8000: 04 i( h* h4 Z6 Z+ N; Y
  8. ** File not found boot/armada-3720-customer0.dtb **" F3 p& i( x( N* @$ e& Q
  9. ** File not found boot/armada-3720-customer0-minifs.dtb **
    8 t$ _# n! t6 |9 j# l1 A
  10. test_mmc_ext4_exist ==1
    . H4 i. a$ S  C# z* Y! w: G
  11. Comphy-0: UNCONNECTED  
    3 R8 ~# B3 W9 O: C. R* G
  12. Comphy-1: UNCONNECTED  & l% S. T% [5 \7 {! D
  13. Comphy-2: UNCONNECTED  9 R8 d' l' {7 V. u
  14. gpio: pin GPIO23 (gpio 39) value is 1
    7 e3 p0 g" U$ T: M7 V  f
  15. ** File not found boot/armada-3720-customer0.dtb **/ |" u' R: Q) P$ ]
  16. ** File not found boot/armada-3720-customer0-minifs.dtb **
    . d( ~/ U+ {2 P% N
  17. Enter Recovery mode; t; [( @, `+ ]# R$ s
  18. SCSI:  Hit any key to stop autoboot:  0
复制代码
发现无法找到dtd文件,进入了恢复模式,直接启动或按住reset启动均启动失败,启动信息如下:
, u' G& _4 ~2 Z) f! s7 X
  1. Marvell>> boot/ _$ D4 ^5 ~& `! S* t  n- |0 ^
  2. SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
    5 }5 }6 L3 n2 I$ i
  3. device 0 offset 0xcc000, size 0x4340003 Q/ W8 Z+ b1 ?1 t. I
  4. SF: 4407296 bytes @ 0xcc000 Read: OK( p! p4 b; o6 }: w) M) j. |
  5. gpio: pin GPIO21 (gpio 37) value is 1# {1 ]$ t+ P7 |5 N% {, x* c8 {
  6. gpio: pin GPIO22 (gpio 38) value is 1
    % t0 O! W, u0 U: S* u7 s6 ^
  7. Uncompressed size: 8992256 = 0x8936006 Y* Z  H1 Y& S, _& u" s+ W# m& S  q
  8. device 0 offset 0xc8000, size 0x4000/ ?  L' W; [$ `/ U. X1 x! u) a' K+ E4 h
  9. SF: 16384 bytes @ 0xc8000 Read: OK, K1 v" P& H) V8 }+ c& m
  10. ## Flattened Device Tree blob at 04f00000
    6 Z0 Y: D5 H3 V
  11.    Booting using the fdt blob at 0x4f000008 u* Q8 ?8 v; f3 [
  12.    Using Device Tree in place at 0000000004f00000, end 0000000004f05df8. h, H2 R) b) J2 K1 @8 s8 J; s
  13. - H# z$ K3 }- }
  14. Starting kernel ...4 F5 X7 Q, Y! a! P: o
  15. ' P" O! e8 h9 J$ V& v. \' h0 J
  16. .........# e  h2 }( u, l4 \; V0 i# }
  17. [    2.786623]  mmcblk0: p1 p2 p3
    & ^, u2 N) _! u. b
  18. [    2.801201] Starting init: /sbin/init exists but couldn't execute it (error -5)
    ( B# R! x$ v% p4 k
  19. [    2.813804] cramfs: bad compressed blocksize 4294298135; G5 I6 a! W: s
  20. [    2.819206] Starting init: /bin/sh exists but couldn't execute it (error -5), [. N5 l# U4 z5 b6 a  |& M
  21. [    2.826452] Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance./ C! H- K4 b! a
  22. [    2.840101] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #21- L) f# C& M" @2 G8 j
  23. [    2.847399] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)
    0 @* ?, Z+ Q: x# p+ |0 D: F
  24. [    2.854957] Call trace:' `' H: V$ _/ V/ P
  25. [    2.857401] [<ffffffc000089b10>] dump_backtrace+0x0/0x1086 X1 @# i1 K, |2 I0 H$ N3 r- _
  26. [    2.863150] [<ffffffc000089c2c>] show_stack+0x14/0x202 l" q$ N# ~* a  \, o
  27. [    2.868371] [<ffffffc00029f280>] dump_stack+0x98/0xb8
    0 H, u. y. {! F$ ?* v& e
  28. [    2.873592] [<ffffffc00012b32c>] panic+0xd4/0x2181 j/ ?& _6 g7 A
  29. [    2.878454] [<ffffffc000621d0c>] kernel_init+0xdc/0xe0" _2 Q# j- ]6 g! X  K' w) ~
  30. [    2.883761] [<ffffffc000085dd0>] ret_from_fork+0x10/0x40
    * q( |, y  V$ b3 }; [1 n; N! Y1 X
  31. [    2.888890] CPU0: stopping
    2 ?2 x& r+ N5 w& p1 u" E
  32. [    2.891949] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #21
    - U; j/ \% h; r+ Z
  33. [    2.899505] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)9 S% f* r9 B& G
  34. [    2.907154] Call trace:9 j# \* D# ^0 W% i/ a
  35. [    2.909861] [<ffffffc000089b10>] dump_backtrace+0x0/0x108
    ! M' o! w) w2 m! Y
  36. [    2.915269] [<ffffffc000089c2c>] show_stack+0x14/0x20
    ! D1 I5 W) {$ N/ Z( U" k& B) d
  37. [    2.920580] [<ffffffc00029f280>] dump_stack+0x98/0xb84 ~1 ^0 f( W' I* |
  38. [    2.925892] [<ffffffc00008efc0>] handle_IPI+0x190/0x1a0
    ) i9 l: V3 y; q% e# Y6 u
  39. [    2.931030] [<ffffffc000082598>] gic_handle_irq+0x78/0x168
    / w' ^$ A7 T+ F; _6 M" u# @1 {
  40. [    2.936969] Exception stack(0xffffffc0008abda0 to 0xffffffc0008abed0)
    " s5 E1 q3 u- c: L# W8 f% q
  41. [    2.943547] bda0: ffffffc0008ae000 0000008000000000 ffffffc0008abf00 ffffffc000086840) }. Y0 s  ]/ J' g8 W4 _5 n, X& r0 T
  42. [    2.951467] bdc0: 0000000000000145 ffffffc000890000 0000000000000000 0000000000000000/ U3 D, J( y9 l7 }$ e0 B$ w3 t
  43. [    2.959567] bde0: 0000000000000001 0000000000000000 00000000000001c0 0100000000000000- x7 X/ ^. H6 b* T, A. F$ E6 C
  44. [    2.967757] be00: 0000000000000001 ffffffc01bfcddc0 00000000fffeddda ffffffc0008abe80
      N  E" ~# k' F2 a& u; q
  45. [    2.975676] be20: 00000000000006d0 0000000000000000 0000000000000000 00000000058e8eff
    4 U; g7 e, V9 O+ k4 k3 f1 `6 E: g, r
  46. [    2.983954] be40: ffffffc00426c260 00000000000075af 00000000000ba7a2 0000000000000000; }: |# h& E! P0 |/ U% R! F
  47. [    2.991876] be60: ffffff8000058548 ffffffc0008ae000 ffffffc0008ae8d8 ffffffc00088cad88 G) v& ~1 J3 `# `
  48. [    2.999886] be80: ffffffc0008abf20 ffffffc000631000 ffffffc000890000 ffffffc0008ae000
    , F7 ]$ K3 f- c& t% H& e
  49. [    3.007986] bea0: ffffffc0008a8000 0000000000000000 0000000000000000 ffffffc0008abf001 P# O( |$ m7 k) v
  50. [    3.016353] bec0: ffffffc00008683c ffffffc0008abf007 B- T, Z( y" r3 f) j! ]# A6 G
  51. [    3.021215] [<ffffffc000085700>] el1_irq+0x80/0xf8
    9 ]1 a6 D  ?/ E
  52. [    3.026168] [<ffffffc0000d8164>] default_idle_call+0x1c/0x387 U7 w7 i  W, B, r9 g* f; T
  53. [    3.032373] [<ffffffc0000d8398>] cpu_startup_entry+0x1c8/0x2185 k0 K) d% O( b8 m
  54. [    3.038411] [<ffffffc000621c20>] rest_init+0x88/0x98
    8 p  H' ]: ~4 D8 m' T9 ~
  55. [    3.043192] [<ffffffc00084d950>] start_kernel+0x384/0x3980 r, f5 B5 e% H) Z0 ~) N
  56. [    3.048948] [<0000000000627000>] 0x627000
    / }( \' k. n6 {
  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 下获取的一些信息1 C  d# J# P8 z: `& c  k9 d: j
  1. # 查看文件夹 发现boot为空
    5 \" z# S# Y1 E$ i
  2. Marvell>> ext4ls mmc 0:1 /boot
    - P" U0 T5 \; B! u: ^" h
  3. <DIR>       4096 .6 Y0 ], S" f& b* U: l8 e/ i. b* r
  4. <DIR>       4096 ..
    2 v1 v# w! t: P5 _/ J# h+ ^
  5. 4 V# R8 _6 P8 u7 q2 Y9 A5 s4 k4 v
  6. # 无法启动usb5 C( ~- D. W' L. ?
  7. Marvell>> usb start
    1 V; s% [' G( q% ?9 F8 y9 g
  8. starting USB...# q& b: f$ [5 l& x  a3 K
  9. No controllers found
复制代码
猜测可能是误删了/boot下的文件导致的,无法通过U盘启动
+ a. B* f5 d& }2 o0 l, a/ _

9 H- }: _8 R3 [9 \; l3 k4 k4 X8 l                               
登录/注册后可看大图
, |! K# S# O( }
启动进入uboot输入如下命令
8 G6 X, _/ I  q! d
  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;"
    . W7 X; h7 e. N, e/ U* E
  2. setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p1 rootwait rw init=/bin/sh"
    " H( j, F! h- G9 l; D% A
  3. boot9 X5 B* V; F9 [3 D* s# u
  4. booti 0x5000000 - 0x4f00000
复制代码
即可进入linux shell# k' Z( a. h% d- [9 E+ a
  1. # 查看存储设备: \# d+ [3 R. p$ V
  2. ls -l /dev/sd6 r/ G6 E$ e7 `' e* I7 j

  3. # d9 b+ Z4 I& V& a
  4. # 挂载  i$ E' q& ]1 f! J# e
  5. mount -t proc /proc
    * @8 k. U$ ~% E2 `) r( ?
  6. mount /dev/sda4 /mnt0 ^4 H/ F% @/ b$ e& y8 Z" r4 J. v
  7. 7 J7 X, p* f* i. t, a0 O- f! ~
  8. # 拷贝文件% O2 H9 _% o' ]( m; k/ J$ _
  9. cd /mnt
    9 C' D2 x5 t2 r
  10. cp armada-3720-customer0.dtb /boot/! n6 j: E- E$ b& g/ i, o
  11. cp Image /boot/- G: G7 b" E/ Q! N
  12. : p9 C) t* c, P- V
  13. # 退出
    " l$ S# e$ g2 L5 P0 J0 @
  14. exit
复制代码
重新插拔电源后恢复正常,uboot信息如下:( e- ^7 o1 G* z$ D: W
  1. TIM-1.0  T( k% E5 c; i) X* K
  2. WTMI-armada-17.10.1-
    # j" [9 U7 \. k4 R: r: D
  3. ENTER init_ddrgen; F5 c' l( w4 r, E: a
  4. DDR_TOPOLOGY is 0 :        DDR3, 1CS 512M. I9 @- G$ L7 M. \, l7 J8 P
  5. WTMI_CLOCK=2
    " T$ u0 J4 k& w+ n+ H4 s* V( L5 t
  6. 4 x! o0 v% _3 }2 u8 |& M
  7. Fill memory before self refresh...done
    % G; u8 Z  P' G, N- P$ ~9 u7 L

  8. ) {# g  `9 N& K7 t
  9. Now in Self-refresh Mode
    # d0 P3 f6 [+ g5 S* u  N1 d$ C
  10. Restore CAS Read and Write Latency' v/ @: w% H0 W" N1 }4 \, u/ e
  11. Restore termination values to original values& ~$ M: _. O/ Y" p
  12. Exited self-refresh ...% {9 G  f6 e7 S

  13. 8 v: d7 @: K6 k6 v* [
  14. DLL TUNING
    1 q" K( u* H2 v- ~5 I" z, [& M
  15. ==============" R3 Y: F0 G/ v+ ?) S% ^1 E
  16.    DLL 0xc0001050[21:16]: [0,31,18]
    " V. \: z( {: P6 y. v
  17.    DLL 0xc0001050[29:24]: [0,2b,15]% E" e0 T2 g7 Z& o; L3 w
  18.    DLL 0xc0001054[21:16]: [0,32,19]
    : j$ |, b* U9 P6 s  K6 T* ]
  19.    DLL 0xc0001054[29:24]: [0,2d,16]) E9 e! u8 _) t; |
  20.    DLL 0xc0001074[21:16]: [0,3f,1f]
    : ~$ G, ?$ y' [/ X2 m6 r; G
  21.    DLL 0xc0001074
    / O0 [/ }# Y  Y  m2 K/ x

  22. ! y3 j8 j6 |% M# n. _4 Z1 O
  23. U-Boot 2017.03-armada-17.10.1 (Mar 07 2018 - 17:11:33 +0800)
    6 Z, E6 l! S4 [" h
  24. 0 q& o4 W" q; P8 V8 F  O# n
  25. Model: Marvell Armada 3720 for Eli Cat6 L& D7 I0 @0 s: ^8 E: f/ Z; i5 ?
  26.        CPU    @ 1000 [MHz]2 u1 Z$ P+ U- }- u1 R6 R0 u
  27.        L2     @ 800 [MHz]
    ! X/ n* V" T6 o- _. Q
  28.        TClock @ 200 [MHz]7 O  C/ ^0 ]% g" L" J
  29.        DDR    @ 800 [MHz]
    : p, i2 C; l" {' A3 _2 ]5 \
  30. I2C:   ready
    * p# y3 X2 v: ^
  31. DRAM:  512 MiB+ F0 T2 G; ?9 A
  32. U-Boot DT blob at : 000000001f73a520
    7 |( \' D" r# f
  33. SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
    8 O, o/ x7 s& Q7 X, M
  34. *** Warning - bad CRC, using default environment' N* p: n4 x% L$ p0 o  c) H

  35. $ g- F& ~$ h3 l! H$ A
  36. MMC:   for ssg ledsdhci@d8000: 0
    7 \) u+ N4 w& w9 T0 p
  37. 12931 bytes read in 16 ms (789.1 KiB/s)8 O/ U6 u; \! M
  38. gpio: pin GPIO23 (gpio 39) value is 1
    ( x; C/ y# m, @& q
  39. gpio: pin GPIO23 (gpio 39) value is 16 t+ K( M; `; z+ ?4 s0 S
  40. gpio: pin GPIO23 (gpio 39) value is 1" k. h* K" g0 _% W! W
  41. Comphy-0: USB3_HOST0    5 Gbps    - o( O) K, o* K! [2 E! Y1 M
  42. Comphy-1: SGMII0        1.25 Gbps
    & J- H( ]; d# _3 j' V- S
  43. Comphy-2: SATA0         6 Gbps    + ?; w6 {4 r- L+ Z! V" Y
  44. gpio: pin GPIO23 (gpio 39) value is 1
    : r( z& i0 a2 Z# |* ?6 _
  45. 12931 bytes read in 4 ms (3.1 MiB/s)
    + q+ u& V, v; U9 [! O
  46. Enter Normal mode7 z0 I3 k1 |" v2 Z
  47. SCSI:  Hit any key to stop autoboot:  0
复制代码

; ~( R7 _. V) X- w7 H补充下:这样修改后,只能一次有效请删除mmc 0:3 分区的rootfs.tar.bz2和upgrade_eli_38.img文件。8 f) z9 [0 c* m) ]# ]5 u# N5 W
或者直接在linux shell里面刷写新uboot
1 v" D$ Y9 t0 k! i2 N! s7 ^9 u) p9 B: b/ W8 B

  Q9 }* N$ n3 U; x% d4 K5 j! w* A% |6 j& @! e, T! |2 V. |

评分

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

查看全部评分

5

主题

57

回帖

491

积分

中级渣柚V1

积分
491
xingjiwoniu 发表于 2019-10-9 15:50:15 | 显示全部楼层 IP:–江苏–宿迁 移动
本帖最后由 xingjiwoniu 于 2019-10-9 16:00 编辑
5 p6 [" Y3 |7 }; a# r
. o4 i3 P" P# f3 \$ ^感谢分享

4

主题

78

回帖

706

积分

中级渣柚V2

积分
706
tkunming 发表于 2019-10-9 16:07:37 | 显示全部楼层 IP:–湖南–永州 移动
谢谢分享

7

主题

450

回帖

706

积分

中级渣柚V2

积分
706

热心会员

along1231 发表于 2019-10-9 17:09:08 | 显示全部楼层 IP:–广东–东莞 电信
感谢分享
& R& X+ N6 Q  g, P/ Y

1

主题

20

回帖

204

积分

中级渣柚V1

积分
204
kristy 发表于 2019-10-9 17:10:58 | 显示全部楼层 IP:–浙江–杭州 电信
收藏 感谢!

4

主题

114

回帖

323

积分

中级渣柚V1

积分
323
GokuSun 发表于 2019-10-9 20:25:44 | 显示全部楼层 IP:–安徽–阜阳–颍州区 电信
按照你这个执行不成功啊

5

主题

79

回帖

424

积分

中级渣柚V1

积分
424
 楼主| tymfl 发表于 2019-10-9 20:36:10 | 显示全部楼层 IP:–重庆–重庆 长城宽带
GokuSun 发表于 2019-10-9 20:25  X2 Q1 d) g( e5 Z+ m4 L
按照你这个执行不成功啊
/ _$ D" ^& t$ u' K% d/ q- o% q% B6 X
还是提示找不到?

0

主题

12

回帖

40

积分

初级渣柚V1

积分
40
kuangogrish 发表于 2019-10-9 20:45:54 | 显示全部楼层 IP:–上海–上海–杨浦区 电信
顶一下顶一下1 D3 ?+ k& Z3 L$ B

4

主题

114

回帖

323

积分

中级渣柚V1

积分
323
GokuSun 发表于 2019-10-9 20:48:03 | 显示全部楼层 IP:–安徽–阜阳–颍州区 电信
tymfl 发表于 2019-10-9 20:36
! ?1 q/ A% ?8 S( ^还是提示找不到?

: _; c2 Z" S, f3 J5 U+ _. z是还是原样子,启动还是end Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance., ~2 q+ {" {; p, d  z- B
完全按照您的步骤做的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-4-26 12:39 , Processed in 0.414294 second(s), 35 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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