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

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

[复制链接]

5

主题

79

回帖

424

积分

中级渣柚V1

积分
424
tymfl 发表于 2019-10-9 15:22:10 | 显示全部楼层 |阅读模式 IP:–重庆–重庆 长城宽带
本帖最后由 tymfl 于 2019-10-11 23:47 编辑
* |% ~$ C% K% o  ?, F& N3 {$ p# v1 N* U* B) r* I) U& n( e
入手一台伊拉克成色猫盘故障机,连好ttl上电以后
% u* B8 N! U- _' Y0 Y- X7 B
  1. TIM-1.0
    8 U7 E* u1 z6 n
  2. WTMI-armada-17.10.1-. H5 v. D& Y, Z( w
  3. .........- {& M0 R" m( ?( `6 h5 Q
  4. SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
    : z! y! o' {$ R! m' }  D
  5. *** Warning - bad CRC, using default environment
    / Y% N: a# ]4 {% l: G  W6 o

  6. * Y. T& O. w, Z, ^, w9 e# n: n
  7. MMC:   for ssg ledsdhci@d8000: 0/ L6 G- W1 r+ b4 N
  8. ** File not found boot/armada-3720-customer0.dtb **) T! e4 l# w& P  n/ H3 h/ a
  9. ** File not found boot/armada-3720-customer0-minifs.dtb **
    4 T* @! \/ p! f) p( b' @
  10. test_mmc_ext4_exist ==12 k/ a# r/ A0 x; M; X$ s
  11. Comphy-0: UNCONNECTED  2 m: y7 [8 A! |2 L5 |0 R2 V
  12. Comphy-1: UNCONNECTED  
    . C7 I( N' _9 c& m
  13. Comphy-2: UNCONNECTED  , x, X0 p- u& u6 C) A& q, e
  14. gpio: pin GPIO23 (gpio 39) value is 1
    5 H# E" I2 R" d& Z4 |
  15. ** File not found boot/armada-3720-customer0.dtb **, F" x$ Q0 A: x! q0 Q
  16. ** File not found boot/armada-3720-customer0-minifs.dtb **" g+ z8 g: Z6 k6 s5 J! n
  17. Enter Recovery mode  ], K; t) _% ~# R  ~
  18. SCSI:  Hit any key to stop autoboot:  0
复制代码
发现无法找到dtd文件,进入了恢复模式,直接启动或按住reset启动均启动失败,启动信息如下:1 U" x9 N9 |  u- T, R1 _
  1. Marvell>> boot
    6 c& ?) m% U% L. M2 c+ n
  2. SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB9 U2 m+ k) t5 h
  3. device 0 offset 0xcc000, size 0x4340001 y: ^$ k$ m4 K' @. c. J
  4. SF: 4407296 bytes @ 0xcc000 Read: OK2 R9 D" r- r# N0 d" R4 s
  5. gpio: pin GPIO21 (gpio 37) value is 1
    / ~$ K. E/ K7 H6 Q7 i+ T9 _# D
  6. gpio: pin GPIO22 (gpio 38) value is 1
    ' }' _9 j3 o9 _% F7 w
  7. Uncompressed size: 8992256 = 0x893600( c3 [4 F+ g6 O1 Y+ M+ ?" {. [7 J
  8. device 0 offset 0xc8000, size 0x4000
    1 R3 H, u1 ]( W8 Q- ^- ^! a/ \: R
  9. SF: 16384 bytes @ 0xc8000 Read: OK
    + |0 f; y: w6 x$ [5 b
  10. ## Flattened Device Tree blob at 04f00000
    2 v) e" v- M: t/ B0 F
  11.    Booting using the fdt blob at 0x4f00000' E* p. a/ U! A. l4 i, F1 \* {
  12.    Using Device Tree in place at 0000000004f00000, end 0000000004f05df8
    . V7 M  Z$ @$ m
  13.   j$ \. x" Z$ Q, ^" Q
  14. Starting kernel ...
    6 f( `5 z7 ^+ |/ X4 H+ a6 |

  15. : c& H. h3 b; H* O) \+ P
  16. .........- |+ T* N' t( f6 ?& q1 `  |
  17. [    2.786623]  mmcblk0: p1 p2 p38 K5 }! y3 M( h
  18. [    2.801201] Starting init: /sbin/init exists but couldn't execute it (error -5)
    * C& c) Z1 m7 W* `
  19. [    2.813804] cramfs: bad compressed blocksize 4294298135/ V1 [) C* _! G, Y
  20. [    2.819206] Starting init: /bin/sh exists but couldn't execute it (error -5)/ ~8 P# G8 w( M7 k/ {5 a& i+ 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.: O, A$ m, H5 P4 z0 @9 c
  22. [    2.840101] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #211 V3 O, \$ v: G" W1 I* _
  23. [    2.847399] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)
    / |& P# V' m( l
  24. [    2.854957] Call trace:
    0 t  u5 f3 ]* p. r* b
  25. [    2.857401] [<ffffffc000089b10>] dump_backtrace+0x0/0x108
    1 k9 W; e) ?" g! ~
  26. [    2.863150] [<ffffffc000089c2c>] show_stack+0x14/0x201 w; f( u4 h: x7 }% c
  27. [    2.868371] [<ffffffc00029f280>] dump_stack+0x98/0xb8
    + D5 S4 G" ?5 r( F
  28. [    2.873592] [<ffffffc00012b32c>] panic+0xd4/0x218
    ( [! ^, T. ]: L
  29. [    2.878454] [<ffffffc000621d0c>] kernel_init+0xdc/0xe0
    ) ^0 ^/ \* m/ j$ Y
  30. [    2.883761] [<ffffffc000085dd0>] ret_from_fork+0x10/0x402 ~, j- f% i2 d+ c
  31. [    2.888890] CPU0: stopping
    2 I, Z. w: V1 \4 R) Y: E: w/ V8 E
  32. [    2.891949] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #21
    / h& j8 b7 I0 w" N+ [, z1 ^4 I
  33. [    2.899505] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)6 n2 Y& B6 j0 U2 f7 `. z2 X' a
  34. [    2.907154] Call trace:2 f3 u4 @* V6 x& h: W2 `
  35. [    2.909861] [<ffffffc000089b10>] dump_backtrace+0x0/0x108  `" D. Q5 f. e9 r% j$ J
  36. [    2.915269] [<ffffffc000089c2c>] show_stack+0x14/0x209 j8 p" K& }9 K. U) y* H# f" ]& Q' L3 D) f6 N
  37. [    2.920580] [<ffffffc00029f280>] dump_stack+0x98/0xb8
    ) X$ S( w$ h# z6 i3 M, g
  38. [    2.925892] [<ffffffc00008efc0>] handle_IPI+0x190/0x1a02 B0 X( y, }3 P3 w
  39. [    2.931030] [<ffffffc000082598>] gic_handle_irq+0x78/0x1688 {! g! Q. d6 A  W2 D5 u- H
  40. [    2.936969] Exception stack(0xffffffc0008abda0 to 0xffffffc0008abed0)
    , C. J( N4 U4 n7 v: J
  41. [    2.943547] bda0: ffffffc0008ae000 0000008000000000 ffffffc0008abf00 ffffffc000086840' t. H0 N3 k* `5 H& s
  42. [    2.951467] bdc0: 0000000000000145 ffffffc000890000 0000000000000000 0000000000000000) I/ _. e! `3 {% ]
  43. [    2.959567] bde0: 0000000000000001 0000000000000000 00000000000001c0 0100000000000000! ~3 t+ ^- F9 l2 [
  44. [    2.967757] be00: 0000000000000001 ffffffc01bfcddc0 00000000fffeddda ffffffc0008abe80* `, c+ e% U7 i9 K* U9 v/ c; ~4 E
  45. [    2.975676] be20: 00000000000006d0 0000000000000000 0000000000000000 00000000058e8eff
    * r4 [" R9 C3 p% L
  46. [    2.983954] be40: ffffffc00426c260 00000000000075af 00000000000ba7a2 0000000000000000
    8 _, y$ q. t) q
  47. [    2.991876] be60: ffffff8000058548 ffffffc0008ae000 ffffffc0008ae8d8 ffffffc00088cad8
    1 h- r8 _, }0 l% T6 w1 v4 J: H# C- [
  48. [    2.999886] be80: ffffffc0008abf20 ffffffc000631000 ffffffc000890000 ffffffc0008ae0006 ^7 n% A5 h1 G( n# r
  49. [    3.007986] bea0: ffffffc0008a8000 0000000000000000 0000000000000000 ffffffc0008abf00
    2 r/ r& m" J, C& ^% M8 G' i. x
  50. [    3.016353] bec0: ffffffc00008683c ffffffc0008abf00
    1 m" K1 b' Q0 j+ v  \7 [
  51. [    3.021215] [<ffffffc000085700>] el1_irq+0x80/0xf8  _, J- O, h, P8 ]
  52. [    3.026168] [<ffffffc0000d8164>] default_idle_call+0x1c/0x38
    4 _( q5 m! D) @; w/ c
  53. [    3.032373] [<ffffffc0000d8398>] cpu_startup_entry+0x1c8/0x2189 u" g/ Y& k) C" @4 ^  P( s) Q
  54. [    3.038411] [<ffffffc000621c20>] rest_init+0x88/0x986 ?, v$ K" X2 k' d  s7 W' b: }
  55. [    3.043192] [<ffffffc00084d950>] start_kernel+0x384/0x3981 {5 M8 g2 c+ F$ c7 f
  56. [    3.048948] [<0000000000627000>] 0x627000
    * l2 Y4 Y0 y! |' e3 H- T
  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 下获取的一些信息0 p9 w6 Z6 ?! _; g
  1. # 查看文件夹 发现boot为空, j2 U5 K+ \0 C$ O4 m
  2. Marvell>> ext4ls mmc 0:1 /boot8 N& v8 v  F) u! ]5 j
  3. <DIR>       4096 ./ \: p- v: X) M% k) Y* H# ^+ i
  4. <DIR>       4096 ..; U: `5 J& ^' U6 S- Q
  5. ! E" L+ }$ j' u8 G# {5 I. w' u
  6. # 无法启动usb
    / y# c( S! Q: g- w' V3 x
  7. Marvell>> usb start
    ; l* }$ Z! m$ a% [. K. e4 J! i2 K
  8. starting USB...- J" I# k9 Y7 j: _* e9 J
  9. No controllers found
复制代码
猜测可能是误删了/boot下的文件导致的,无法通过U盘启动
; h& |# h3 a( H) l

& Y5 B4 r% y2 v2 `9 V                               
登录/注册后可看大图

0 p- d% q; L5 C  g& l3 s启动进入uboot输入如下命令9 _; _. G1 p. ^/ v6 z2 r
  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;"
    ( [+ v9 z8 Z: `5 Z* Z$ V6 t
  2. setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p1 rootwait rw init=/bin/sh"+ I9 O0 F3 [6 Z& @; Y9 \. I# a
  3. boot% P" h; P/ e" g. m  P! Z
  4. booti 0x5000000 - 0x4f00000
复制代码
即可进入linux shell3 g% O) j/ e9 u  s( V0 ~+ i
  1. # 查看存储设备
    & I4 V0 }# g& \- Y! T$ a; k9 n* h; \
  2. ls -l /dev/sd2 o. f5 j9 z- y4 d8 E2 Y: Q

  3. 9 e2 g5 W9 G7 j
  4. # 挂载
    / a3 J3 }# }( i/ c
  5. mount -t proc /proc
    0 o1 u* C( F( X4 [
  6. mount /dev/sda4 /mnt+ v/ t8 V: p$ _; N1 l9 G
  7. 6 T5 v  M  S. }. y- G5 e
  8. # 拷贝文件6 v. ]# e( ]6 P
  9. cd /mnt
    5 L. b. ^5 c+ W4 b7 j# x
  10. cp armada-3720-customer0.dtb /boot/( E2 q1 t& ]4 P6 C. P2 ?
  11. cp Image /boot/0 X& C- a. G* j! @/ c2 M+ ]

  12. & k, D( e( Z3 ~. [( u+ @2 v" x! x
  13. # 退出
    ; I) `7 r7 I9 ^* ~+ ]! Q
  14. exit
复制代码
重新插拔电源后恢复正常,uboot信息如下:
% J5 T3 |2 w% O% \( s: Q3 s
  1. TIM-1.0
    . Y6 N% {  l: J/ Y
  2. WTMI-armada-17.10.1-: F" Y$ m" |# D$ u/ v
  3. ENTER init_ddrgen
    5 R2 _1 S8 f" Z! F& z- e
  4. DDR_TOPOLOGY is 0 :        DDR3, 1CS 512M3 h. x+ G; [+ y- x9 V; u! d
  5. WTMI_CLOCK=2) d! z3 z& w# o. n" U  N, L/ I( F

  6. ( f- e5 ^+ A' }0 w
  7. Fill memory before self refresh...done
    ( f  z! [. v* x7 P. ?; |2 G. j
  8. & X2 W1 ?1 r) I" q
  9. Now in Self-refresh Mode
    ' Y  r- x- v0 V% q0 e
  10. Restore CAS Read and Write Latency4 ^; m. N5 v: d8 Q4 w
  11. Restore termination values to original values3 h: Y0 ?% H. e; b7 l% [
  12. Exited self-refresh ...
    ( }2 K$ L( c$ O, x
  13. / r: K4 G  D+ H: A! r6 d
  14. DLL TUNING# O+ r8 D  G1 n6 o: h/ N/ c
  15. ==============6 t: S+ j6 y* S1 Z2 i/ M/ z" d
  16.    DLL 0xc0001050[21:16]: [0,31,18]
    # F% l, O3 [' a' c
  17.    DLL 0xc0001050[29:24]: [0,2b,15]$ X' r. t) e5 d/ h
  18.    DLL 0xc0001054[21:16]: [0,32,19]$ g$ V8 u8 K( f7 E* R9 N
  19.    DLL 0xc0001054[29:24]: [0,2d,16]; J, J) \4 x# E# F
  20.    DLL 0xc0001074[21:16]: [0,3f,1f]( ?: a" @, T8 ^9 O2 a) M
  21.    DLL 0xc0001074
    9 c$ N* p5 w& F, `, s

  22. * V2 n. q( L$ ~. M+ K9 O3 C2 s
  23. U-Boot 2017.03-armada-17.10.1 (Mar 07 2018 - 17:11:33 +0800)
    , ?( A) H& C9 A+ R0 W

  24. 6 ^  m+ N" c' F8 s' k( A9 Q
  25. Model: Marvell Armada 3720 for Eli Cat& }/ ]$ `# D1 S5 B; f, g
  26.        CPU    @ 1000 [MHz]
    5 H$ w, A8 d# R$ G  S
  27.        L2     @ 800 [MHz]
    ; |6 ~: U$ ?2 K9 Q+ b
  28.        TClock @ 200 [MHz]8 j) S3 q2 \+ L0 O4 z$ T: R/ O
  29.        DDR    @ 800 [MHz], x: _- f1 T" n  \, P
  30. I2C:   ready ; x$ M- B# b. H) ^% l9 e+ H
  31. DRAM:  512 MiB; F  _% B  h2 }5 x. O
  32. U-Boot DT blob at : 000000001f73a520% ]" t# _. v9 s4 Y6 k
  33. SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB6 A; J& A5 ~/ |. d/ d" ?
  34. *** Warning - bad CRC, using default environment" A: o! ~$ R: u: O8 |3 I. N

  35. ! {  F) ^2 V; q: i& R1 o
  36. MMC:   for ssg ledsdhci@d8000: 0
    $ q7 d; C. r9 i0 _
  37. 12931 bytes read in 16 ms (789.1 KiB/s)$ c9 o& L4 ^9 C8 [5 K: i7 R' `, Z! X
  38. gpio: pin GPIO23 (gpio 39) value is 1) s! l. P- {) k" O3 {) p
  39. gpio: pin GPIO23 (gpio 39) value is 1
    # l# [- y" z) U! l% q
  40. gpio: pin GPIO23 (gpio 39) value is 1! W: l$ ]! F& q0 R) Q
  41. Comphy-0: USB3_HOST0    5 Gbps    8 d0 h- @7 ]$ y" X5 Z2 @
  42. Comphy-1: SGMII0        1.25 Gbps + X  |+ S+ y% i4 o% k% q, ~
  43. Comphy-2: SATA0         6 Gbps    & M& s# w3 @( I
  44. gpio: pin GPIO23 (gpio 39) value is 16 ?# H2 p( P. d- o
  45. 12931 bytes read in 4 ms (3.1 MiB/s)' y) [8 {- |% y* i; {+ Q, @2 x
  46. Enter Normal mode
    0 A* P/ K( |% g" F9 E4 }6 r
  47. SCSI:  Hit any key to stop autoboot:  0
复制代码

( W# M( z' H# Q! O' k' ?5 R8 u补充下:这样修改后,只能一次有效请删除mmc 0:3 分区的rootfs.tar.bz2和upgrade_eli_38.img文件。
) y% i8 l% w1 z, M* ?7 d或者直接在linux shell里面刷写新uboot$ l# N7 d6 C# U+ C

, z* Z9 D" }2 t* o3 q/ g
2 E: Y7 b) r6 ^: E0 H. T0 w9 @& ?: ~* ~5 w1 Q4 G$ 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 编辑
2 x5 G$ d  N1 P+ Y+ f* c  K! S4 j2 o7 @8 i' h
感谢分享

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:–广东–东莞 电信
感谢分享
; n' P. ]; F5 j) m; }8 Q

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
8 h& B# W' A; {3 i! j按照你这个执行不成功啊

* ]1 b& L" Q7 I8 j; K! c还是提示找不到?

0

主题

12

回帖

40

积分

初级渣柚V1

积分
40
kuangogrish 发表于 2019-10-9 20:45:54 | 显示全部楼层 IP:–上海–上海–杨浦区 电信
顶一下顶一下/ S% p* x/ r$ _9 C

4

主题

114

回帖

323

积分

中级渣柚V1

积分
323
GokuSun 发表于 2019-10-9 20:48:03 | 显示全部楼层 IP:–安徽–阜阳–颍州区 电信
tymfl 发表于 2019-10-9 20:36/ @* s. D- h6 B  p3 Q- B7 u
还是提示找不到?
4 I5 m4 r" q% w9 m7 y0 s8 t
是还是原样子,启动还是end Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.2 a) W6 J: g  K1 g
完全按照您的步骤做的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-6-12 01:26 , Processed in 0.087428 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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