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

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

[复制链接]

5

主题

79

回帖

424

积分

中级渣柚V1

积分
424
发表于 2019-10-9 15:22:10 | 显示全部楼层 |阅读模式
本帖最后由 tymfl 于 2019-10-11 23:47 编辑
8 j; s* a; Q5 C6 r- I3 O
: q  N- u* X7 |" v入手一台伊拉克成色猫盘故障机,连好ttl上电以后% a) n: P8 K! V3 _4 r% l0 h
  1. TIM-1.0
    5 j2 A: Y8 m3 A! J6 E; v% n
  2. WTMI-armada-17.10.1-# E7 W# R/ x$ S% L+ w+ Z6 p" J" M
  3. .........) @- f5 g# \( Z0 R
  4. SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB  K) ^! `/ B& g3 D
  5. *** Warning - bad CRC, using default environment
    ) h; a) e. W6 _3 V, J, H

  6. 7 W% s1 V0 y5 H
  7. MMC:   for ssg ledsdhci@d8000: 0/ i0 z" P; L' ^/ B: k: L5 U$ F: i
  8. ** File not found boot/armada-3720-customer0.dtb **
    4 I- ]. S6 ?4 X7 K8 W" P
  9. ** File not found boot/armada-3720-customer0-minifs.dtb **
    " f  o+ H. E9 u# a
  10. test_mmc_ext4_exist ==10 y' F: D5 @: B  g; B1 r6 W
  11. Comphy-0: UNCONNECTED  . i( }# P2 C: H4 J
  12. Comphy-1: UNCONNECTED  ) E( n1 ~- Y+ H$ y" z
  13. Comphy-2: UNCONNECTED  3 Y2 L, I" f& W3 N  g& g( V* r
  14. gpio: pin GPIO23 (gpio 39) value is 1( D2 ^$ e- B) ]- E
  15. ** File not found boot/armada-3720-customer0.dtb **6 ]% a( F% S( b" b0 I
  16. ** File not found boot/armada-3720-customer0-minifs.dtb **
    + C7 c  a$ ~. F$ M! O6 C
  17. Enter Recovery mode1 t5 U3 M+ M8 V. Z2 A1 ^+ G( T
  18. SCSI:  Hit any key to stop autoboot:  0
复制代码
发现无法找到dtd文件,进入了恢复模式,直接启动或按住reset启动均启动失败,启动信息如下:% l' _: V' G. J* k& m
  1. Marvell>> boot! e8 z( M' X$ D) m- f! a$ j. \  v/ ~
  2. SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
    . N  z4 I' ?! G: E; e
  3. device 0 offset 0xcc000, size 0x434000& E) i  x& @  b  O
  4. SF: 4407296 bytes @ 0xcc000 Read: OK. d  O  ]3 s6 y
  5. gpio: pin GPIO21 (gpio 37) value is 17 b0 |. r0 t6 w' Z6 l9 z
  6. gpio: pin GPIO22 (gpio 38) value is 1
    : P$ K1 a+ G5 ^
  7. Uncompressed size: 8992256 = 0x893600% e- ~" a( ~: w1 V
  8. device 0 offset 0xc8000, size 0x4000
    6 k8 _: l6 A7 f" e; i1 S4 y, K# l) H
  9. SF: 16384 bytes @ 0xc8000 Read: OK
    " i: u  @1 u+ K- a7 c
  10. ## Flattened Device Tree blob at 04f00000
    & S( q" s( R0 ?9 ~2 l. Z
  11.    Booting using the fdt blob at 0x4f00000
    7 V. {8 C* a( m6 [( g. D$ q
  12.    Using Device Tree in place at 0000000004f00000, end 0000000004f05df8
    " F6 X$ E9 g$ s1 [0 \- `8 j: w

  13. 2 J  M& R9 o9 T
  14. Starting kernel ...9 L* W7 s4 R3 D; J/ f# Q6 e

  15. 3 z7 z$ M" a/ N6 d5 n9 q+ G* x
  16. .........
    ! {8 Y7 i" `$ X. s/ x8 L4 e$ J
  17. [    2.786623]  mmcblk0: p1 p2 p3
    9 Y1 x$ v; @2 t: v9 t. E
  18. [    2.801201] Starting init: /sbin/init exists but couldn't execute it (error -5)) A1 Z/ S, `# B
  19. [    2.813804] cramfs: bad compressed blocksize 4294298135
      l5 c& q$ J3 f3 ?& `/ |
  20. [    2.819206] Starting init: /bin/sh exists but couldn't execute it (error -5)" T# J3 j1 b. ?% b. W& b- E6 `7 x
  21. [    2.826452] Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
    3 ]/ [/ U8 X5 B. o: L$ g7 J
  22. [    2.840101] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #21" [" u# Z% @, U, L
  23. [    2.847399] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)& T  X$ k1 P- r3 t) M* h9 x, I
  24. [    2.854957] Call trace:) k$ h% S1 }  T5 f9 E4 b
  25. [    2.857401] [<ffffffc000089b10>] dump_backtrace+0x0/0x108
    8 Y: E' J5 v8 K$ ?( s/ M
  26. [    2.863150] [<ffffffc000089c2c>] show_stack+0x14/0x209 P- D4 j4 b3 n: b$ [
  27. [    2.868371] [<ffffffc00029f280>] dump_stack+0x98/0xb8+ Q. ^! c1 A$ F  i2 ~) R& T1 X8 Y$ b
  28. [    2.873592] [<ffffffc00012b32c>] panic+0xd4/0x218
    ) N1 s  K! x" K5 b. o( g5 ^
  29. [    2.878454] [<ffffffc000621d0c>] kernel_init+0xdc/0xe0
    7 H  B3 H# n3 `$ {; U% [
  30. [    2.883761] [<ffffffc000085dd0>] ret_from_fork+0x10/0x40% r/ ]1 h" ~; Y) Y3 ^. V4 s  y
  31. [    2.888890] CPU0: stopping
    * T. U) k& D: g3 U/ z
  32. [    2.891949] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #21% C  f* _0 O  V% }6 H
  33. [    2.899505] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)7 v- B; n( U( q
  34. [    2.907154] Call trace:: N! F, p; ?4 _. l; d8 P
  35. [    2.909861] [<ffffffc000089b10>] dump_backtrace+0x0/0x1081 h0 J/ `9 \& I; }
  36. [    2.915269] [<ffffffc000089c2c>] show_stack+0x14/0x20
    1 I7 O0 Q: O" I6 ?, @) G
  37. [    2.920580] [<ffffffc00029f280>] dump_stack+0x98/0xb8$ I# S7 U% M" ~; `( @! v% _9 X
  38. [    2.925892] [<ffffffc00008efc0>] handle_IPI+0x190/0x1a0
    ' h1 F4 s! K. X( e
  39. [    2.931030] [<ffffffc000082598>] gic_handle_irq+0x78/0x168
    ! s  S7 v4 r& q7 g" j/ e: i
  40. [    2.936969] Exception stack(0xffffffc0008abda0 to 0xffffffc0008abed0)
    4 m. N# u" e$ X1 J8 H
  41. [    2.943547] bda0: ffffffc0008ae000 0000008000000000 ffffffc0008abf00 ffffffc0000868409 c8 i! L3 Q" I% O4 @& ^. K
  42. [    2.951467] bdc0: 0000000000000145 ffffffc000890000 0000000000000000 0000000000000000) ~4 v1 x! W) {7 N2 C/ M
  43. [    2.959567] bde0: 0000000000000001 0000000000000000 00000000000001c0 0100000000000000: @, J, Z1 d& z) v) l% ^, h/ s
  44. [    2.967757] be00: 0000000000000001 ffffffc01bfcddc0 00000000fffeddda ffffffc0008abe802 j4 _7 ?# ^2 B% a( P
  45. [    2.975676] be20: 00000000000006d0 0000000000000000 0000000000000000 00000000058e8eff# }, s. O- d# }) Q* r( m& C
  46. [    2.983954] be40: ffffffc00426c260 00000000000075af 00000000000ba7a2 0000000000000000' c0 h7 N3 O) l$ q
  47. [    2.991876] be60: ffffff8000058548 ffffffc0008ae000 ffffffc0008ae8d8 ffffffc00088cad8
    8 d3 G8 }7 ?# N! }/ X( K$ H0 W% f
  48. [    2.999886] be80: ffffffc0008abf20 ffffffc000631000 ffffffc000890000 ffffffc0008ae000
    ! w" `) M. e% g0 k
  49. [    3.007986] bea0: ffffffc0008a8000 0000000000000000 0000000000000000 ffffffc0008abf00
    # I! H8 Z8 x' c- v+ u# v( L5 I
  50. [    3.016353] bec0: ffffffc00008683c ffffffc0008abf00" ^4 E& W& B' t5 @. A& i) \( q. G5 D
  51. [    3.021215] [<ffffffc000085700>] el1_irq+0x80/0xf8$ f# Q$ L' G+ _" O! `3 J5 h5 R
  52. [    3.026168] [<ffffffc0000d8164>] default_idle_call+0x1c/0x38
    # z0 p* a7 ^! |/ o  O# Z
  53. [    3.032373] [<ffffffc0000d8398>] cpu_startup_entry+0x1c8/0x218
    ) g3 H, M4 k+ o9 L5 B* L6 U
  54. [    3.038411] [<ffffffc000621c20>] rest_init+0x88/0x98. k* o, n8 \/ E  G  l
  55. [    3.043192] [<ffffffc00084d950>] start_kernel+0x384/0x398( G. l  |; `% c* @
  56. [    3.048948] [<0000000000627000>] 0x6270001 O; q% T/ r5 W* G
  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 g8 Y. Z# i  j; u8 O' [( u' k3 f
  1. # 查看文件夹 发现boot为空
    6 _1 _2 L4 y, M5 t/ v
  2. Marvell>> ext4ls mmc 0:1 /boot
    . S% X$ ]% i, T2 k! [0 Z/ e& ~( e6 S0 _
  3. <DIR>       4096 .
    % z7 K' m" N) g' ]4 ~
  4. <DIR>       4096 ..8 r  |& k. E1 H. t$ }# i9 D

  5. 3 \2 I; s# G) L, J' n
  6. # 无法启动usb; @$ i6 M# @" D$ a. ^' g
  7. Marvell>> usb start
    5 B9 u" Z( ?: W& x. g8 \
  8. starting USB.../ \* Y4 I6 f' j& {7 S# ?! o
  9. No controllers found
复制代码
猜测可能是误删了/boot下的文件导致的,无法通过U盘启动! h3 G  V0 Z0 L; e+ b% p# K

( q6 O: p* Q$ d9 T                               
登录/注册后可看大图

3 f6 ?% H+ T" M0 z3 C5 j1 E. O) `+ i启动进入uboot输入如下命令! W4 ?! R9 E' c  X8 c6 W. l- ?
  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;"
    + j# G4 t+ w1 P( r
  2. setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p1 rootwait rw init=/bin/sh"' G" x9 l8 Q9 G( M' E) o. C8 O
  3. boot
    2 Z) P+ s( n# `' {; Z
  4. booti 0x5000000 - 0x4f00000
复制代码
即可进入linux shell
1 j: D3 C; H! n0 ~1 G
  1. # 查看存储设备( b& l: s* \/ `/ ]0 K  M  |# l* c
  2. ls -l /dev/sd
    4 r8 k0 A/ s) r* ~( l
  3. % G3 d% n% H. O  x  u1 g  N2 C
  4. # 挂载& t; @' M' Z1 h6 W! L# V
  5. mount -t proc /proc
    - X( ]2 k. T0 a
  6. mount /dev/sda4 /mnt9 F% ^" h0 W' D6 t* f
  7. 9 O! p, Z& O" o4 b
  8. # 拷贝文件+ }' d7 y0 o/ B
  9. cd /mnt
    & V) |8 a1 B% G( U$ `% f) [# v+ U
  10. cp armada-3720-customer0.dtb /boot/
    0 h3 _: Y) G. m7 [4 P* ~7 z4 N, X2 B
  11. cp Image /boot/
    6 \+ G2 D- |) w! v

  12. 1 [5 h3 k" [( w/ I- G+ Y
  13. # 退出
    $ S/ \) p: R- J
  14. exit
复制代码
重新插拔电源后恢复正常,uboot信息如下:" J. f! T8 V1 O6 U' z
  1. TIM-1.06 l) I) T- r% \& W6 Q/ i/ h
  2. WTMI-armada-17.10.1-) E! p2 o6 ^+ [7 e$ n) G
  3. ENTER init_ddrgen. H, J% }" G; n! M: r2 O( O
  4. DDR_TOPOLOGY is 0 :        DDR3, 1CS 512M
    2 z2 D; f( i9 `1 C  F% G. Z( @7 _
  5. WTMI_CLOCK=2; k# |7 m6 Y& ?% \$ ~7 W
  6. " Y+ _, }. w5 ~- H
  7. Fill memory before self refresh...done
    5 \" b9 A: C: c) f
  8. : K1 G& T, p0 x% }" @
  9. Now in Self-refresh Mode
    $ _! ~* e: k4 D6 X: A& B
  10. Restore CAS Read and Write Latency
    8 [1 r3 e  [9 I; }0 v  ^; f
  11. Restore termination values to original values, C* |5 D; q3 {; g( Z* _& Q
  12. Exited self-refresh ...
    + ?0 |4 ~2 i7 R
  13. % Z7 U% Q% [, G& w. F
  14. DLL TUNING
    + a5 P: S( B7 W. T
  15. ==============7 X$ {4 w6 X% B1 m& z8 Z
  16.    DLL 0xc0001050[21:16]: [0,31,18]
    ( N+ J0 Y' Y$ ^0 V7 N) L$ q6 Q/ n
  17.    DLL 0xc0001050[29:24]: [0,2b,15]
    ) e9 m2 a/ z9 x7 A. i; E
  18.    DLL 0xc0001054[21:16]: [0,32,19]2 s' x( ]8 W6 s# k  T
  19.    DLL 0xc0001054[29:24]: [0,2d,16]
    # n! {" X6 W' w, m
  20.    DLL 0xc0001074[21:16]: [0,3f,1f]
    ( w& d8 {& U  p2 d# P6 F
  21.    DLL 0xc0001074% V3 n* H" y* B2 j% A# t

  22. 0 @9 u+ x' v3 E. {
  23. U-Boot 2017.03-armada-17.10.1 (Mar 07 2018 - 17:11:33 +0800)
    , B2 W* c! p4 v8 Q
  24. , ~" F( `) G# G4 U
  25. Model: Marvell Armada 3720 for Eli Cat/ V( K2 R, k2 L' T1 L7 C
  26.        CPU    @ 1000 [MHz]: @- [$ W' c8 ?* i6 {/ I
  27.        L2     @ 800 [MHz]
    ) g. O  ?4 l3 W( O0 {! `
  28.        TClock @ 200 [MHz]8 o  x  y! p  P
  29.        DDR    @ 800 [MHz]% R. J: S9 m$ k& ^, C
  30. I2C:   ready
    / z  i. Q: |- A: P
  31. DRAM:  512 MiB
    9 v; }# g3 _& G6 ~
  32. U-Boot DT blob at : 000000001f73a520( S  ^" t/ R# g/ W
  33. SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
    7 t  G+ W+ D! w/ O& Y/ `! l/ X& M
  34. *** Warning - bad CRC, using default environment" Z2 {1 K1 }7 _  P% {$ b
  35. # S% Y1 J, L8 t* u! e& b. q
  36. MMC:   for ssg ledsdhci@d8000: 0
    " E# U7 P( I* _6 O. ^% d7 Z* E5 _
  37. 12931 bytes read in 16 ms (789.1 KiB/s)
    : N3 V; Y/ U6 b/ C- Z: h+ @" I
  38. gpio: pin GPIO23 (gpio 39) value is 1
    * |5 q; I9 b3 v; |8 g8 y# Y( Z
  39. gpio: pin GPIO23 (gpio 39) value is 1( o* z* p$ N2 q! |5 p
  40. gpio: pin GPIO23 (gpio 39) value is 1
    0 C6 X, B2 M' H: F
  41. Comphy-0: USB3_HOST0    5 Gbps   
    + M! i& W* w3 P& H/ C! p$ Y
  42. Comphy-1: SGMII0        1.25 Gbps
    9 a' w7 {7 z: b; ]( l1 i6 v& p
  43. Comphy-2: SATA0         6 Gbps   
    % s0 H: ^) i% ?$ n% a# v! u$ `, ~
  44. gpio: pin GPIO23 (gpio 39) value is 17 N) d8 ]2 W4 B1 F
  45. 12931 bytes read in 4 ms (3.1 MiB/s)- h& E8 Y. s. F; P# k6 M
  46. Enter Normal mode
    2 X; q9 w$ L5 \/ B* l$ e7 C
  47. SCSI:  Hit any key to stop autoboot:  0
复制代码
. Q' q2 D% t' w5 [
补充下:这样修改后,只能一次有效请删除mmc 0:3 分区的rootfs.tar.bz2和upgrade_eli_38.img文件。1 @) [- L# N$ s# u% A7 f% m
或者直接在linux shell里面刷写新uboot
/ i( ?2 |& h1 [$ [8 m  V1 s* ^9 `; m8 T6 X1 @) W7 m" e
8 V' e4 q# V! I' p$ }6 k" S

  h, {0 b: p" E+ Z( g

评分

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

查看全部评分

5

主题

57

回帖

491

积分

中级渣柚V1

积分
491
发表于 2019-10-9 15:50:15 | 显示全部楼层
本帖最后由 xingjiwoniu 于 2019-10-9 16:00 编辑
( _3 ^( i% }" _( j# h6 o( a$ V- b; V
$ `7 r1 \+ E" M! Y$ P感谢分享

4

主题

78

回帖

706

积分

中级渣柚V2

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

7

主题

450

回帖

706

积分

中级渣柚V2

积分
706

热心会员

发表于 2019-10-9 17:09:08 | 显示全部楼层
感谢分享
# N0 k+ L' }. R( b' h0 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:25
4 Q- q2 o4 q3 v# q+ u9 T按照你这个执行不成功啊
0 H; ]$ G9 `( e. J  f7 a
还是提示找不到?

0

主题

12

回帖

40

积分

初级渣柚V1

积分
40
发表于 2019-10-9 20:45:54 | 显示全部楼层
顶一下顶一下
" v7 ^/ X$ r- I' V

4

主题

114

回帖

323

积分

中级渣柚V1

积分
323
发表于 2019-10-9 20:48:03 | 显示全部楼层
tymfl 发表于 2019-10-9 20:36
! A1 s2 i# U0 e4 e! t还是提示找不到?
1 y2 p0 t& k3 |3 I8 ~7 F, h
是还是原样子,启动还是end Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.) B. m/ U7 X( _" n' @  W3 x9 b
完全按照您的步骤做的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-4-20 05:55 , Processed in 0.063610 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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