|
本帖最后由 tymfl 于 2019-10-11 23:47 编辑
8 v% D# {, ?3 q0 H) P8 f; v$ \+ ^+ F' l6 O) D. u/ c4 c* i
入手一台伊拉克成色猫盘故障机,连好ttl上电以后
5 R, {6 `7 d% ?) [; k- TIM-1.0
, F% K/ r- r. e; ^% E H/ M - WTMI-armada-17.10.1-9 Q9 `4 a2 M, d; a9 r" j/ E
- .........
3 `3 r2 I& h, {9 r - SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB8 Z/ T9 Z; _: h2 M G$ E2 N
- *** Warning - bad CRC, using default environment& R7 P6 l. Z+ ?0 n
- % l: Q$ R- E- B* F/ X# V
- MMC: for ssg ledsdhci@d8000: 0' s# |3 T! E* a+ ?+ z: l [
- ** File not found boot/armada-3720-customer0.dtb **
% S# T7 H7 l& v W! E' M - ** File not found boot/armada-3720-customer0-minifs.dtb **
4 W# }% z5 O) ], r1 C3 ?% H& @& d' b2 I - test_mmc_ext4_exist ==1
$ I' V8 s1 Z/ `/ M' u/ A6 L - Comphy-0: UNCONNECTED 9 N! L3 E: K8 u( E) {; t# ?
- Comphy-1: UNCONNECTED
L* y& n) ~, w( _# L' r - Comphy-2: UNCONNECTED % n% I' m5 r8 {/ A# @ p+ h6 O' ~3 k$ m
- gpio: pin GPIO23 (gpio 39) value is 1
2 J; V* b0 J( K/ z0 C6 K - ** File not found boot/armada-3720-customer0.dtb **7 v" l* y1 C0 m( z. x6 @
- ** File not found boot/armada-3720-customer0-minifs.dtb *** u7 n! I R% \
- Enter Recovery mode. N8 \, [8 D1 f$ u. l
- SCSI: Hit any key to stop autoboot: 0
复制代码 发现无法找到dtd文件,进入了恢复模式,直接启动或按住reset启动均启动失败,启动信息如下:
- e, I! t( v! G% f, v7 T- Marvell>> boot' [4 Q9 P+ K4 |: F
- SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB8 W$ q y! ]+ x$ |* p. |7 ^
- device 0 offset 0xcc000, size 0x434000
& L+ z0 a, u& b7 Y' | u2 U9 S* F - SF: 4407296 bytes @ 0xcc000 Read: OK
) @7 ?. @ r E' ^7 \# ]6 T - gpio: pin GPIO21 (gpio 37) value is 1' }* T3 z9 V- v* [& h. a- s
- gpio: pin GPIO22 (gpio 38) value is 1+ P% L6 L7 p3 L, |' [
- Uncompressed size: 8992256 = 0x893600. g+ v% v( i& v
- device 0 offset 0xc8000, size 0x4000
n n- k. M' D+ N n - SF: 16384 bytes @ 0xc8000 Read: OK+ h/ p8 g3 | C3 T
- ## Flattened Device Tree blob at 04f00000 \% u7 V# V6 M( P
- Booting using the fdt blob at 0x4f00000
. @! C( g/ V( G- s$ l8 y. b - Using Device Tree in place at 0000000004f00000, end 0000000004f05df8
% D; o3 K$ i; j# T, E
; D$ B6 ~# z1 f1 B9 T! t$ v- Starting kernel ...7 A S. \9 S8 L. A
- f5 m4 M! m. I2 h; }
- .........' i7 m. A5 z5 Q4 Y
- [ 2.786623] mmcblk0: p1 p2 p3& V8 g! l' }5 Y c
- [ 2.801201] Starting init: /sbin/init exists but couldn't execute it (error -5)
4 _) }% m( I1 A. l - [ 2.813804] cramfs: bad compressed blocksize 4294298135
+ G9 w1 ~4 r) x" y( j& j - [ 2.819206] Starting init: /bin/sh exists but couldn't execute it (error -5)
. H" N2 `8 i7 a: C0 T- y; A" z9 I - [ 2.826452] Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.8 T: f5 \. F5 q
- [ 2.840101] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #21
: b$ p4 Q8 `* @ - [ 2.847399] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)
7 g0 h0 N; o, d6 h3 R - [ 2.854957] Call trace:& G4 }$ u# w$ m3 A& c: c- B. B/ _
- [ 2.857401] [<ffffffc000089b10>] dump_backtrace+0x0/0x1083 [! v1 c" ~% {0 q8 L
- [ 2.863150] [<ffffffc000089c2c>] show_stack+0x14/0x20: s. h: C: O( p7 @- [" J9 v
- [ 2.868371] [<ffffffc00029f280>] dump_stack+0x98/0xb84 R4 w X( h6 i
- [ 2.873592] [<ffffffc00012b32c>] panic+0xd4/0x218
% I0 S% G6 H0 Z: z# P5 y" i9 ~& W - [ 2.878454] [<ffffffc000621d0c>] kernel_init+0xdc/0xe0
( f) a1 I# `1 J. Z% r( M - [ 2.883761] [<ffffffc000085dd0>] ret_from_fork+0x10/0x403 U" b) P5 g, l* o4 S# d
- [ 2.888890] CPU0: stopping' t5 N$ {; N( z
- [ 2.891949] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #21
3 p2 J6 W6 A% _ - [ 2.899505] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)
( g( v# I3 I9 s - [ 2.907154] Call trace:
2 Y8 G& k$ r3 X0 ] M - [ 2.909861] [<ffffffc000089b10>] dump_backtrace+0x0/0x108+ G& P8 Y9 f/ A0 d3 B) i4 _
- [ 2.915269] [<ffffffc000089c2c>] show_stack+0x14/0x208 } O w' p: v3 m1 S% }7 Z0 `7 s
- [ 2.920580] [<ffffffc00029f280>] dump_stack+0x98/0xb8
8 ]& y3 g8 s( U. \$ B' o - [ 2.925892] [<ffffffc00008efc0>] handle_IPI+0x190/0x1a0
. S0 v, e" @7 T# h5 P - [ 2.931030] [<ffffffc000082598>] gic_handle_irq+0x78/0x168
5 g+ l. O0 V6 W, Q" M% M# X) @+ l" u - [ 2.936969] Exception stack(0xffffffc0008abda0 to 0xffffffc0008abed0)
9 H O S8 V0 F x7 X u - [ 2.943547] bda0: ffffffc0008ae000 0000008000000000 ffffffc0008abf00 ffffffc000086840& n0 Q9 [# A* ^5 j3 V$ l3 x
- [ 2.951467] bdc0: 0000000000000145 ffffffc000890000 0000000000000000 0000000000000000% u9 L s. D6 g7 j
- [ 2.959567] bde0: 0000000000000001 0000000000000000 00000000000001c0 0100000000000000! Z0 E+ F3 H4 I: M7 H' x, C2 Q
- [ 2.967757] be00: 0000000000000001 ffffffc01bfcddc0 00000000fffeddda ffffffc0008abe80
% K3 q& z$ x" V2 \1 ?' z0 _ - [ 2.975676] be20: 00000000000006d0 0000000000000000 0000000000000000 00000000058e8eff
! W9 \ J" ~% D! b - [ 2.983954] be40: ffffffc00426c260 00000000000075af 00000000000ba7a2 0000000000000000
6 n& j; Z. Q5 D% f - [ 2.991876] be60: ffffff8000058548 ffffffc0008ae000 ffffffc0008ae8d8 ffffffc00088cad8
8 N, k1 P. Q$ ~* W4 P" a - [ 2.999886] be80: ffffffc0008abf20 ffffffc000631000 ffffffc000890000 ffffffc0008ae000
. @% l: B2 E2 ^) R1 d: t/ v' ] - [ 3.007986] bea0: ffffffc0008a8000 0000000000000000 0000000000000000 ffffffc0008abf00
0 X1 Y& H; i* g I - [ 3.016353] bec0: ffffffc00008683c ffffffc0008abf00
. y1 B" s Z9 J( Z" U - [ 3.021215] [<ffffffc000085700>] el1_irq+0x80/0xf83 a' ^+ ~ u) B5 F3 x( C
- [ 3.026168] [<ffffffc0000d8164>] default_idle_call+0x1c/0x38: h* U- q! a7 D" v: _
- [ 3.032373] [<ffffffc0000d8398>] cpu_startup_entry+0x1c8/0x218" W3 H3 Q5 n9 u* Z6 m B9 R8 X
- [ 3.038411] [<ffffffc000621c20>] rest_init+0x88/0x98
6 J$ {7 `0 L+ K - [ 3.043192] [<ffffffc00084d950>] start_kernel+0x384/0x398
7 q& o( U: n) Q) E8 r - [ 3.048948] [<0000000000627000>] 0x627000
/ Q* F, n6 a7 Q: o+ { - [ 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 ?( Q. H9 n& f5 a" x
- # 查看文件夹 发现boot为空
, R" b" Y+ V* B3 u9 U) u( r - Marvell>> ext4ls mmc 0:1 /boot
+ g* \1 {: R9 h, m" G1 R0 q9 v - <DIR> 4096 .2 w1 e( y. s b1 `5 o
- <DIR> 4096 ..9 e/ j7 S7 Y. i6 m8 q% B% s
- 5 o4 I6 I8 r0 U3 Q" P( B
- # 无法启动usb
' F3 j; `2 e0 K8 [/ M0 u - Marvell>> usb start
( F, B* G X2 T- n* }/ w! z! Z- k. a - starting USB...! Y7 z9 Q! t; i2 ]3 l0 a0 i% w
- No controllers found
复制代码 猜测可能是误删了/boot下的文件导致的,无法通过U盘启动1 C8 U3 l% ?0 v
/ I$ c& I( ^ N
启动进入uboot输入如下命令
5 L" L* F% Y4 y- H- setenv bootcmd "sf probe 0;sf read 0x8000000 0x0CC000 0x434000;gpio set GPIO21;gpio set GPIO22;unzip 0x8000000 0x5000000;sf read 0x4f00000 0x0c8000 4000;"
7 d0 Z: {# d ^8 P! `2 Z - setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p1 rootwait rw init=/bin/sh"8 n" O, K+ H, j6 r! n
- boot$ u/ v1 r+ ~7 H
- booti 0x5000000 - 0x4f00000
复制代码 即可进入linux shell
1 r$ n. E; s! a- U7 i9 E- # 查看存储设备4 m$ i! a) O( {3 `: C' P
- ls -l /dev/sd
+ ^' z/ T) I! G4 Y - 5 F. p6 ~& u$ ?" E
- # 挂载0 `1 g! q& D- f. H! P
- mount -t proc /proc; V5 Z( g0 v* p; F) E5 f7 L' b
- mount /dev/sda4 /mnt9 N3 |) z7 K. s$ y" h8 q
- 3 D' ]0 C$ t% `" b2 x) j# J
- # 拷贝文件
5 _. q4 a& p& `$ Y D# g: j - cd /mnt
: }# G# i1 z, z, Q, t f' F+ m - cp armada-3720-customer0.dtb /boot/
$ z5 R8 v5 M2 W6 T# h( ` - cp Image /boot/
; _" _ O; h% {7 } - 4 Z7 C/ |0 }' ?2 x6 Y3 J' M" g0 Y
- # 退出
8 M4 k, t. a- G/ \' L# h - exit
复制代码 重新插拔电源后恢复正常,uboot信息如下:
4 Q# d& _* \' o U5 o- TIM-1.0; [0 O" B1 G: d/ D9 B
- WTMI-armada-17.10.1-, s3 Z7 f; M# T
- ENTER init_ddrgen+ I! E1 L8 \( u s
- DDR_TOPOLOGY is 0 : DDR3, 1CS 512M/ \# M! k7 r' c4 i: c
- WTMI_CLOCK=2
2 |. f6 d% w9 `% X0 I0 _ - 3 ]4 `. R E' z. V' k/ g2 {0 |/ D% c
- Fill memory before self refresh...done
! @+ C' H3 O8 L8 _* \: |
. c6 N$ @1 X- R; ?- Now in Self-refresh Mode
7 U; d- I2 o$ {; l6 p X, m - Restore CAS Read and Write Latency
2 L8 n* ~$ D. c - Restore termination values to original values
3 E; G1 e z1 ] - Exited self-refresh ...
4 l) B( J, q2 U0 U! F k$ u
4 K, Q& v& @) B Y- o) |8 \- DLL TUNING I# V W$ p, K5 j. p
- ==============) z( f. b, d- K; A& G6 H, Z
- DLL 0xc0001050[21:16]: [0,31,18]# F0 S- R. y4 {! k9 H
- DLL 0xc0001050[29:24]: [0,2b,15]: ]) `, P: _( ?% W
- DLL 0xc0001054[21:16]: [0,32,19]$ V; r# P4 k0 C1 u: [- ~! L
- DLL 0xc0001054[29:24]: [0,2d,16]7 y& K! l1 G, x% o0 T
- DLL 0xc0001074[21:16]: [0,3f,1f]
+ l! w# @$ }% g) A5 U( R - DLL 0xc0001074
$ O* `; C+ \( ~3 M' A9 K/ S
- ?9 n) A( F$ ]# c4 b- \) s) d- U-Boot 2017.03-armada-17.10.1 (Mar 07 2018 - 17:11:33 +0800)# I- {. Q* O, l
! B+ G6 [3 q% e% [7 J `2 T: ~- Model: Marvell Armada 3720 for Eli Cat
, a# y2 @. W& S. H# O" @. O - CPU @ 1000 [MHz]
2 l o' `( P8 `% i. F - L2 @ 800 [MHz]2 t7 i: V. Q4 O8 {/ q
- TClock @ 200 [MHz]
0 H- x+ p- i) j& w; H - DDR @ 800 [MHz]
. r; y) `- ]: m& e( b - I2C: ready - T$ p* r1 c! Q! }7 B3 | M
- DRAM: 512 MiB
! N/ R3 ` A1 R W% n" b* X4 G - U-Boot DT blob at : 000000001f73a520# k0 R* g7 s4 m# b9 i% S/ P9 u M
- SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
" z% @/ m r& a- S7 b - *** Warning - bad CRC, using default environment! T8 \% V( c$ s: P8 W" I. M2 B
- 9 a; X# k! h" ~) [4 f
- MMC: for ssg ledsdhci@d8000: 0
; ]: {$ b3 w5 z! g7 `, m$ ] - 12931 bytes read in 16 ms (789.1 KiB/s)
( s# H- O& r# _" t& B - gpio: pin GPIO23 (gpio 39) value is 1& | I! O. i: v& F5 B( G2 g* l
- gpio: pin GPIO23 (gpio 39) value is 1) t( g% g4 W! l( ^* ]
- gpio: pin GPIO23 (gpio 39) value is 1/ r7 H0 w& L$ H3 L y$ d
- Comphy-0: USB3_HOST0 5 Gbps
* r0 ?8 k( M* t+ u+ H8 c2 ? - Comphy-1: SGMII0 1.25 Gbps W5 e* n, a/ ~: I
- Comphy-2: SATA0 6 Gbps ( U. _9 j/ B! m J4 z# ]
- gpio: pin GPIO23 (gpio 39) value is 1
9 ?; f( Y' l& x3 Z: r5 l$ N - 12931 bytes read in 4 ms (3.1 MiB/s)
- _6 \3 U. Y( ^, E5 r9 G+ K4 e - Enter Normal mode2 A# V; q; y6 l; e6 P. Y/ U
- SCSI: Hit any key to stop autoboot: 0
复制代码
/ D9 R1 Z( H# t: u; r补充下:这样修改后,只能一次有效请删除mmc 0:3 分区的rootfs.tar.bz2和upgrade_eli_38.img文件。! j+ ~2 X; S$ [
或者直接在linux shell里面刷写新uboot& l. D' q9 T9 U/ @6 v
. x, C; ? b& r$ O6 v
; P5 Q2 R# C2 g$ M1 J4 K, [- ]: l" h) R
|
评分
-
查看全部评分
|