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

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

[复制链接]

5

主题

79

回帖

424

积分

中级渣柚V1

积分
424
tymfl 发表于 2019-10-9 15:22:10 | 显示全部楼层 |阅读模式 IP:–重庆–重庆 长城宽带
本帖最后由 tymfl 于 2019-10-11 23:47 编辑 , p* Z/ [8 }8 p& q

) J& a- x3 Y5 w8 E# v& n0 x  ]' ~入手一台伊拉克成色猫盘故障机,连好ttl上电以后
8 H% }2 R$ V1 k
  1. TIM-1.0
    - t/ m0 P8 C/ ]3 X/ G
  2. WTMI-armada-17.10.1-% c% H/ J7 m8 \1 _  k" U
  3. .........0 e5 d, l) w5 @) Z  v. O4 I* R
  4. SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
    % A! u+ T7 {5 M, s
  5. *** Warning - bad CRC, using default environment
    4 P# J# m* _% ^1 I/ e
  6. 8 N6 \" f  F/ E1 {- m
  7. MMC:   for ssg ledsdhci@d8000: 0  e* i& w9 T8 G! Z6 w3 w% M
  8. ** File not found boot/armada-3720-customer0.dtb **
    ; s' l7 s% k% F; R
  9. ** File not found boot/armada-3720-customer0-minifs.dtb **( s) |# G2 a* f1 M. q/ T5 }
  10. test_mmc_ext4_exist ==1
    * _! ?, v5 l2 H2 O7 t) B7 }
  11. Comphy-0: UNCONNECTED  $ g- f/ Y. R8 ~  R* ^
  12. Comphy-1: UNCONNECTED  ; y' `2 p# {- j. Q1 c+ `
  13. Comphy-2: UNCONNECTED  
    # c5 J& ]. N, _" k7 `
  14. gpio: pin GPIO23 (gpio 39) value is 1$ S1 `; p, j( p  J( Z9 J- w
  15. ** File not found boot/armada-3720-customer0.dtb **
    1 G' Y2 _  L- d0 Z0 v  {. N! d
  16. ** File not found boot/armada-3720-customer0-minifs.dtb **. Z8 D4 O8 Q& ?1 Q0 C8 x
  17. Enter Recovery mode! Y2 D" H3 `/ \$ R( W; H2 a% |
  18. SCSI:  Hit any key to stop autoboot:  0
复制代码
发现无法找到dtd文件,进入了恢复模式,直接启动或按住reset启动均启动失败,启动信息如下:" g  b9 T+ k% v
  1. Marvell>> boot
    $ a8 ^9 y  ^( k' B1 p  \* d
  2. SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
    8 [. s/ ]0 j8 r+ y, b. V
  3. device 0 offset 0xcc000, size 0x434000- B& ?; r. _1 [
  4. SF: 4407296 bytes @ 0xcc000 Read: OK$ @  S7 C1 }/ a5 z- K4 g
  5. gpio: pin GPIO21 (gpio 37) value is 1
    ! B9 `. G" x8 [4 N
  6. gpio: pin GPIO22 (gpio 38) value is 1; ]# ]$ U" V, `1 b4 I
  7. Uncompressed size: 8992256 = 0x893600. u1 k, N( k1 t( q7 S9 M
  8. device 0 offset 0xc8000, size 0x4000* `5 t- `- p3 v# }/ S$ P, Z' F- R
  9. SF: 16384 bytes @ 0xc8000 Read: OK
    ; h6 c# Q" a+ ~; w# {
  10. ## Flattened Device Tree blob at 04f00000+ O; N8 }+ h% a9 D; R: O0 V
  11.    Booting using the fdt blob at 0x4f000000 b; w3 a3 A( G1 _+ U
  12.    Using Device Tree in place at 0000000004f00000, end 0000000004f05df8
    3 x' k/ c8 v# A2 V- _- [1 p' \
  13.   [  d/ c  W2 c) _+ x9 q
  14. Starting kernel ...; o* y3 f" A8 S6 @$ S+ x* L) `$ [

  15. , \, D8 k6 Q, Q, D2 T- a& s) F
  16. .........6 ]/ `# l" B" }# J
  17. [    2.786623]  mmcblk0: p1 p2 p3
    6 i  v* }! G- e+ e# f
  18. [    2.801201] Starting init: /sbin/init exists but couldn't execute it (error -5)1 ^" G- g" ?1 z7 h
  19. [    2.813804] cramfs: bad compressed blocksize 4294298135
      i" L2 ~! `' @
  20. [    2.819206] Starting init: /bin/sh exists but couldn't execute it (error -5). n* w* y$ H' t/ y: T/ 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.
    - s( f) W( L! o  P& J$ g
  22. [    2.840101] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #21& ?" f* [8 @2 e/ o3 O. f: j
  23. [    2.847399] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)
    % J! }2 u$ ~8 {" |7 l" z$ `
  24. [    2.854957] Call trace:( f2 J2 T$ z' a$ n+ U/ I- U5 C& g+ r
  25. [    2.857401] [<ffffffc000089b10>] dump_backtrace+0x0/0x1083 R9 k: L. H& y% c
  26. [    2.863150] [<ffffffc000089c2c>] show_stack+0x14/0x20
    5 M/ D9 @+ ?/ L, K( Q& Z4 a
  27. [    2.868371] [<ffffffc00029f280>] dump_stack+0x98/0xb8* A, l  t5 x+ l1 y) k
  28. [    2.873592] [<ffffffc00012b32c>] panic+0xd4/0x218
    ) r& c% C0 R& U7 b. e4 `
  29. [    2.878454] [<ffffffc000621d0c>] kernel_init+0xdc/0xe0
    ; Z. H+ ^3 s) V6 J
  30. [    2.883761] [<ffffffc000085dd0>] ret_from_fork+0x10/0x40* G0 B1 p. p. H
  31. [    2.888890] CPU0: stopping
    ! s. I2 T. C# G# L: d# d
  32. [    2.891949] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #21
    7 {8 O( G2 q+ [! z
  33. [    2.899505] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)
    7 M# k( j* y) c0 ?
  34. [    2.907154] Call trace:( l/ P8 J5 x! C& l
  35. [    2.909861] [<ffffffc000089b10>] dump_backtrace+0x0/0x108) E8 a7 @9 T2 d+ t+ U2 j7 R: o
  36. [    2.915269] [<ffffffc000089c2c>] show_stack+0x14/0x209 X! E) v3 H$ _  s: L3 s. N, H
  37. [    2.920580] [<ffffffc00029f280>] dump_stack+0x98/0xb8
    ! i1 K4 C& j4 R
  38. [    2.925892] [<ffffffc00008efc0>] handle_IPI+0x190/0x1a0- E% W0 G( t* Z$ V- \
  39. [    2.931030] [<ffffffc000082598>] gic_handle_irq+0x78/0x168
    9 C; b& T. O9 T* S/ y
  40. [    2.936969] Exception stack(0xffffffc0008abda0 to 0xffffffc0008abed0)
    $ b* Q( W! y! a
  41. [    2.943547] bda0: ffffffc0008ae000 0000008000000000 ffffffc0008abf00 ffffffc000086840
    ; E3 F7 o, l1 d) f/ e
  42. [    2.951467] bdc0: 0000000000000145 ffffffc000890000 0000000000000000 0000000000000000. J4 B. j, O- L# x( O3 E! }
  43. [    2.959567] bde0: 0000000000000001 0000000000000000 00000000000001c0 0100000000000000* h% ]5 @# J  u! U" p) R, C+ t
  44. [    2.967757] be00: 0000000000000001 ffffffc01bfcddc0 00000000fffeddda ffffffc0008abe80# g* l2 n3 O1 I& {# R
  45. [    2.975676] be20: 00000000000006d0 0000000000000000 0000000000000000 00000000058e8eff
    , ]  h- C3 i+ w& V, @
  46. [    2.983954] be40: ffffffc00426c260 00000000000075af 00000000000ba7a2 0000000000000000
    * F  q" N7 a- O) y" l" C9 V
  47. [    2.991876] be60: ffffff8000058548 ffffffc0008ae000 ffffffc0008ae8d8 ffffffc00088cad8
    2 E5 d# n6 F! ?7 R* n& o# Z
  48. [    2.999886] be80: ffffffc0008abf20 ffffffc000631000 ffffffc000890000 ffffffc0008ae000
    + _: u; \' I" X
  49. [    3.007986] bea0: ffffffc0008a8000 0000000000000000 0000000000000000 ffffffc0008abf00# _! ?! C! I5 n+ q
  50. [    3.016353] bec0: ffffffc00008683c ffffffc0008abf00
    ; _9 H  m! v+ R3 P' T( p5 H8 ^  W
  51. [    3.021215] [<ffffffc000085700>] el1_irq+0x80/0xf8. `4 Z0 [  `5 p  i% J# K
  52. [    3.026168] [<ffffffc0000d8164>] default_idle_call+0x1c/0x38
    * b7 [% }; S, ?. P# _# P* ^: d
  53. [    3.032373] [<ffffffc0000d8398>] cpu_startup_entry+0x1c8/0x218
    ) G  g/ k8 F; x& Y
  54. [    3.038411] [<ffffffc000621c20>] rest_init+0x88/0x98
    & U: Y# W- L6 N4 ^7 Z1 @
  55. [    3.043192] [<ffffffc00084d950>] start_kernel+0x384/0x398" o8 H' ~. {) C& ^6 u
  56. [    3.048948] [<0000000000627000>] 0x627000
    : M; l% L) c$ O# j! i2 d
  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 下获取的一些信息
5 L% b/ N! i  P% C& x9 Y
  1. # 查看文件夹 发现boot为空; [; m% p! D$ A
  2. Marvell>> ext4ls mmc 0:1 /boot/ d4 Y( [& _' L
  3. <DIR>       4096 .
    / @& N% [+ N: f  n. B
  4. <DIR>       4096 ..
    1 M& F  N9 C1 d' |  q

  5. 5 Z% e' Y6 t: w9 b; z" @& U! E# J
  6. # 无法启动usb
    . |) l* ^* a. g
  7. Marvell>> usb start
    * Q7 D! ]+ j. E6 ]/ \$ n- _0 [
  8. starting USB...
    & `* Y! Y. n1 {+ l1 X9 G' j8 D
  9. No controllers found
复制代码
猜测可能是误删了/boot下的文件导致的,无法通过U盘启动
+ H7 [2 u/ J/ K7 a+ Y; ]
: H7 x* e7 Y% U
                               
登录/注册后可看大图
/ I' v2 [( o- w/ c& O$ \8 z  X
启动进入uboot输入如下命令
" G( n- ?9 I. h/ G' T! a) v4 Y  G2 f
  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;"
      A' M5 h! p1 U, y
  2. setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p1 rootwait rw init=/bin/sh"
    , j  R6 i6 Y" T5 a; c  D+ g- ]9 g' x; t0 y  T
  3. boot
    5 n* j$ o( m: Q: Z4 k% C/ t- |
  4. booti 0x5000000 - 0x4f00000
复制代码
即可进入linux shell
# t0 ^  v( |8 W6 A
  1. # 查看存储设备1 f! O$ I4 ?  X/ T9 f0 {
  2. ls -l /dev/sd
    ' d- S; S7 e. y
  3. 6 Z: M$ ]. m$ {# ]% o9 |
  4. # 挂载3 O% s& t: }/ d$ ]4 Y& m0 d3 r
  5. mount -t proc /proc( N4 R1 @* ^9 M4 p
  6. mount /dev/sda4 /mnt3 S' A7 p9 J  b8 R7 \# Z7 [

  7. 7 p3 {! C4 \9 J3 A6 D/ o- L
  8. # 拷贝文件
    4 D/ C; A# Z; s8 ?4 R% V9 I
  9. cd /mnt
    . R2 O$ i& W6 w
  10. cp armada-3720-customer0.dtb /boot/) W* X# w' I2 \$ m0 K; _& _5 p
  11. cp Image /boot/
    / t+ l! R: ^; w) S7 L# z

  12. 9 b0 f/ P* s8 k2 Z) R+ h
  13. # 退出
    ! a; V9 w7 p3 a: P# v) Z, {/ t% `: i4 h
  14. exit
复制代码
重新插拔电源后恢复正常,uboot信息如下:
& k7 B1 O! m; `3 H, J9 N% V* Y7 K/ K
  1. TIM-1.05 o( u1 y1 R( e8 A$ [/ C/ i1 ~! G9 @
  2. WTMI-armada-17.10.1-
    , @) [7 A* W$ u# E
  3. ENTER init_ddrgen
    8 o1 Y: b7 B% b
  4. DDR_TOPOLOGY is 0 :        DDR3, 1CS 512M) q' A5 f  U, N; E. |' j
  5. WTMI_CLOCK=2
    % |- ~1 [. \4 |2 @% `

  6. * w5 i+ A# [2 F, i; g$ R) [  @9 i; S! Q
  7. Fill memory before self refresh...done9 p' z4 L1 }2 ^& f$ _' V
  8. * ?2 |9 t/ h' O4 h; Q
  9. Now in Self-refresh Mode
    $ \; E2 P0 G. y  i6 D& p; e8 p
  10. Restore CAS Read and Write Latency. X6 H9 O- ^0 R+ I- p) Q$ i
  11. Restore termination values to original values! }$ [7 I: q$ W5 I3 [& U5 S. U! N/ `
  12. Exited self-refresh ...6 w, n$ S" g; ~# a
  13. + K0 q1 J9 Y5 q, @+ U" V; {9 v7 p% g
  14. DLL TUNING: J. B. `3 T" K: q/ ^  V
  15. ==============
    * S% S' l3 R0 |9 O" ^
  16.    DLL 0xc0001050[21:16]: [0,31,18]
    2 B5 I; L9 x) j  o
  17.    DLL 0xc0001050[29:24]: [0,2b,15]* s- p" N' d/ p! u
  18.    DLL 0xc0001054[21:16]: [0,32,19]
    * o+ ^; i- O# }( \# X0 b
  19.    DLL 0xc0001054[29:24]: [0,2d,16]0 l7 w1 D* ^  I- H- Z
  20.    DLL 0xc0001074[21:16]: [0,3f,1f]
    % A4 c( F/ q- K, M! e. K% r: O
  21.    DLL 0xc0001074
    3 Y+ @. s" c6 [+ V

  22. 7 b2 T1 P5 N6 Z8 X' v
  23. U-Boot 2017.03-armada-17.10.1 (Mar 07 2018 - 17:11:33 +0800)2 a/ l* g" Q, R: d; a8 Z/ D5 l5 y

  24. 2 i5 V% F* p7 p) u6 \5 b
  25. Model: Marvell Armada 3720 for Eli Cat
    ; w6 J* a  c/ v+ F4 t- ]
  26.        CPU    @ 1000 [MHz]5 N+ V! H  L+ y
  27.        L2     @ 800 [MHz]1 P" @# i$ S9 G* r+ G" r2 d6 P
  28.        TClock @ 200 [MHz]
    ' k1 L# F4 D' b- @. b. A; |
  29.        DDR    @ 800 [MHz]% @; L: F5 s% O; O; z, i# R0 \+ ?
  30. I2C:   ready ! H9 h0 [- R0 Y( O$ b
  31. DRAM:  512 MiB
    : Y* Q; L: K9 x8 F
  32. U-Boot DT blob at : 000000001f73a520
    7 `. G1 k1 g& D7 W4 ~& N4 K/ f
  33. SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
    . E, y+ G/ ?) ]; N- ~
  34. *** Warning - bad CRC, using default environment: s& [. W1 G* H0 j' ?- s+ W

  35. 2 Z6 N7 h9 }1 e8 |, y
  36. MMC:   for ssg ledsdhci@d8000: 04 i  O& Z" h# O6 V
  37. 12931 bytes read in 16 ms (789.1 KiB/s)% ~9 K2 ?; [' N% s/ `
  38. gpio: pin GPIO23 (gpio 39) value is 1* U, I" h$ y+ I8 Y
  39. gpio: pin GPIO23 (gpio 39) value is 1
    6 V, i4 ^: U/ O$ S. j7 M2 q# f& O
  40. gpio: pin GPIO23 (gpio 39) value is 1
    9 o$ f) k0 T( v" d  z& E5 t) @. ]$ H
  41. Comphy-0: USB3_HOST0    5 Gbps   
    0 l; h! v$ J  Z0 t& h$ V
  42. Comphy-1: SGMII0        1.25 Gbps 6 V* m4 h! e( P+ l, _
  43. Comphy-2: SATA0         6 Gbps    8 V% A2 e6 e; d7 E$ Y0 ]0 y9 k9 \. m
  44. gpio: pin GPIO23 (gpio 39) value is 11 S6 U1 T$ L. R# g5 f* w! M0 a9 O
  45. 12931 bytes read in 4 ms (3.1 MiB/s)# ?+ i+ g# y/ P4 n& J2 N' j
  46. Enter Normal mode* ^# h1 U: z2 k* V
  47. SCSI:  Hit any key to stop autoboot:  0
复制代码

, l2 q- M4 z, ]" x% s2 F补充下:这样修改后,只能一次有效请删除mmc 0:3 分区的rootfs.tar.bz2和upgrade_eli_38.img文件。
% Q1 b+ w; k% y- O或者直接在linux shell里面刷写新uboot
3 e, b/ P! w0 }' ?. Y3 Q5 g5 D2 d- A9 H7 z9 q* z2 q' O* ^8 v
% o" ~% y% B: w$ k  _1 k
1 I/ S$ T4 X9 a0 q. P

评分

参与人数 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 O6 `% ]6 A  s5 ^  Y  Q6 E' o
: X3 i8 e( D8 ]+ A感谢分享

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:–广东–东莞 电信
感谢分享: }$ l8 R4 D3 {5 x

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
5 ~$ @( [7 ]( p3 ^按照你这个执行不成功啊
9 e% S9 f/ [  J, @5 v* a/ K
还是提示找不到?

0

主题

12

回帖

40

积分

初级渣柚V1

积分
40
kuangogrish 发表于 2019-10-9 20:45:54 | 显示全部楼层 IP:–上海–上海–杨浦区 电信
顶一下顶一下
  W! c" L; _  }

4

主题

114

回帖

323

积分

中级渣柚V1

积分
323
GokuSun 发表于 2019-10-9 20:48:03 | 显示全部楼层 IP:–安徽–阜阳–颍州区 电信
tymfl 发表于 2019-10-9 20:36
9 k  }& a  W' o还是提示找不到?

1 m6 o, {7 G5 v/ z- O7 \: h是还是原样子,启动还是end Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
6 P0 N1 O( v( x- I完全按照您的步骤做的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-9-23 21:30 , Processed in 0.066416 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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