|
|
本帖最后由 tymfl 于 2019-10-11 23:47 编辑 ; m3 y# H$ {0 |: ^
3 A; |4 \% h4 G" _* d入手一台伊拉克成色猫盘故障机,连好ttl上电以后7 J/ X- u9 Y% {* \
- TIM-1.0
j7 Z9 V T6 c( E - WTMI-armada-17.10.1- B- b( y8 q, h
- .........
* i/ K u6 U* [3 S - SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB1 `/ L8 Z$ z6 q; \' f) G7 I- S
- *** Warning - bad CRC, using default environment
9 Z0 J- p& J& e) K
! {5 P- b- E# M; i- MMC: for ssg ledsdhci@d8000: 0
& y! I6 s$ u& }2 P1 D' x2 K/ ] - ** File not found boot/armada-3720-customer0.dtb **% I& B# q$ d3 n- C1 p0 e
- ** File not found boot/armada-3720-customer0-minifs.dtb **
, m: K) O2 d& o M) M - test_mmc_ext4_exist ==1
6 |' A; y0 F6 d - Comphy-0: UNCONNECTED
4 @' N r, Y! j' | _. ], N5 E - Comphy-1: UNCONNECTED
2 ~4 e* B* ~: k# G S7 r1 { - Comphy-2: UNCONNECTED
8 T$ K7 F9 _+ V/ ]: ^* T - gpio: pin GPIO23 (gpio 39) value is 1
( K1 P, n* i- a% j3 V [/ x - ** File not found boot/armada-3720-customer0.dtb **
3 D) l2 r2 m- z5 z2 h - ** File not found boot/armada-3720-customer0-minifs.dtb **
$ e8 @7 f3 F5 h$ \; |6 K - Enter Recovery mode i1 m7 X! p* a- w
- SCSI: Hit any key to stop autoboot: 0
复制代码 发现无法找到dtd文件,进入了恢复模式,直接启动或按住reset启动均启动失败,启动信息如下:
, `" u8 x: W8 x- Marvell>> boot
/ R( @2 J% m% l- { S2 o# E - SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB% C2 B& X# q+ S
- device 0 offset 0xcc000, size 0x434000" g1 }1 j! r) T* W
- SF: 4407296 bytes @ 0xcc000 Read: OK
4 g9 I. Z2 v3 L7 d' W* N+ x' a: `/ i - gpio: pin GPIO21 (gpio 37) value is 1
/ w$ M4 w; ]# c) L( B6 [ - gpio: pin GPIO22 (gpio 38) value is 16 _2 q w" u V5 ~8 c' t. c
- Uncompressed size: 8992256 = 0x893600! J9 W H1 G$ [4 t
- device 0 offset 0xc8000, size 0x40005 b- b% K1 Q6 c6 O7 u; o6 M' [
- SF: 16384 bytes @ 0xc8000 Read: OK
) l" S) W7 e# v8 W0 e( O: U - ## Flattened Device Tree blob at 04f00000% j. u2 c) w9 M# I& j3 D* r7 k/ G
- Booting using the fdt blob at 0x4f000009 Q/ j- [, c5 O! A6 U3 K3 l
- Using Device Tree in place at 0000000004f00000, end 0000000004f05df8
+ r5 x/ k( s% S# h
; F2 I9 F0 t, f6 J- Starting kernel ...8 L3 n+ }1 a) Z7 w" V5 e# H4 h
- 8 J% C: v# k( l; B a/ A8 I% k
- .........6 F4 i8 \8 k( N9 `; k
- [ 2.786623] mmcblk0: p1 p2 p3
% a! Y- B* K1 h5 S* u. x2 h( }# M T - [ 2.801201] Starting init: /sbin/init exists but couldn't execute it (error -5)
# Y; L# y( a$ L& m - [ 2.813804] cramfs: bad compressed blocksize 4294298135
8 X3 ~# `6 @) ~ H: X2 l - [ 2.819206] Starting init: /bin/sh exists but couldn't execute it (error -5)
& w- s l6 _5 O* \' C - [ 2.826452] Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
4 |2 q! s' ?8 \$ n) a - [ 2.840101] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #21
9 L8 Q: Y6 I) @3 G/ l4 m: t - [ 2.847399] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT); x5 h+ U1 K v( e# n
- [ 2.854957] Call trace:
1 {$ g3 a' O5 d: V- u" W - [ 2.857401] [<ffffffc000089b10>] dump_backtrace+0x0/0x108
- k7 P! S2 T: E! D# [2 o - [ 2.863150] [<ffffffc000089c2c>] show_stack+0x14/0x20
* M3 U) S7 c, Y/ v. U/ h - [ 2.868371] [<ffffffc00029f280>] dump_stack+0x98/0xb8
$ _, c& w5 H! U - [ 2.873592] [<ffffffc00012b32c>] panic+0xd4/0x218
0 H! G% X$ l( C$ k' m - [ 2.878454] [<ffffffc000621d0c>] kernel_init+0xdc/0xe00 v% `# y) K- z6 l2 @9 [- c
- [ 2.883761] [<ffffffc000085dd0>] ret_from_fork+0x10/0x40
4 Z, H& _5 S5 h5 s/ w: M1 c; F - [ 2.888890] CPU0: stopping9 v. j9 C0 u) P
- [ 2.891949] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #21: }4 ?- O) ?, e
- [ 2.899505] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)$ v& G0 T) q" ]4 b& e$ p
- [ 2.907154] Call trace:9 y5 [! J. }$ R' X
- [ 2.909861] [<ffffffc000089b10>] dump_backtrace+0x0/0x108* X" _! i% |2 q& ~: _; ]3 l/ J A
- [ 2.915269] [<ffffffc000089c2c>] show_stack+0x14/0x20
8 [, v6 q4 v' J9 Y) l K - [ 2.920580] [<ffffffc00029f280>] dump_stack+0x98/0xb8
2 ?+ q) e( t1 o( w - [ 2.925892] [<ffffffc00008efc0>] handle_IPI+0x190/0x1a07 n' L4 F) k" H5 ^" a" a
- [ 2.931030] [<ffffffc000082598>] gic_handle_irq+0x78/0x168
7 B- }7 L! U) I1 ]( Z9 o - [ 2.936969] Exception stack(0xffffffc0008abda0 to 0xffffffc0008abed0)8 R. F, C. v" g+ i6 L# X9 N
- [ 2.943547] bda0: ffffffc0008ae000 0000008000000000 ffffffc0008abf00 ffffffc000086840
+ {# I. F; G( R' v D- y. a5 t - [ 2.951467] bdc0: 0000000000000145 ffffffc000890000 0000000000000000 0000000000000000
' W) } L* d. Y& Y8 ? - [ 2.959567] bde0: 0000000000000001 0000000000000000 00000000000001c0 01000000000000002 d U0 L1 ?1 w. n& M$ F ?7 g
- [ 2.967757] be00: 0000000000000001 ffffffc01bfcddc0 00000000fffeddda ffffffc0008abe80
8 Y# n. u" j4 j. d, e) Y+ t - [ 2.975676] be20: 00000000000006d0 0000000000000000 0000000000000000 00000000058e8eff, L% E9 p2 E$ J
- [ 2.983954] be40: ffffffc00426c260 00000000000075af 00000000000ba7a2 0000000000000000
8 {3 m; j; C5 j, ? - [ 2.991876] be60: ffffff8000058548 ffffffc0008ae000 ffffffc0008ae8d8 ffffffc00088cad8
) k$ H; F+ \8 q3 e% x - [ 2.999886] be80: ffffffc0008abf20 ffffffc000631000 ffffffc000890000 ffffffc0008ae000
& W+ Q& O( Q7 J; X( M) o ] - [ 3.007986] bea0: ffffffc0008a8000 0000000000000000 0000000000000000 ffffffc0008abf00; A4 B7 U' x9 R8 u
- [ 3.016353] bec0: ffffffc00008683c ffffffc0008abf00
]) C7 h Z. ~, }% A - [ 3.021215] [<ffffffc000085700>] el1_irq+0x80/0xf8& Z. W* n; y1 }
- [ 3.026168] [<ffffffc0000d8164>] default_idle_call+0x1c/0x38+ n }0 I$ R: W8 [
- [ 3.032373] [<ffffffc0000d8398>] cpu_startup_entry+0x1c8/0x218
0 B0 y/ F8 S8 Y* b - [ 3.038411] [<ffffffc000621c20>] rest_init+0x88/0x98
- x- t+ w) _" V% q5 i( h - [ 3.043192] [<ffffffc00084d950>] start_kernel+0x384/0x3980 C5 I7 n* D- P9 b0 L
- [ 3.048948] [<0000000000627000>] 0x627000
D2 Y, S: ^: t$ K. |4 w - [ 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 下获取的一些信息3 s3 v6 D2 K/ u7 |( |
- # 查看文件夹 发现boot为空" L; X" W! n/ z, x
- Marvell>> ext4ls mmc 0:1 /boot
; I2 X) p, Y+ w - <DIR> 4096 ./ y8 j, E$ ?# [4 x; m4 A* k
- <DIR> 4096 ..
' C) G; k: ~$ h: H - - y) e0 L) s: }% a6 p: r' E7 F
- # 无法启动usb
+ v$ c. m- f% u - Marvell>> usb start2 Q3 i9 v, P" E E' ]6 o5 O$ |! o
- starting USB...2 O, V2 Y- }( E0 y0 h, e4 F5 b
- No controllers found
复制代码 猜测可能是误删了/boot下的文件导致的,无法通过U盘启动0 P# S3 r' m$ Y# ^) L& u
/ |: t) D, @4 f9 N' A, ^. ?
启动进入uboot输入如下命令) |! t& F0 E5 a" ~" |* ^! R X
- setenv bootcmd "sf probe 0;sf read 0x8000000 0x0CC000 0x434000;gpio set GPIO21;gpio set GPIO22;unzip 0x8000000 0x5000000;sf read 0x4f00000 0x0c8000 4000;"
5 w+ j% K! V5 x# Z' [; g* K4 { - setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p1 rootwait rw init=/bin/sh"' \0 B; T$ D3 o7 N; [
- boot
, H1 [. I/ B9 f& j) E - booti 0x5000000 - 0x4f00000
复制代码 即可进入linux shell
$ u: z: _! {' C" C0 u6 l' g5 j- # 查看存储设备
( [8 a/ o, |2 {+ W1 Q/ \ - ls -l /dev/sd. O) S5 B2 V; l2 P" z u. M
$ `: _* L. f+ s; p- # 挂载6 ~* ]/ |5 @9 R) ^. I
- mount -t proc /proc
, @6 y' Y; M* q% I, @ - mount /dev/sda4 /mnt9 a: T0 O; I4 M4 m
- 3 Y& [; \0 {+ n1 o3 h5 d; g) E, B, y
- # 拷贝文件# ~$ u- G. D+ M. V5 s
- cd /mnt0 O' ~& q! l; x/ L% L+ _+ j
- cp armada-3720-customer0.dtb /boot/
4 O" }- S: }% \* o& k8 y - cp Image /boot/6 A- w$ L8 ?# o3 g0 N( R
; @7 Y$ J6 A% u- # 退出' t" }/ ? j# k& C+ j J5 P
- exit
复制代码 重新插拔电源后恢复正常,uboot信息如下:
$ f$ L* B; f1 b( B5 b8 F+ [- TIM-1.09 y% [- T% ]/ O2 |# C9 ?
- WTMI-armada-17.10.1-
8 V) l* K" d2 U+ `+ {+ O - ENTER init_ddrgen
' G0 i" o" H% v A; a' |9 g - DDR_TOPOLOGY is 0 : DDR3, 1CS 512M
# f' q* o/ m, t& ]7 | - WTMI_CLOCK=29 u5 k# P& a5 q" A
- : J& ^- Q; m# x
- Fill memory before self refresh...done. I' k7 |8 B. N) ]8 u! ]7 X- W
9 `! Q6 I& G& `6 {: `- Now in Self-refresh Mode2 d% G1 g0 y7 V/ ^6 x( m+ a
- Restore CAS Read and Write Latency. y+ s0 @! L6 v. W1 `# @/ @
- Restore termination values to original values
5 N; Z. w q% F+ t - Exited self-refresh ...
6 Q+ I/ i' v2 ~# G
7 S6 f$ Z5 H: q: O! }8 a- DLL TUNING
) ]4 |" C5 F1 \) H7 Z - ==============
. O# V8 x7 w; z" D! F' _ - DLL 0xc0001050[21:16]: [0,31,18]
/ v: O3 R7 S: l; ^1 C* K - DLL 0xc0001050[29:24]: [0,2b,15]
: A# J+ P( @4 i. \1 x( G/ s/ r8 s0 p - DLL 0xc0001054[21:16]: [0,32,19]* E% X, ]. a3 A0 Y& g+ K
- DLL 0xc0001054[29:24]: [0,2d,16]$ |( z5 _# g8 ~; z1 h$ l5 i
- DLL 0xc0001074[21:16]: [0,3f,1f]
( r4 @4 i" x8 T+ F9 G8 }1 @ - DLL 0xc0001074
1 J" L6 u! f$ O/ K' a) M. ?
7 C) z% c- ?- {0 p6 x- U-Boot 2017.03-armada-17.10.1 (Mar 07 2018 - 17:11:33 +0800)5 x( [5 V4 w" Y6 T9 T7 d
: M3 j' H& _" @8 X2 ` ?. h) E- Model: Marvell Armada 3720 for Eli Cat8 _( D( f5 G) m& H& |7 k
- CPU @ 1000 [MHz]9 E' ^ g" A% O, i
- L2 @ 800 [MHz]* Q& K! m7 F3 p O7 s
- TClock @ 200 [MHz]
8 U) g$ [3 ~3 I, C/ R - DDR @ 800 [MHz]# w% X1 P. n% E1 C# \7 A0 \: F; f
- I2C: ready - d! T$ }( L/ C
- DRAM: 512 MiB6 w6 H/ {7 c% I7 y
- U-Boot DT blob at : 000000001f73a5207 H" A3 |" J4 P$ a3 Y( ]' ]' z
- SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB: e Z" S* R4 [, q5 U
- *** Warning - bad CRC, using default environment M7 D1 g# V! \4 f1 w9 F0 [7 @
- 0 e3 D ?- l1 z w, [
- MMC: for ssg ledsdhci@d8000: 0$ G8 P0 R5 v$ t4 i2 f7 S4 C
- 12931 bytes read in 16 ms (789.1 KiB/s)
& S4 {9 P6 g- f" h) ^. r N3 {$ w - gpio: pin GPIO23 (gpio 39) value is 1
' p" E) G( }! S) v+ ~ - gpio: pin GPIO23 (gpio 39) value is 1
$ Z& g! a& {$ _ h1 ]) u9 N4 n d - gpio: pin GPIO23 (gpio 39) value is 1
9 r$ y3 F* a' |7 Y - Comphy-0: USB3_HOST0 5 Gbps 7 A1 E# h* k+ C( H: D
- Comphy-1: SGMII0 1.25 Gbps : j2 u: \/ j5 y2 q, o
- Comphy-2: SATA0 6 Gbps
! W3 A5 C! h( `' E# h* n - gpio: pin GPIO23 (gpio 39) value is 1+ ^8 |5 N* _0 f) W3 L
- 12931 bytes read in 4 ms (3.1 MiB/s)7 K) b L0 U( X# T3 s( b$ r: W. t
- Enter Normal mode! M1 f7 u( ?# b3 Q- C
- SCSI: Hit any key to stop autoboot: 0
复制代码 & j7 j: K/ m `3 r- ~9 v" k2 ~
补充下:这样修改后,只能一次有效请删除mmc 0:3 分区的rootfs.tar.bz2和upgrade_eli_38.img文件。. v& ^8 i; y( T! r! r, W* t- x6 j
或者直接在linux shell里面刷写新uboot
4 j$ W9 C9 p6 Z5 S3 D+ n
4 j- w, i# X3 F3 t) F
! c, x, P4 g3 e/ k5 U* p7 Z
6 N3 h+ q" @/ b7 B S |
评分
-
查看全部评分
|