|
本帖最后由 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
- TIM-1.0
5 j2 A: Y8 m3 A! J6 E; v% n - WTMI-armada-17.10.1-# E7 W# R/ x$ S% L+ w+ Z6 p" J" M
- .........) @- f5 g# \( Z0 R
- SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB K) ^! `/ B& g3 D
- *** Warning - bad CRC, using default environment
) h; a) e. W6 _3 V, J, H
7 W% s1 V0 y5 H- MMC: for ssg ledsdhci@d8000: 0/ i0 z" P; L' ^/ B: k: L5 U$ F: i
- ** File not found boot/armada-3720-customer0.dtb **
4 I- ]. S6 ?4 X7 K8 W" P - ** File not found boot/armada-3720-customer0-minifs.dtb **
" f o+ H. E9 u# a - test_mmc_ext4_exist ==10 y' F: D5 @: B g; B1 r6 W
- Comphy-0: UNCONNECTED . i( }# P2 C: H4 J
- Comphy-1: UNCONNECTED ) E( n1 ~- Y+ H$ y" z
- Comphy-2: UNCONNECTED 3 Y2 L, I" f& W3 N g& g( V* r
- gpio: pin GPIO23 (gpio 39) value is 1( D2 ^$ e- B) ]- E
- ** File not found boot/armada-3720-customer0.dtb **6 ]% a( F% S( b" b0 I
- ** File not found boot/armada-3720-customer0-minifs.dtb **
+ C7 c a$ ~. F$ M! O6 C - Enter Recovery mode1 t5 U3 M+ M8 V. Z2 A1 ^+ G( T
- SCSI: Hit any key to stop autoboot: 0
复制代码 发现无法找到dtd文件,进入了恢复模式,直接启动或按住reset启动均启动失败,启动信息如下:% l' _: V' G. J* k& m
- Marvell>> boot! e8 z( M' X$ D) m- f! a$ j. \ v/ ~
- SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
. N z4 I' ?! G: E; e - device 0 offset 0xcc000, size 0x434000& E) i x& @ b O
- SF: 4407296 bytes @ 0xcc000 Read: OK. d O ]3 s6 y
- gpio: pin GPIO21 (gpio 37) value is 17 b0 |. r0 t6 w' Z6 l9 z
- gpio: pin GPIO22 (gpio 38) value is 1
: P$ K1 a+ G5 ^ - Uncompressed size: 8992256 = 0x893600% e- ~" a( ~: w1 V
- device 0 offset 0xc8000, size 0x4000
6 k8 _: l6 A7 f" e; i1 S4 y, K# l) H - SF: 16384 bytes @ 0xc8000 Read: OK
" i: u @1 u+ K- a7 c - ## Flattened Device Tree blob at 04f00000
& S( q" s( R0 ?9 ~2 l. Z - Booting using the fdt blob at 0x4f00000
7 V. {8 C* a( m6 [( g. D$ q - Using Device Tree in place at 0000000004f00000, end 0000000004f05df8
" F6 X$ E9 g$ s1 [0 \- `8 j: w
2 J M& R9 o9 T- Starting kernel ...9 L* W7 s4 R3 D; J/ f# Q6 e
3 z7 z$ M" a/ N6 d5 n9 q+ G* x- .........
! {8 Y7 i" `$ X. s/ x8 L4 e$ J - [ 2.786623] mmcblk0: p1 p2 p3
9 Y1 x$ v; @2 t: v9 t. E - [ 2.801201] Starting init: /sbin/init exists but couldn't execute it (error -5)) A1 Z/ S, `# B
- [ 2.813804] cramfs: bad compressed blocksize 4294298135
l5 c& q$ J3 f3 ?& `/ | - [ 2.819206] Starting init: /bin/sh exists but couldn't execute it (error -5)" T# J3 j1 b. ?% b. W& b- E6 `7 x
- [ 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 - [ 2.840101] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #21" [" u# Z% @, U, L
- [ 2.847399] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)& T X$ k1 P- r3 t) M* h9 x, I
- [ 2.854957] Call trace:) k$ h% S1 } T5 f9 E4 b
- [ 2.857401] [<ffffffc000089b10>] dump_backtrace+0x0/0x108
8 Y: E' J5 v8 K$ ?( s/ M - [ 2.863150] [<ffffffc000089c2c>] show_stack+0x14/0x209 P- D4 j4 b3 n: b$ [
- [ 2.868371] [<ffffffc00029f280>] dump_stack+0x98/0xb8+ Q. ^! c1 A$ F i2 ~) R& T1 X8 Y$ b
- [ 2.873592] [<ffffffc00012b32c>] panic+0xd4/0x218
) N1 s K! x" K5 b. o( g5 ^ - [ 2.878454] [<ffffffc000621d0c>] kernel_init+0xdc/0xe0
7 H B3 H# n3 `$ {; U% [ - [ 2.883761] [<ffffffc000085dd0>] ret_from_fork+0x10/0x40% r/ ]1 h" ~; Y) Y3 ^. V4 s y
- [ 2.888890] CPU0: stopping
* T. U) k& D: g3 U/ z - [ 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
- [ 2.899505] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)7 v- B; n( U( q
- [ 2.907154] Call trace:: N! F, p; ?4 _. l; d8 P
- [ 2.909861] [<ffffffc000089b10>] dump_backtrace+0x0/0x1081 h0 J/ `9 \& I; }
- [ 2.915269] [<ffffffc000089c2c>] show_stack+0x14/0x20
1 I7 O0 Q: O" I6 ?, @) G - [ 2.920580] [<ffffffc00029f280>] dump_stack+0x98/0xb8$ I# S7 U% M" ~; `( @! v% _9 X
- [ 2.925892] [<ffffffc00008efc0>] handle_IPI+0x190/0x1a0
' h1 F4 s! K. X( e - [ 2.931030] [<ffffffc000082598>] gic_handle_irq+0x78/0x168
! s S7 v4 r& q7 g" j/ e: i - [ 2.936969] Exception stack(0xffffffc0008abda0 to 0xffffffc0008abed0)
4 m. N# u" e$ X1 J8 H - [ 2.943547] bda0: ffffffc0008ae000 0000008000000000 ffffffc0008abf00 ffffffc0000868409 c8 i! L3 Q" I% O4 @& ^. K
- [ 2.951467] bdc0: 0000000000000145 ffffffc000890000 0000000000000000 0000000000000000) ~4 v1 x! W) {7 N2 C/ M
- [ 2.959567] bde0: 0000000000000001 0000000000000000 00000000000001c0 0100000000000000: @, J, Z1 d& z) v) l% ^, h/ s
- [ 2.967757] be00: 0000000000000001 ffffffc01bfcddc0 00000000fffeddda ffffffc0008abe802 j4 _7 ?# ^2 B% a( P
- [ 2.975676] be20: 00000000000006d0 0000000000000000 0000000000000000 00000000058e8eff# }, s. O- d# }) Q* r( m& C
- [ 2.983954] be40: ffffffc00426c260 00000000000075af 00000000000ba7a2 0000000000000000' c0 h7 N3 O) l$ q
- [ 2.991876] be60: ffffff8000058548 ffffffc0008ae000 ffffffc0008ae8d8 ffffffc00088cad8
8 d3 G8 }7 ?# N! }/ X( K$ H0 W% f - [ 2.999886] be80: ffffffc0008abf20 ffffffc000631000 ffffffc000890000 ffffffc0008ae000
! w" `) M. e% g0 k - [ 3.007986] bea0: ffffffc0008a8000 0000000000000000 0000000000000000 ffffffc0008abf00
# I! H8 Z8 x' c- v+ u# v( L5 I - [ 3.016353] bec0: ffffffc00008683c ffffffc0008abf00" ^4 E& W& B' t5 @. A& i) \( q. G5 D
- [ 3.021215] [<ffffffc000085700>] el1_irq+0x80/0xf8$ f# Q$ L' G+ _" O! `3 J5 h5 R
- [ 3.026168] [<ffffffc0000d8164>] default_idle_call+0x1c/0x38
# z0 p* a7 ^! |/ o O# Z - [ 3.032373] [<ffffffc0000d8398>] cpu_startup_entry+0x1c8/0x218
) g3 H, M4 k+ o9 L5 B* L6 U - [ 3.038411] [<ffffffc000621c20>] rest_init+0x88/0x98. k* o, n8 \/ E G l
- [ 3.043192] [<ffffffc00084d950>] start_kernel+0x384/0x398( G. l |; `% c* @
- [ 3.048948] [<0000000000627000>] 0x6270001 O; q% T/ r5 W* G
- [ 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- # 查看文件夹 发现boot为空
6 _1 _2 L4 y, M5 t/ v - Marvell>> ext4ls mmc 0:1 /boot
. S% X$ ]% i, T2 k! [0 Z/ e& ~( e6 S0 _ - <DIR> 4096 .
% z7 K' m" N) g' ]4 ~ - <DIR> 4096 ..8 r |& k. E1 H. t$ }# i9 D
3 \2 I; s# G) L, J' n- # 无法启动usb; @$ i6 M# @" D$ a. ^' g
- Marvell>> usb start
5 B9 u" Z( ?: W& x. g8 \ - starting USB.../ \* Y4 I6 f' j& {7 S# ?! o
- No controllers found
复制代码 猜测可能是误删了/boot下的文件导致的,无法通过U盘启动! h3 G V0 Z0 L; e+ b% p# K
3 f6 ?% H+ T" M0 z3 C5 j1 E. O) `+ i启动进入uboot输入如下命令! W4 ?! R9 E' c X8 c6 W. l- ?
- 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 - setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p1 rootwait rw init=/bin/sh"' G" x9 l8 Q9 G( M' E) o. C8 O
- boot
2 Z) P+ s( n# `' {; Z - booti 0x5000000 - 0x4f00000
复制代码 即可进入linux shell
1 j: D3 C; H! n0 ~1 G- # 查看存储设备( b& l: s* \/ `/ ]0 K M |# l* c
- ls -l /dev/sd
4 r8 k0 A/ s) r* ~( l - % G3 d% n% H. O x u1 g N2 C
- # 挂载& t; @' M' Z1 h6 W! L# V
- mount -t proc /proc
- X( ]2 k. T0 a - mount /dev/sda4 /mnt9 F% ^" h0 W' D6 t* f
- 9 O! p, Z& O" o4 b
- # 拷贝文件+ }' d7 y0 o/ B
- cd /mnt
& V) |8 a1 B% G( U$ `% f) [# v+ U - cp armada-3720-customer0.dtb /boot/
0 h3 _: Y) G. m7 [4 P* ~7 z4 N, X2 B - cp Image /boot/
6 \+ G2 D- |) w! v
1 [5 h3 k" [( w/ I- G+ Y- # 退出
$ S/ \) p: R- J - exit
复制代码 重新插拔电源后恢复正常,uboot信息如下:" J. f! T8 V1 O6 U' z
- TIM-1.06 l) I) T- r% \& W6 Q/ i/ h
- WTMI-armada-17.10.1-) E! p2 o6 ^+ [7 e$ n) G
- ENTER init_ddrgen. H, J% }" G; n! M: r2 O( O
- DDR_TOPOLOGY is 0 : DDR3, 1CS 512M
2 z2 D; f( i9 `1 C F% G. Z( @7 _ - WTMI_CLOCK=2; k# |7 m6 Y& ?% \$ ~7 W
- " Y+ _, }. w5 ~- H
- Fill memory before self refresh...done
5 \" b9 A: C: c) f - : K1 G& T, p0 x% }" @
- Now in Self-refresh Mode
$ _! ~* e: k4 D6 X: A& B - Restore CAS Read and Write Latency
8 [1 r3 e [9 I; }0 v ^; f - Restore termination values to original values, C* |5 D; q3 {; g( Z* _& Q
- Exited self-refresh ...
+ ?0 |4 ~2 i7 R - % Z7 U% Q% [, G& w. F
- DLL TUNING
+ a5 P: S( B7 W. T - ==============7 X$ {4 w6 X% B1 m& z8 Z
- DLL 0xc0001050[21:16]: [0,31,18]
( N+ J0 Y' Y$ ^0 V7 N) L$ q6 Q/ n - DLL 0xc0001050[29:24]: [0,2b,15]
) e9 m2 a/ z9 x7 A. i; E - DLL 0xc0001054[21:16]: [0,32,19]2 s' x( ]8 W6 s# k T
- DLL 0xc0001054[29:24]: [0,2d,16]
# n! {" X6 W' w, m - DLL 0xc0001074[21:16]: [0,3f,1f]
( w& d8 {& U p2 d# P6 F - DLL 0xc0001074% V3 n* H" y* B2 j% A# t
0 @9 u+ x' v3 E. {- U-Boot 2017.03-armada-17.10.1 (Mar 07 2018 - 17:11:33 +0800)
, B2 W* c! p4 v8 Q - , ~" F( `) G# G4 U
- Model: Marvell Armada 3720 for Eli Cat/ V( K2 R, k2 L' T1 L7 C
- CPU @ 1000 [MHz]: @- [$ W' c8 ?* i6 {/ I
- L2 @ 800 [MHz]
) g. O ?4 l3 W( O0 {! ` - TClock @ 200 [MHz]8 o x y! p P
- DDR @ 800 [MHz]% R. J: S9 m$ k& ^, C
- I2C: ready
/ z i. Q: |- A: P - DRAM: 512 MiB
9 v; }# g3 _& G6 ~ - U-Boot DT blob at : 000000001f73a520( S ^" t/ R# g/ W
- 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 - *** Warning - bad CRC, using default environment" Z2 {1 K1 }7 _ P% {$ b
- # S% Y1 J, L8 t* u! e& b. q
- MMC: for ssg ledsdhci@d8000: 0
" E# U7 P( I* _6 O. ^% d7 Z* E5 _ - 12931 bytes read in 16 ms (789.1 KiB/s)
: N3 V; Y/ U6 b/ C- Z: h+ @" I - gpio: pin GPIO23 (gpio 39) value is 1
* |5 q; I9 b3 v; |8 g8 y# Y( Z - gpio: pin GPIO23 (gpio 39) value is 1( o* z* p$ N2 q! |5 p
- gpio: pin GPIO23 (gpio 39) value is 1
0 C6 X, B2 M' H: F - Comphy-0: USB3_HOST0 5 Gbps
+ M! i& W* w3 P& H/ C! p$ Y - Comphy-1: SGMII0 1.25 Gbps
9 a' w7 {7 z: b; ]( l1 i6 v& p - Comphy-2: SATA0 6 Gbps
% s0 H: ^) i% ?$ n% a# v! u$ `, ~ - gpio: pin GPIO23 (gpio 39) value is 17 N) d8 ]2 W4 B1 F
- 12931 bytes read in 4 ms (3.1 MiB/s)- h& E8 Y. s. F; P# k6 M
- Enter Normal mode
2 X; q9 w$ L5 \/ B* l$ e7 C - 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 |
评分
-
查看全部评分
|