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

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

[复制链接]

5

主题

79

回帖

424

积分

中级渣柚V1

积分
424
发表于 2019-10-9 15:22:10 | 显示全部楼层 |阅读模式
本帖最后由 tymfl 于 2019-10-11 23:47 编辑
% c$ Y' b8 E1 h! C7 h8 ], [1 F4 G
- }; T6 n5 x' a入手一台伊拉克成色猫盘故障机,连好ttl上电以后- l6 N( d0 T! C( @0 p+ D8 V' y
  1. TIM-1.0
    6 x. }. q% r/ ^- Q7 E  N
  2. WTMI-armada-17.10.1-
    5 p- c& z# ^+ s- U  m% k. A
  3. .........
    : I6 x9 E1 ]4 ?, r; `  q
  4. SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
    5 W. w8 U  a' K" D. M4 ]
  5. *** Warning - bad CRC, using default environment' O5 r. m' b+ W

  6. % v. A$ Q) H6 q4 n: b7 q1 c6 {6 ~
  7. MMC:   for ssg ledsdhci@d8000: 0
    ) m; t' Z, h( `+ k6 i2 t
  8. ** File not found boot/armada-3720-customer0.dtb **
    ' f. e8 [+ K! r6 w
  9. ** File not found boot/armada-3720-customer0-minifs.dtb **
    4 w# l; G& a6 W9 J; c9 f
  10. test_mmc_ext4_exist ==1
    / Z' n5 U6 z% }# Y9 C6 g; i& h' Z
  11. Comphy-0: UNCONNECTED  6 L% G' {' [9 m6 r! ?
  12. Comphy-1: UNCONNECTED  
    1 m0 S4 M8 M5 Q2 R: R, C
  13. Comphy-2: UNCONNECTED  
      Z; M$ m0 b' D3 I
  14. gpio: pin GPIO23 (gpio 39) value is 1  `$ ]* `& b; l1 |! l  H  h2 v
  15. ** File not found boot/armada-3720-customer0.dtb **7 C. G: d) \7 t
  16. ** File not found boot/armada-3720-customer0-minifs.dtb **4 }  W8 t' U! D/ D' d
  17. Enter Recovery mode4 Y9 T9 N& q# Q5 P+ ]$ `. V
  18. SCSI:  Hit any key to stop autoboot:  0
复制代码
发现无法找到dtd文件,进入了恢复模式,直接启动或按住reset启动均启动失败,启动信息如下:
% E( G9 X- G/ r* ~+ x6 L
  1. Marvell>> boot
    ( m4 F5 C/ p% H: U7 z& o8 n
  2. SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
    # ~2 w) U1 e9 w9 ~
  3. device 0 offset 0xcc000, size 0x434000/ N( M! R3 g% I7 Q5 w; v9 a3 B
  4. SF: 4407296 bytes @ 0xcc000 Read: OK
    ) ?, k- l" f! V5 M2 u
  5. gpio: pin GPIO21 (gpio 37) value is 1
    9 h/ j: x3 u" V" L$ H
  6. gpio: pin GPIO22 (gpio 38) value is 17 D! v- v' j2 C* H) r) e/ y2 f
  7. Uncompressed size: 8992256 = 0x893600
    8 f, Q; q" F5 _1 T. h
  8. device 0 offset 0xc8000, size 0x4000. o& l; G& R* H" o6 n( ^
  9. SF: 16384 bytes @ 0xc8000 Read: OK
    ; X4 r8 z$ Q- h; {0 K
  10. ## Flattened Device Tree blob at 04f000002 Y5 ?* J2 i0 Y" x
  11.    Booting using the fdt blob at 0x4f000004 _5 S5 W6 H/ G: F
  12.    Using Device Tree in place at 0000000004f00000, end 0000000004f05df8) T! E! y( F! B( r0 H0 q  r. l6 b# w% @
  13. ) L: |4 K" y5 }. _# S
  14. Starting kernel ...5 x0 V7 i9 `7 v  O( c- a- V
  15. % A2 [' R) t+ z" O) L  s
  16. .........
    : o9 t$ Q: S9 z6 ~' J. m; u& N6 K6 R
  17. [    2.786623]  mmcblk0: p1 p2 p3
    3 g- y* n6 S; x
  18. [    2.801201] Starting init: /sbin/init exists but couldn't execute it (error -5)
    6 |$ t# z) U: x$ t" B5 c
  19. [    2.813804] cramfs: bad compressed blocksize 4294298135
    2 ^* {& m. O" b( X" p( D. a
  20. [    2.819206] Starting init: /bin/sh exists but couldn't execute it (error -5)
    % @1 s( V9 h( K9 o* ?& N
  21. [    2.826452] Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
    ) D& X) x0 j/ f  W9 S
  22. [    2.840101] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #211 v% x: c( l: e2 \" w
  23. [    2.847399] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)) `. W0 ^9 P* Y: R
  24. [    2.854957] Call trace:& v8 l8 \  i8 [! B' m, W" z
  25. [    2.857401] [<ffffffc000089b10>] dump_backtrace+0x0/0x1080 r& z- K$ L& X
  26. [    2.863150] [<ffffffc000089c2c>] show_stack+0x14/0x20
    + E5 h$ x  K' k+ ~) F
  27. [    2.868371] [<ffffffc00029f280>] dump_stack+0x98/0xb8, j6 W; B" X/ P+ R
  28. [    2.873592] [<ffffffc00012b32c>] panic+0xd4/0x218) q1 s8 d, R: ?( ^
  29. [    2.878454] [<ffffffc000621d0c>] kernel_init+0xdc/0xe01 \3 i: \% m7 N$ J. i! _% B
  30. [    2.883761] [<ffffffc000085dd0>] ret_from_fork+0x10/0x40
    ( f0 ^% _/ V8 |) i. e8 o
  31. [    2.888890] CPU0: stopping
    7 |$ T3 r" ~  h; d* F5 r& J
  32. [    2.891949] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #21( R. O- P6 u: K$ ?
  33. [    2.899505] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)+ ]& A4 s" }$ I/ m! u
  34. [    2.907154] Call trace:! \1 s6 A7 h0 Y3 L2 w
  35. [    2.909861] [<ffffffc000089b10>] dump_backtrace+0x0/0x108
    1 \" P. H9 N0 v: T+ H6 }- R
  36. [    2.915269] [<ffffffc000089c2c>] show_stack+0x14/0x20
    0 Y' ]0 `* n8 j
  37. [    2.920580] [<ffffffc00029f280>] dump_stack+0x98/0xb8
    & x# L  P8 ^% B9 n, i6 t
  38. [    2.925892] [<ffffffc00008efc0>] handle_IPI+0x190/0x1a07 B0 v: t$ D; m9 [2 |$ x6 f8 n2 V8 q
  39. [    2.931030] [<ffffffc000082598>] gic_handle_irq+0x78/0x168
    4 y" @7 t0 O% a) Q# L
  40. [    2.936969] Exception stack(0xffffffc0008abda0 to 0xffffffc0008abed0)0 V: Y3 q+ ]! H2 q. t
  41. [    2.943547] bda0: ffffffc0008ae000 0000008000000000 ffffffc0008abf00 ffffffc000086840
    % h0 O$ p. g! @2 G& ]( p0 R
  42. [    2.951467] bdc0: 0000000000000145 ffffffc000890000 0000000000000000 00000000000000005 Y5 Q0 I+ [* F% s+ b) W+ p! D
  43. [    2.959567] bde0: 0000000000000001 0000000000000000 00000000000001c0 0100000000000000  K5 N  @5 e  m4 s
  44. [    2.967757] be00: 0000000000000001 ffffffc01bfcddc0 00000000fffeddda ffffffc0008abe80' U* }: E+ F4 t- J
  45. [    2.975676] be20: 00000000000006d0 0000000000000000 0000000000000000 00000000058e8eff
    4 d$ I& r# ]$ q# k1 c
  46. [    2.983954] be40: ffffffc00426c260 00000000000075af 00000000000ba7a2 0000000000000000
    ' a6 b* B/ T, `) p$ H
  47. [    2.991876] be60: ffffff8000058548 ffffffc0008ae000 ffffffc0008ae8d8 ffffffc00088cad8/ B0 h4 Q! y% ^) J, I
  48. [    2.999886] be80: ffffffc0008abf20 ffffffc000631000 ffffffc000890000 ffffffc0008ae000* r/ l  c9 Y) I1 l/ J6 H7 T4 L
  49. [    3.007986] bea0: ffffffc0008a8000 0000000000000000 0000000000000000 ffffffc0008abf005 V  \  G( ~6 k1 X! d! _6 X
  50. [    3.016353] bec0: ffffffc00008683c ffffffc0008abf001 u9 k/ s* S0 H+ f3 q
  51. [    3.021215] [<ffffffc000085700>] el1_irq+0x80/0xf8
    & i" h7 v; z8 h. B0 M6 l
  52. [    3.026168] [<ffffffc0000d8164>] default_idle_call+0x1c/0x38, `+ c5 C' G. w5 J) V  r. z
  53. [    3.032373] [<ffffffc0000d8398>] cpu_startup_entry+0x1c8/0x218' R" ^9 u, f1 n. L
  54. [    3.038411] [<ffffffc000621c20>] rest_init+0x88/0x986 L! N3 B; T+ b: c
  55. [    3.043192] [<ffffffc00084d950>] start_kernel+0x384/0x398% e/ B' J% d( y( W" K- w4 |) q
  56. [    3.048948] [<0000000000627000>] 0x627000
    ; Z- V- {8 `' W6 Y/ R& d. K+ Y
  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 下获取的一些信息
4 K: ^9 O  Z( s' P
  1. # 查看文件夹 发现boot为空
    9 E8 L" L) n- t1 @$ N
  2. Marvell>> ext4ls mmc 0:1 /boot. e+ X' j% O  t' v* y6 X6 P
  3. <DIR>       4096 .
    + Q+ w0 i' K0 t
  4. <DIR>       4096 ..
    : _: w; Z1 G/ o/ M9 d9 T
  5. / l, q: V7 Q- D! ]& y
  6. # 无法启动usb9 @9 F9 d) q$ n9 c4 l
  7. Marvell>> usb start
    0 X9 a; P2 ]( c  m  C% V9 M. c# h
  8. starting USB...
    ) Q5 F! q# U3 _9 j3 {
  9. No controllers found
复制代码
猜测可能是误删了/boot下的文件导致的,无法通过U盘启动$ A$ z5 a) v1 Q5 P$ h2 N
( k/ w# w2 [3 L3 R0 w$ F
                               
登录/注册后可看大图
. h: |- b7 U. z, {0 S1 d
启动进入uboot输入如下命令) S1 }6 H( Q: A! Y$ E
  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;"
    * M' k6 E+ c3 D; b4 n
  2. setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p1 rootwait rw init=/bin/sh"/ Y8 r! U8 a" L
  3. boot* X. q# W+ z' k6 C
  4. booti 0x5000000 - 0x4f00000
复制代码
即可进入linux shell: c9 E" {- Z% @
  1. # 查看存储设备
    0 O9 C. e+ Q) k8 B% |
  2. ls -l /dev/sd
    ; m( r7 x/ U- J1 T' V' Z9 J
  3. ! I& i" O5 A9 e: E
  4. # 挂载9 d) ^0 p( N9 P% d3 A
  5. mount -t proc /proc
    / [8 i4 e. }! o7 z! b
  6. mount /dev/sda4 /mnt9 r( q) f4 S1 {) i) a3 d  G& h& T% ]

  7. 0 M, i" o  p4 F8 R
  8. # 拷贝文件- B( j# W4 `1 j4 Y$ F
  9. cd /mnt6 m% E& h' N" `& @9 c: O% q, S
  10. cp armada-3720-customer0.dtb /boot/
    ' ^9 \) D& {) \! R5 k" D! B% e( U2 i
  11. cp Image /boot/( m' ?: U9 F- ~, g& U+ d) l' W
  12. ' o0 r2 E; X' g* R  l
  13. # 退出
    ' z( X* R2 A. I3 V4 b* Z
  14. exit
复制代码
重新插拔电源后恢复正常,uboot信息如下:
; P( e* k( ]9 J( X
  1. TIM-1.0' n7 Q3 f, ^$ ?
  2. WTMI-armada-17.10.1-$ X5 n7 f, s% p6 [* q5 s* D; k
  3. ENTER init_ddrgen
    0 ?3 c3 [4 r2 ^3 ?3 Q5 c) o
  4. DDR_TOPOLOGY is 0 :        DDR3, 1CS 512M( ]* Z% H4 X) I0 p3 U; ]! ~8 ^
  5. WTMI_CLOCK=20 h7 J- f0 e* ^2 G' T

  6. / p% ?; C9 F: D1 L8 x, m9 h# V( I
  7. Fill memory before self refresh...done' ]: }+ V: |8 q# \3 |9 \

  8. * h$ o9 a5 q. R; a2 f* J
  9. Now in Self-refresh Mode7 m2 K9 l" D; e/ T, Z$ E
  10. Restore CAS Read and Write Latency8 f7 h6 J1 e4 F" Y* L
  11. Restore termination values to original values4 ~6 U# g$ _* D* A; C. q
  12. Exited self-refresh ...
    / ~2 F& m6 I: V/ n2 o* \" B6 d

  13. 3 P5 l, }% z8 F5 Y0 j; g
  14. DLL TUNING" a3 [" \2 D. _4 G8 K
  15. ==============
    , Z8 C. q; x0 B8 g5 Y# W% {+ d
  16.    DLL 0xc0001050[21:16]: [0,31,18]1 C* P) k. ?+ G! D$ \" e( g
  17.    DLL 0xc0001050[29:24]: [0,2b,15]
    & Z) a$ o- D$ U4 ^! @3 s
  18.    DLL 0xc0001054[21:16]: [0,32,19]' `+ |0 k, b; k- Q
  19.    DLL 0xc0001054[29:24]: [0,2d,16]; n. G+ c# f! F* o/ r/ c
  20.    DLL 0xc0001074[21:16]: [0,3f,1f]+ D, Q( v9 K4 |" J4 _, |
  21.    DLL 0xc0001074
    0 e2 ?; }: a" {; `' p2 ~4 O
  22. 7 a2 F% @- d0 J+ G4 a& h
  23. U-Boot 2017.03-armada-17.10.1 (Mar 07 2018 - 17:11:33 +0800)
    2 K* y, j" R1 o( E

  24. 1 o) ^1 ]% ?" d
  25. Model: Marvell Armada 3720 for Eli Cat
    & L" b: o3 t( b- O2 z
  26.        CPU    @ 1000 [MHz]
    % u+ y+ d$ n. W& x! o7 `, x% x
  27.        L2     @ 800 [MHz]8 \0 b% I- j$ u
  28.        TClock @ 200 [MHz]
    : s! n" K. b$ U6 @1 W2 W+ {6 }  A! f
  29.        DDR    @ 800 [MHz]  W2 c  f; {1 W. U4 g  N7 `2 c
  30. I2C:   ready
    / f. g5 s6 N  N2 y  [
  31. DRAM:  512 MiB
    1 P& \4 t% B& U3 A4 `
  32. U-Boot DT blob at : 000000001f73a520: d. h$ O7 S) J8 r+ c* z0 ~5 x
  33. SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
    & ^3 e3 V+ T( i
  34. *** Warning - bad CRC, using default environment6 V! f3 n' |! d; q0 M. `! u3 `

  35. 6 K  e3 U9 k  `# w/ @! v1 I
  36. MMC:   for ssg ledsdhci@d8000: 0$ f0 i# I* X6 C' Y
  37. 12931 bytes read in 16 ms (789.1 KiB/s). r6 w8 s& W  o: ~2 [4 t" Y+ w0 Y3 C! L
  38. gpio: pin GPIO23 (gpio 39) value is 1
    6 W+ T, Y. b+ a" n, V( N9 o
  39. gpio: pin GPIO23 (gpio 39) value is 1, a8 m/ L4 L1 s
  40. gpio: pin GPIO23 (gpio 39) value is 1
    1 ^( V0 _& n+ t/ j/ L
  41. Comphy-0: USB3_HOST0    5 Gbps   
    . P+ J! K6 R. A4 D: Y$ w/ ?
  42. Comphy-1: SGMII0        1.25 Gbps
    - ?# j8 Y  y$ L( J0 t
  43. Comphy-2: SATA0         6 Gbps    / l3 \4 D9 [8 {; n+ K- }
  44. gpio: pin GPIO23 (gpio 39) value is 14 p4 A: l- J7 `; z0 g3 U
  45. 12931 bytes read in 4 ms (3.1 MiB/s)
    % ^- l8 E8 u6 }6 j) W3 |2 ~
  46. Enter Normal mode
    % @* I: H, D- [  |* D
  47. SCSI:  Hit any key to stop autoboot:  0
复制代码
# w: E& c3 y. e) X; j0 Z4 c1 s% `
补充下:这样修改后,只能一次有效请删除mmc 0:3 分区的rootfs.tar.bz2和upgrade_eli_38.img文件。0 N7 n( M, Z5 w, j
或者直接在linux shell里面刷写新uboot
6 n: Q' ~8 J% L+ X' L
( B* B+ i* W. d. ^  L# m' l2 ~2 c" M1 k! s# @, a  s8 I" V  q
* @' s7 I% n) ]: s5 r

评分

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

查看全部评分

5

主题

57

回帖

491

积分

中级渣柚V1

积分
491
发表于 2019-10-9 15:50:15 | 显示全部楼层
本帖最后由 xingjiwoniu 于 2019-10-9 16:00 编辑
* v( Q9 V5 S: |8 F+ ]1 _+ \) P' ]. t. L% c8 ]+ I$ b2 {+ [
感谢分享

4

主题

78

回帖

706

积分

中级渣柚V2

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

7

主题

450

回帖

706

积分

中级渣柚V2

积分
706

热心会员

发表于 2019-10-9 17:09:08 | 显示全部楼层
感谢分享
* M: J0 Z3 `) F3 W# G8 @

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
6 B* E" S; p5 p" N+ y9 P按照你这个执行不成功啊

2 K* m8 x: E& F/ s) e' c4 D! R还是提示找不到?

0

主题

12

回帖

40

积分

初级渣柚V1

积分
40
发表于 2019-10-9 20:45:54 | 显示全部楼层
顶一下顶一下
4 l4 ]5 T3 d: h( W) Z

4

主题

114

回帖

323

积分

中级渣柚V1

积分
323
发表于 2019-10-9 20:48:03 | 显示全部楼层
tymfl 发表于 2019-10-9 20:36) v! d. L" c. H! ^
还是提示找不到?

- q( a, {. F* S* G+ C是还是原样子,启动还是end Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.4 E+ E# h9 Y) O1 B/ w1 o
完全按照您的步骤做的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-5-10 19:39 , Processed in 0.068419 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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