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

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

[复制链接]

5

主题

79

回帖

424

积分

中级渣柚V1

积分
424
tymfl 发表于 2019-10-9 15:22:10 | 显示全部楼层 |阅读模式 IP:–重庆–重庆 长城宽带
本帖最后由 tymfl 于 2019-10-11 23:47 编辑
' b1 p3 W4 l+ P! M" c$ ~3 V$ O; b+ a& T
入手一台伊拉克成色猫盘故障机,连好ttl上电以后
) r' F) S& Y6 W# Q
  1. TIM-1.03 Z5 ~& J: m) X" v! J% I
  2. WTMI-armada-17.10.1-
    7 P) K& \. M2 A. `8 V$ H# ~
  3. .........$ o5 h' L/ I& f" ^
  4. SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB1 ^) A- d1 L) u- f  X& ~7 }7 C
  5. *** Warning - bad CRC, using default environment2 H2 o: V2 @" B) d, A
  6. ! J) ^* ^- H# e4 P5 O( }2 X
  7. MMC:   for ssg ledsdhci@d8000: 0
    0 w7 l% Z% _  |7 A$ L) e
  8. ** File not found boot/armada-3720-customer0.dtb **! a" e/ q- L. v* |4 ^! k8 q6 f. v( c, m
  9. ** File not found boot/armada-3720-customer0-minifs.dtb **
    5 S# `* T" V. z7 j2 e
  10. test_mmc_ext4_exist ==1
    9 p, i2 `1 K% ?8 [
  11. Comphy-0: UNCONNECTED  
    " N. v' K5 d# a% `
  12. Comphy-1: UNCONNECTED  
    # N) G8 G% ^2 m4 U! M
  13. Comphy-2: UNCONNECTED  
    " A. ~) W2 {: N
  14. gpio: pin GPIO23 (gpio 39) value is 1
    1 Y/ `, Y7 M4 K/ R. c; i
  15. ** File not found boot/armada-3720-customer0.dtb **
    % D' G5 g8 @1 U
  16. ** File not found boot/armada-3720-customer0-minifs.dtb **
    % K% P0 o4 L% U
  17. Enter Recovery mode
    7 b( x, r' W- n, g3 g! b
  18. SCSI:  Hit any key to stop autoboot:  0
复制代码
发现无法找到dtd文件,进入了恢复模式,直接启动或按住reset启动均启动失败,启动信息如下:
( O$ o" F$ z" [1 Z  R
  1. Marvell>> boot
    * l$ M6 o2 I/ ?1 J0 M) }9 T
  2. SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
    3 c* j& o0 K+ E& E8 J4 R
  3. device 0 offset 0xcc000, size 0x434000- j# w; E+ @: v) a  Z. z
  4. SF: 4407296 bytes @ 0xcc000 Read: OK
    ( N3 U3 ?) q8 @; @* c( a( i) F
  5. gpio: pin GPIO21 (gpio 37) value is 1# H+ ?% G$ u7 Y0 s" O6 y& `, b# b
  6. gpio: pin GPIO22 (gpio 38) value is 11 L+ T: a5 }7 k3 h! Y# X
  7. Uncompressed size: 8992256 = 0x8936006 {! j  f: R2 w
  8. device 0 offset 0xc8000, size 0x40001 z5 L- }% A/ b5 D5 C: D: b
  9. SF: 16384 bytes @ 0xc8000 Read: OK- _; m& v" b; `4 @! [
  10. ## Flattened Device Tree blob at 04f00000
      J5 P+ z' f. C* N4 T
  11.    Booting using the fdt blob at 0x4f00000' L: ^$ |9 D: U9 R# E
  12.    Using Device Tree in place at 0000000004f00000, end 0000000004f05df8
    ( o5 g4 q; ]2 }7 w5 ]+ {9 v

  13. 2 g2 L6 J% M: f( ^, |  |7 _, q
  14. Starting kernel ...
    " G2 C/ b, @( u. P2 y0 c7 c" _
  15. + X, q3 T% H/ i2 m8 u: l/ h
  16. .........
    # L% u* E7 D* Z9 r: w
  17. [    2.786623]  mmcblk0: p1 p2 p3
    / T! ]4 a/ S- }5 j. ~
  18. [    2.801201] Starting init: /sbin/init exists but couldn't execute it (error -5)! e! W- C3 ~! R; I& \9 }- R7 ]6 I/ G5 O
  19. [    2.813804] cramfs: bad compressed blocksize 4294298135
    8 _) H9 Z% n8 D3 P
  20. [    2.819206] Starting init: /bin/sh exists but couldn't execute it (error -5)
    : e4 l) W2 v1 a! Q
  21. [    2.826452] Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
    6 }* Q6 y: F/ J1 R/ O
  22. [    2.840101] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #21
    - `4 _% P. T( Y( M4 a
  23. [    2.847399] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)
    + q! j# \0 s; ?1 ?8 a7 z
  24. [    2.854957] Call trace:
    9 F" O9 y& ~7 n5 ~2 i# W+ R
  25. [    2.857401] [<ffffffc000089b10>] dump_backtrace+0x0/0x108
    0 c. R+ J4 I4 o; W' a+ t
  26. [    2.863150] [<ffffffc000089c2c>] show_stack+0x14/0x20
    # s4 G& M1 T, z2 F6 N3 s7 o9 r
  27. [    2.868371] [<ffffffc00029f280>] dump_stack+0x98/0xb8
    # x$ |& R1 n, k* m1 g3 S! t
  28. [    2.873592] [<ffffffc00012b32c>] panic+0xd4/0x2186 J9 j6 g% [+ f* l
  29. [    2.878454] [<ffffffc000621d0c>] kernel_init+0xdc/0xe0
    " K3 R* e2 S2 {
  30. [    2.883761] [<ffffffc000085dd0>] ret_from_fork+0x10/0x40
    $ n9 ]2 X" o) t
  31. [    2.888890] CPU0: stopping
    % L/ b, {0 v* ~: l" c
  32. [    2.891949] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #21" G. F$ G) k6 s0 K
  33. [    2.899505] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)
    " i" ^+ T, m5 T5 M9 Y; _6 W
  34. [    2.907154] Call trace:, C* G* c4 l+ x5 ^  p# E
  35. [    2.909861] [<ffffffc000089b10>] dump_backtrace+0x0/0x1083 g3 r) Z# C$ b& ?, p
  36. [    2.915269] [<ffffffc000089c2c>] show_stack+0x14/0x20) J2 M8 J6 g4 a9 g
  37. [    2.920580] [<ffffffc00029f280>] dump_stack+0x98/0xb86 e$ ~" k- e- D" d( r5 Z# y
  38. [    2.925892] [<ffffffc00008efc0>] handle_IPI+0x190/0x1a06 k1 y& ~4 e+ a0 L# K: |
  39. [    2.931030] [<ffffffc000082598>] gic_handle_irq+0x78/0x168( O; m( Q. d4 ~4 b% {  M5 z+ I9 i2 V
  40. [    2.936969] Exception stack(0xffffffc0008abda0 to 0xffffffc0008abed0)
    9 @+ Q1 @$ ?, E! J
  41. [    2.943547] bda0: ffffffc0008ae000 0000008000000000 ffffffc0008abf00 ffffffc000086840( z" z; X4 L$ Z0 j. T
  42. [    2.951467] bdc0: 0000000000000145 ffffffc000890000 0000000000000000 0000000000000000; A. H5 S3 c  f/ p& T' t
  43. [    2.959567] bde0: 0000000000000001 0000000000000000 00000000000001c0 0100000000000000! I9 z1 [$ n, z) `
  44. [    2.967757] be00: 0000000000000001 ffffffc01bfcddc0 00000000fffeddda ffffffc0008abe80
    . d0 e9 ?$ ~2 u/ d0 x$ N
  45. [    2.975676] be20: 00000000000006d0 0000000000000000 0000000000000000 00000000058e8eff9 C: x+ t! I7 \4 I# K
  46. [    2.983954] be40: ffffffc00426c260 00000000000075af 00000000000ba7a2 0000000000000000* @, L9 J: i5 J5 K
  47. [    2.991876] be60: ffffff8000058548 ffffffc0008ae000 ffffffc0008ae8d8 ffffffc00088cad8+ y  O6 k, S/ R3 b4 n( S8 }6 U: i
  48. [    2.999886] be80: ffffffc0008abf20 ffffffc000631000 ffffffc000890000 ffffffc0008ae000- Q+ e7 P, a3 n& O) u
  49. [    3.007986] bea0: ffffffc0008a8000 0000000000000000 0000000000000000 ffffffc0008abf00
    2 ]0 }* X) u' K' i, W" }
  50. [    3.016353] bec0: ffffffc00008683c ffffffc0008abf00
    ' ?8 M0 ~; J  o0 h  o& T
  51. [    3.021215] [<ffffffc000085700>] el1_irq+0x80/0xf8* P+ F/ y% w# {3 [
  52. [    3.026168] [<ffffffc0000d8164>] default_idle_call+0x1c/0x38: j. O3 U! c5 S' h$ R
  53. [    3.032373] [<ffffffc0000d8398>] cpu_startup_entry+0x1c8/0x218
    1 ], g* Z5 U0 h/ k. |6 j! J5 _, P
  54. [    3.038411] [<ffffffc000621c20>] rest_init+0x88/0x98
    % B! r' f7 `2 }
  55. [    3.043192] [<ffffffc00084d950>] start_kernel+0x384/0x3984 I4 C: o! W* F! p; D4 j8 h4 a
  56. [    3.048948] [<0000000000627000>] 0x627000
    ' K. G7 d4 I* q1 ?; K7 H
  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 下获取的一些信息- {2 ?' Z/ B: T0 J
  1. # 查看文件夹 发现boot为空
    : r- T! t6 q" n) n$ ~' o- E
  2. Marvell>> ext4ls mmc 0:1 /boot4 A( j. E2 Z, t/ g" P1 r) @
  3. <DIR>       4096 .+ P% E/ s1 U4 W+ a
  4. <DIR>       4096 ..
    : C( e* C) \9 {, l! v& l& B

  5. * X5 v8 R$ U, L# w
  6. # 无法启动usb. p$ |7 J. E3 W4 F1 x/ c
  7. Marvell>> usb start  q0 S6 X. K3 @7 W9 C
  8. starting USB...* v0 }; o: o) q( l( }
  9. No controllers found
复制代码
猜测可能是误删了/boot下的文件导致的,无法通过U盘启动8 @+ H" H9 m9 H  |( Z3 \4 j$ N) D
  u6 [" |/ l: e: X5 F9 Y
                               
登录/注册后可看大图
6 s4 \6 `7 R3 S; q2 k' f) |
启动进入uboot输入如下命令
9 Q% |8 I7 K3 i5 {4 C9 ?, [
  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;"! w& @3 ^! B' f5 l3 d+ j5 k
  2. setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p1 rootwait rw init=/bin/sh"
    ! [( v/ E5 p, e& Z  u3 t
  3. boot
    9 R( ^' k1 v6 ^  B+ g4 Q: {
  4. booti 0x5000000 - 0x4f00000
复制代码
即可进入linux shell
' F  Y: ~9 R9 e- i2 z: F
  1. # 查看存储设备/ e, F+ h+ [4 M3 ^' N. x) l! H  e
  2. ls -l /dev/sd
    , R7 n2 s4 G  H- j% ?  n
  3. & F& _% r  d' J; o* s& \4 p
  4. # 挂载2 `7 N  Z( U; `3 ]" z4 `1 d/ N) I( y7 [
  5. mount -t proc /proc
    : U! m8 Z  R+ |2 |* X7 T
  6. mount /dev/sda4 /mnt' ?: w/ @8 x. s4 B) h% b
  7. % _. K8 v3 a6 @7 ]4 ]9 }. h
  8. # 拷贝文件  K; s; O5 ^/ F' b1 U/ ]2 v3 ]: Y
  9. cd /mnt
    1 C7 I: D' N3 K
  10. cp armada-3720-customer0.dtb /boot/1 ]- X* Z0 D$ V2 S
  11. cp Image /boot/
    7 z/ B- H1 G5 R( ]' j( ^+ ~
  12. 0 `4 \& `- Y* O1 p
  13. # 退出
    1 r3 l* y: ~5 }1 l: t& |
  14. exit
复制代码
重新插拔电源后恢复正常,uboot信息如下:+ J/ q, X: z2 ^7 e4 C' b
  1. TIM-1.0
    1 h% P+ r; i1 y+ ?, j' S
  2. WTMI-armada-17.10.1-0 z( S, B8 U' X; n1 `8 V
  3. ENTER init_ddrgen6 L) B# T5 p) s8 e0 M+ Z" R$ v8 J0 ]
  4. DDR_TOPOLOGY is 0 :        DDR3, 1CS 512M1 f% I. G; d7 b6 H
  5. WTMI_CLOCK=2
    0 D# b& L. l) u; d# f) Z
  6. 9 x0 B7 B; D$ L3 ?5 M
  7. Fill memory before self refresh...done9 @; r" i8 `& f- Z. z# k) Y
  8. ! Z) I/ ~& q* K
  9. Now in Self-refresh Mode- Y! f( G+ T0 S, m: u
  10. Restore CAS Read and Write Latency# A& X& L0 Z( f+ `
  11. Restore termination values to original values
    * ^+ K/ i9 H  Y# D+ V- l! A
  12. Exited self-refresh ...
    5 w7 `/ K& |; ~. e

  13. 6 L) ]6 O3 v; Z9 V
  14. DLL TUNING
    ' _2 H  E9 c- ]; U. w
  15. ==============& Y  e# \3 u& i4 R3 `. |& k
  16.    DLL 0xc0001050[21:16]: [0,31,18]( _3 y3 d8 m1 V$ @5 F& r# b3 V
  17.    DLL 0xc0001050[29:24]: [0,2b,15]& O) H: L6 l0 D; {7 j! J0 L
  18.    DLL 0xc0001054[21:16]: [0,32,19]( d: d: ^! M( f. u
  19.    DLL 0xc0001054[29:24]: [0,2d,16]- g: m* M7 C  g* I: r! x
  20.    DLL 0xc0001074[21:16]: [0,3f,1f]1 H  E7 k3 _6 U
  21.    DLL 0xc00010740 v) s& |7 y/ F& B  m/ f/ X) y
  22. 6 x( E4 ^, A: x" Z+ l6 k
  23. U-Boot 2017.03-armada-17.10.1 (Mar 07 2018 - 17:11:33 +0800)
    - X) J7 k1 U* [# D+ b

  24. ' _% Y; m  K/ @
  25. Model: Marvell Armada 3720 for Eli Cat, K) x) x5 d$ F! v0 e6 x, s' i
  26.        CPU    @ 1000 [MHz]1 i/ I0 i# |/ U1 z& h3 p" ]# U% y
  27.        L2     @ 800 [MHz]
    ' F# _& ]  _9 Q9 j; W, ~/ d! W
  28.        TClock @ 200 [MHz]
    9 Y: g' C3 e5 _$ \% W* F
  29.        DDR    @ 800 [MHz]7 d5 f1 ~; l% z8 p
  30. I2C:   ready
    8 F4 u/ _4 _. ~: |/ t
  31. DRAM:  512 MiB
    ; r8 Z6 u+ a6 A8 Q* Q. Q
  32. U-Boot DT blob at : 000000001f73a520
    9 ?) A- C4 V) M. B% G! [: `
  33. SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB* w& j, n) B2 g3 K
  34. *** Warning - bad CRC, using default environment# L0 }8 O7 y6 b

  35. ' \( l9 ?, c% k# n9 y
  36. MMC:   for ssg ledsdhci@d8000: 0# N- U/ O" s4 Q, P
  37. 12931 bytes read in 16 ms (789.1 KiB/s)7 x6 {9 A8 F( h
  38. gpio: pin GPIO23 (gpio 39) value is 16 Q) w1 Z! {4 X+ G5 w
  39. gpio: pin GPIO23 (gpio 39) value is 1
    / |/ j. n+ ]5 g) m  S& n: q
  40. gpio: pin GPIO23 (gpio 39) value is 1
    " Z6 e+ O/ R/ `; j
  41. Comphy-0: USB3_HOST0    5 Gbps    8 l) o1 ^6 w$ d; E+ r) o
  42. Comphy-1: SGMII0        1.25 Gbps
    9 A$ D0 z4 h9 j: c; R) o
  43. Comphy-2: SATA0         6 Gbps   
    : o' [  D, o1 @, c4 J, N1 G
  44. gpio: pin GPIO23 (gpio 39) value is 1
    1 ^9 R. |7 ]0 o( _+ @' Z
  45. 12931 bytes read in 4 ms (3.1 MiB/s)" n' d) I  A4 [
  46. Enter Normal mode
    , X! T4 E# H) p$ _% u0 J9 r" v
  47. SCSI:  Hit any key to stop autoboot:  0
复制代码
$ |$ _" a1 ^& P% O" M0 n5 |+ d
补充下:这样修改后,只能一次有效请删除mmc 0:3 分区的rootfs.tar.bz2和upgrade_eli_38.img文件。
0 w  E( s; b" Y; J* [' P或者直接在linux shell里面刷写新uboot
& x) H) b/ G- W/ w' B8 C
/ M0 \, s' @" x; m0 P3 T* w6 l4 H: E' ^+ W

4 ?/ i/ Z2 w! R0 H! e

评分

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

查看全部评分

5

主题

57

回帖

491

积分

中级渣柚V1

积分
491
xingjiwoniu 发表于 2019-10-9 15:50:15 | 显示全部楼层 IP:–江苏–宿迁 移动
本帖最后由 xingjiwoniu 于 2019-10-9 16:00 编辑 8 x5 O2 D) t6 N2 {* S+ |
% i- e( ]7 o! X0 J
感谢分享

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:–广东–东莞 电信
感谢分享% q" @; b0 H! ~6 J3 F  W1 }# h

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# i( T1 @- b, K0 F# x' z8 p2 |- `
按照你这个执行不成功啊

) D* P; A5 _- w) o! Y还是提示找不到?

0

主题

12

回帖

40

积分

初级渣柚V1

积分
40
kuangogrish 发表于 2019-10-9 20:45:54 | 显示全部楼层 IP:–上海–上海–杨浦区 电信
顶一下顶一下
& R$ V; g8 n! @

4

主题

114

回帖

323

积分

中级渣柚V1

积分
323
GokuSun 发表于 2019-10-9 20:48:03 | 显示全部楼层 IP:–安徽–阜阳–颍州区 电信
tymfl 发表于 2019-10-9 20:36
0 ^- N0 M7 s. j  N* h$ g* ?还是提示找不到?
, @' [* n1 b$ o9 r9 Z0 ]6 n
是还是原样子,启动还是end Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
4 V( c6 x: `1 `5 R) k1 U1 g, x完全按照您的步骤做的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-4-26 11:18 , Processed in 0.234792 second(s), 38 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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