|
|
本帖最后由 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- TIM-1.0
- t/ m0 P8 C/ ]3 X/ G - WTMI-armada-17.10.1-% c% H/ J7 m8 \1 _ k" U
- .........0 e5 d, l) w5 @) Z v. O4 I* R
- SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
% A! u+ T7 {5 M, s - *** Warning - bad CRC, using default environment
4 P# J# m* _% ^1 I/ e - 8 N6 \" f F/ E1 {- m
- MMC: for ssg ledsdhci@d8000: 0 e* i& w9 T8 G! Z6 w3 w% M
- ** File not found boot/armada-3720-customer0.dtb **
; s' l7 s% k% F; R - ** File not found boot/armada-3720-customer0-minifs.dtb **( s) |# G2 a* f1 M. q/ T5 }
- test_mmc_ext4_exist ==1
* _! ?, v5 l2 H2 O7 t) B7 } - Comphy-0: UNCONNECTED $ g- f/ Y. R8 ~ R* ^
- Comphy-1: UNCONNECTED ; y' `2 p# {- j. Q1 c+ `
- Comphy-2: UNCONNECTED
# c5 J& ]. N, _" k7 ` - gpio: pin GPIO23 (gpio 39) value is 1$ S1 `; p, j( p J( Z9 J- w
- ** File not found boot/armada-3720-customer0.dtb **
1 G' Y2 _ L- d0 Z0 v {. N! d - ** File not found boot/armada-3720-customer0-minifs.dtb **. Z8 D4 O8 Q& ?1 Q0 C8 x
- Enter Recovery mode! Y2 D" H3 `/ \$ R( W; H2 a% |
- SCSI: Hit any key to stop autoboot: 0
复制代码 发现无法找到dtd文件,进入了恢复模式,直接启动或按住reset启动均启动失败,启动信息如下:" g b9 T+ k% v
- Marvell>> boot
$ a8 ^9 y ^( k' B1 p \* d - SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
8 [. s/ ]0 j8 r+ y, b. V - device 0 offset 0xcc000, size 0x434000- B& ?; r. _1 [
- SF: 4407296 bytes @ 0xcc000 Read: OK$ @ S7 C1 }/ a5 z- K4 g
- gpio: pin GPIO21 (gpio 37) value is 1
! B9 `. G" x8 [4 N - gpio: pin GPIO22 (gpio 38) value is 1; ]# ]$ U" V, `1 b4 I
- Uncompressed size: 8992256 = 0x893600. u1 k, N( k1 t( q7 S9 M
- device 0 offset 0xc8000, size 0x4000* `5 t- `- p3 v# }/ S$ P, Z' F- R
- SF: 16384 bytes @ 0xc8000 Read: OK
; h6 c# Q" a+ ~; w# { - ## Flattened Device Tree blob at 04f00000+ O; N8 }+ h% a9 D; R: O0 V
- Booting using the fdt blob at 0x4f000000 b; w3 a3 A( G1 _+ U
- Using Device Tree in place at 0000000004f00000, end 0000000004f05df8
3 x' k/ c8 v# A2 V- _- [1 p' \ - [ d/ c W2 c) _+ x9 q
- Starting kernel ...; o* y3 f" A8 S6 @$ S+ x* L) `$ [
, \, D8 k6 Q, Q, D2 T- a& s) F- .........6 ]/ `# l" B" }# J
- [ 2.786623] mmcblk0: p1 p2 p3
6 i v* }! G- e+ e# f - [ 2.801201] Starting init: /sbin/init exists but couldn't execute it (error -5)1 ^" G- g" ?1 z7 h
- [ 2.813804] cramfs: bad compressed blocksize 4294298135
i" L2 ~! `' @ - [ 2.819206] Starting init: /bin/sh exists but couldn't execute it (error -5). n* w* y$ H' t/ y: T/ M
- [ 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 - [ 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
- [ 2.847399] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)
% J! }2 u$ ~8 {" |7 l" z$ ` - [ 2.854957] Call trace:( f2 J2 T$ z' a$ n+ U/ I- U5 C& g+ r
- [ 2.857401] [<ffffffc000089b10>] dump_backtrace+0x0/0x1083 R9 k: L. H& y% c
- [ 2.863150] [<ffffffc000089c2c>] show_stack+0x14/0x20
5 M/ D9 @+ ?/ L, K( Q& Z4 a - [ 2.868371] [<ffffffc00029f280>] dump_stack+0x98/0xb8* A, l t5 x+ l1 y) k
- [ 2.873592] [<ffffffc00012b32c>] panic+0xd4/0x218
) r& c% C0 R& U7 b. e4 ` - [ 2.878454] [<ffffffc000621d0c>] kernel_init+0xdc/0xe0
; Z. H+ ^3 s) V6 J - [ 2.883761] [<ffffffc000085dd0>] ret_from_fork+0x10/0x40* G0 B1 p. p. H
- [ 2.888890] CPU0: stopping
! s. I2 T. C# G# L: d# d - [ 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 - [ 2.899505] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)
7 M# k( j* y) c0 ? - [ 2.907154] Call trace:( l/ P8 J5 x! C& l
- [ 2.909861] [<ffffffc000089b10>] dump_backtrace+0x0/0x108) E8 a7 @9 T2 d+ t+ U2 j7 R: o
- [ 2.915269] [<ffffffc000089c2c>] show_stack+0x14/0x209 X! E) v3 H$ _ s: L3 s. N, H
- [ 2.920580] [<ffffffc00029f280>] dump_stack+0x98/0xb8
! i1 K4 C& j4 R - [ 2.925892] [<ffffffc00008efc0>] handle_IPI+0x190/0x1a0- E% W0 G( t* Z$ V- \
- [ 2.931030] [<ffffffc000082598>] gic_handle_irq+0x78/0x168
9 C; b& T. O9 T* S/ y - [ 2.936969] Exception stack(0xffffffc0008abda0 to 0xffffffc0008abed0)
$ b* Q( W! y! a - [ 2.943547] bda0: ffffffc0008ae000 0000008000000000 ffffffc0008abf00 ffffffc000086840
; E3 F7 o, l1 d) f/ e - [ 2.951467] bdc0: 0000000000000145 ffffffc000890000 0000000000000000 0000000000000000. J4 B. j, O- L# x( O3 E! }
- [ 2.959567] bde0: 0000000000000001 0000000000000000 00000000000001c0 0100000000000000* h% ]5 @# J u! U" p) R, C+ t
- [ 2.967757] be00: 0000000000000001 ffffffc01bfcddc0 00000000fffeddda ffffffc0008abe80# g* l2 n3 O1 I& {# R
- [ 2.975676] be20: 00000000000006d0 0000000000000000 0000000000000000 00000000058e8eff
, ] h- C3 i+ w& V, @ - [ 2.983954] be40: ffffffc00426c260 00000000000075af 00000000000ba7a2 0000000000000000
* F q" N7 a- O) y" l" C9 V - [ 2.991876] be60: ffffff8000058548 ffffffc0008ae000 ffffffc0008ae8d8 ffffffc00088cad8
2 E5 d# n6 F! ?7 R* n& o# Z - [ 2.999886] be80: ffffffc0008abf20 ffffffc000631000 ffffffc000890000 ffffffc0008ae000
+ _: u; \' I" X - [ 3.007986] bea0: ffffffc0008a8000 0000000000000000 0000000000000000 ffffffc0008abf00# _! ?! C! I5 n+ q
- [ 3.016353] bec0: ffffffc00008683c ffffffc0008abf00
; _9 H m! v+ R3 P' T( p5 H8 ^ W - [ 3.021215] [<ffffffc000085700>] el1_irq+0x80/0xf8. `4 Z0 [ `5 p i% J# K
- [ 3.026168] [<ffffffc0000d8164>] default_idle_call+0x1c/0x38
* b7 [% }; S, ?. P# _# P* ^: d - [ 3.032373] [<ffffffc0000d8398>] cpu_startup_entry+0x1c8/0x218
) G g/ k8 F; x& Y - [ 3.038411] [<ffffffc000621c20>] rest_init+0x88/0x98
& U: Y# W- L6 N4 ^7 Z1 @ - [ 3.043192] [<ffffffc00084d950>] start_kernel+0x384/0x398" o8 H' ~. {) C& ^6 u
- [ 3.048948] [<0000000000627000>] 0x627000
: M; l% L) c$ O# j! i2 d - [ 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- # 查看文件夹 发现boot为空; [; m% p! D$ A
- Marvell>> ext4ls mmc 0:1 /boot/ d4 Y( [& _' L
- <DIR> 4096 .
/ @& N% [+ N: f n. B - <DIR> 4096 ..
1 M& F N9 C1 d' | q
5 Z% e' Y6 t: w9 b; z" @& U! E# J- # 无法启动usb
. |) l* ^* a. g - Marvell>> usb start
* Q7 D! ]+ j. E6 ]/ \$ n- _0 [ - starting USB...
& `* Y! Y. n1 {+ l1 X9 G' j8 D - No controllers found
复制代码 猜测可能是误删了/boot下的文件导致的,无法通过U盘启动
+ H7 [2 u/ J/ K7 a+ Y; ]/ I' v2 [( o- w/ c& O$ \8 z X
启动进入uboot输入如下命令
" G( n- ?9 I. h/ G' T! a) v4 Y G2 f- 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 - 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 - boot
5 n* j$ o( m: Q: Z4 k% C/ t- | - booti 0x5000000 - 0x4f00000
复制代码 即可进入linux shell
# t0 ^ v( |8 W6 A- # 查看存储设备1 f! O$ I4 ? X/ T9 f0 {
- ls -l /dev/sd
' d- S; S7 e. y - 6 Z: M$ ]. m$ {# ]% o9 |
- # 挂载3 O% s& t: }/ d$ ]4 Y& m0 d3 r
- mount -t proc /proc( N4 R1 @* ^9 M4 p
- mount /dev/sda4 /mnt3 S' A7 p9 J b8 R7 \# Z7 [
7 p3 {! C4 \9 J3 A6 D/ o- L- # 拷贝文件
4 D/ C; A# Z; s8 ?4 R% V9 I - cd /mnt
. R2 O$ i& W6 w - cp armada-3720-customer0.dtb /boot/) W* X# w' I2 \$ m0 K; _& _5 p
- cp Image /boot/
/ t+ l! R: ^; w) S7 L# z
9 b0 f/ P* s8 k2 Z) R+ h- # 退出
! a; V9 w7 p3 a: P# v) Z, {/ t% `: i4 h - exit
复制代码 重新插拔电源后恢复正常,uboot信息如下:
& k7 B1 O! m; `3 H, J9 N% V* Y7 K/ K- TIM-1.05 o( u1 y1 R( e8 A$ [/ C/ i1 ~! G9 @
- WTMI-armada-17.10.1-
, @) [7 A* W$ u# E - ENTER init_ddrgen
8 o1 Y: b7 B% b - DDR_TOPOLOGY is 0 : DDR3, 1CS 512M) q' A5 f U, N; E. |' j
- WTMI_CLOCK=2
% |- ~1 [. \4 |2 @% `
* w5 i+ A# [2 F, i; g$ R) [ @9 i; S! Q- Fill memory before self refresh...done9 p' z4 L1 }2 ^& f$ _' V
- * ?2 |9 t/ h' O4 h; Q
- Now in Self-refresh Mode
$ \; E2 P0 G. y i6 D& p; e8 p - Restore CAS Read and Write Latency. X6 H9 O- ^0 R+ I- p) Q$ i
- Restore termination values to original values! }$ [7 I: q$ W5 I3 [& U5 S. U! N/ `
- Exited self-refresh ...6 w, n$ S" g; ~# a
- + K0 q1 J9 Y5 q, @+ U" V; {9 v7 p% g
- DLL TUNING: J. B. `3 T" K: q/ ^ V
- ==============
* S% S' l3 R0 |9 O" ^ - DLL 0xc0001050[21:16]: [0,31,18]
2 B5 I; L9 x) j o - DLL 0xc0001050[29:24]: [0,2b,15]* s- p" N' d/ p! u
- DLL 0xc0001054[21:16]: [0,32,19]
* o+ ^; i- O# }( \# X0 b - DLL 0xc0001054[29:24]: [0,2d,16]0 l7 w1 D* ^ I- H- Z
- DLL 0xc0001074[21:16]: [0,3f,1f]
% A4 c( F/ q- K, M! e. K% r: O - DLL 0xc0001074
3 Y+ @. s" c6 [+ V
7 b2 T1 P5 N6 Z8 X' v- 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
2 i5 V% F* p7 p) u6 \5 b- Model: Marvell Armada 3720 for Eli Cat
; w6 J* a c/ v+ F4 t- ] - CPU @ 1000 [MHz]5 N+ V! H L+ y
- L2 @ 800 [MHz]1 P" @# i$ S9 G* r+ G" r2 d6 P
- TClock @ 200 [MHz]
' k1 L# F4 D' b- @. b. A; | - DDR @ 800 [MHz]% @; L: F5 s% O; O; z, i# R0 \+ ?
- I2C: ready ! H9 h0 [- R0 Y( O$ b
- DRAM: 512 MiB
: Y* Q; L: K9 x8 F - U-Boot DT blob at : 000000001f73a520
7 `. G1 k1 g& D7 W4 ~& N4 K/ f - SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
. E, y+ G/ ?) ]; N- ~ - *** Warning - bad CRC, using default environment: s& [. W1 G* H0 j' ?- s+ W
2 Z6 N7 h9 }1 e8 |, y- MMC: for ssg ledsdhci@d8000: 04 i O& Z" h# O6 V
- 12931 bytes read in 16 ms (789.1 KiB/s)% ~9 K2 ?; [' N% s/ `
- gpio: pin GPIO23 (gpio 39) value is 1* U, I" h$ y+ I8 Y
- gpio: pin GPIO23 (gpio 39) value is 1
6 V, i4 ^: U/ O$ S. j7 M2 q# f& O - gpio: pin GPIO23 (gpio 39) value is 1
9 o$ f) k0 T( v" d z& E5 t) @. ]$ H - Comphy-0: USB3_HOST0 5 Gbps
0 l; h! v$ J Z0 t& h$ V - Comphy-1: SGMII0 1.25 Gbps 6 V* m4 h! e( P+ l, _
- Comphy-2: SATA0 6 Gbps 8 V% A2 e6 e; d7 E$ Y0 ]0 y9 k9 \. m
- gpio: pin GPIO23 (gpio 39) value is 11 S6 U1 T$ L. R# g5 f* w! M0 a9 O
- 12931 bytes read in 4 ms (3.1 MiB/s)# ?+ i+ g# y/ P4 n& J2 N' j
- Enter Normal mode* ^# h1 U: z2 k* V
- 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
|
评分
-
查看全部评分
|