|
|
本帖最后由 tymfl 于 2019-10-11 23:47 编辑
; `( D4 o' j5 p2 B; o6 m' g6 u
S. @! V7 `. @7 u5 i' ^入手一台伊拉克成色猫盘故障机,连好ttl上电以后
6 ^" v0 B$ N) b) y- {$ C- TIM-1.0
* m. l! d4 U* i+ G" O - WTMI-armada-17.10.1-7 R/ V/ ?: A; d$ z, O, ~5 f: P _
- .........
* d/ g1 `( s; i - SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
0 }. Y* P! X* v4 f* Q - *** Warning - bad CRC, using default environment! n; j. c7 d1 r: V9 F2 F
- 1 ?3 G1 \$ ?& K
- MMC: for ssg ledsdhci@d8000: 0
5 h+ a) F5 ]2 G; ]9 J6 z! i - ** File not found boot/armada-3720-customer0.dtb **( t! w! l5 g0 B! A7 r
- ** File not found boot/armada-3720-customer0-minifs.dtb **; x# i, p3 ~3 q3 B, B
- test_mmc_ext4_exist ==1
$ \2 n. g2 D% Q6 [2 Z1 A - Comphy-0: UNCONNECTED
$ G9 V' p% p6 {) x - Comphy-1: UNCONNECTED
' o2 b2 z5 N' Z% \ - Comphy-2: UNCONNECTED , E& A& H7 d$ p. X4 a# {
- gpio: pin GPIO23 (gpio 39) value is 1
, p0 [; q, k8 a0 J, b. u! C - ** File not found boot/armada-3720-customer0.dtb **
+ U# o9 R( E6 V- B$ N; v2 y f. M" | - ** File not found boot/armada-3720-customer0-minifs.dtb **
- D) s; i5 K j; m* _ - Enter Recovery mode
R$ H& k" g" Y) R$ @ L - SCSI: Hit any key to stop autoboot: 0
复制代码 发现无法找到dtd文件,进入了恢复模式,直接启动或按住reset启动均启动失败,启动信息如下:
0 Z' B' _- f* g' V* J- Marvell>> boot
! T* w `# A$ G! z+ J3 E - SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB2 ` Y" w+ \5 }+ U& m4 ^
- device 0 offset 0xcc000, size 0x434000
0 s( ]9 b/ P R# Q; p - SF: 4407296 bytes @ 0xcc000 Read: OK
2 ?# u, ?: Z. J6 X- Y - gpio: pin GPIO21 (gpio 37) value is 1
) n9 E, x4 r4 W) R. l* R - gpio: pin GPIO22 (gpio 38) value is 1$ ?2 m% g' d, ^8 M/ |
- Uncompressed size: 8992256 = 0x8936004 N6 H# `8 N3 \; N3 T/ D% f
- device 0 offset 0xc8000, size 0x40007 E% B( S8 h) H4 H( }
- SF: 16384 bytes @ 0xc8000 Read: OK
6 p; B' l6 K. y* I# G - ## Flattened Device Tree blob at 04f00000
# Q% `' A! W2 c3 V* r7 X - Booting using the fdt blob at 0x4f00000
' |! n. `, l' J6 V) r* w - Using Device Tree in place at 0000000004f00000, end 0000000004f05df8
( Q+ l P2 x! {2 n u
5 a. P0 G- A* a2 D& [- Starting kernel ...
: F a. Q. {; A# \3 _+ K
9 f, u8 h$ S; H% d _% l- }- .........
3 Z# y( }0 `. g2 \7 T6 _& Z4 b5 P% k - [ 2.786623] mmcblk0: p1 p2 p35 S' C; Q- Z5 I: N, y! A- u
- [ 2.801201] Starting init: /sbin/init exists but couldn't execute it (error -5)
, c0 r2 o# |! u8 P - [ 2.813804] cramfs: bad compressed blocksize 42942981358 k5 r! y9 H( A. D( F4 c! W" H, K
- [ 2.819206] Starting init: /bin/sh exists but couldn't execute it (error -5)
+ ~/ e3 j" L# T" }3 e5 g - [ 2.826452] Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
+ J4 T: A0 L1 ` P- l - [ 2.840101] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #212 L* t# J Q; w! Z$ A9 {$ \2 E
- [ 2.847399] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)! P8 Z9 b, u8 {1 b W+ t
- [ 2.854957] Call trace:
& |2 j R1 S$ f* |. k; L$ d - [ 2.857401] [<ffffffc000089b10>] dump_backtrace+0x0/0x108 ?% }$ i9 l6 p: s
- [ 2.863150] [<ffffffc000089c2c>] show_stack+0x14/0x20
7 a$ L4 G% D L/ w, L$ U* r" F - [ 2.868371] [<ffffffc00029f280>] dump_stack+0x98/0xb8
' q4 U, \/ d7 U. f% w+ { - [ 2.873592] [<ffffffc00012b32c>] panic+0xd4/0x218
- B! p; K3 T* \- y" U1 U - [ 2.878454] [<ffffffc000621d0c>] kernel_init+0xdc/0xe0
* g+ u' N* Q# S% V; ]3 b) z - [ 2.883761] [<ffffffc000085dd0>] ret_from_fork+0x10/0x40+ t% L }* g2 Z2 ], |8 E3 v: n: D6 k
- [ 2.888890] CPU0: stopping
( r- f* |2 `: Z4 X8 r U1 B - [ 2.891949] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #21" G- e t4 h) P% v* ~( P- D
- [ 2.899505] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)
1 H4 c/ x3 E% L2 X) f, Q7 s - [ 2.907154] Call trace:
: W' \" Y1 [& l a. q2 Z$ x/ t - [ 2.909861] [<ffffffc000089b10>] dump_backtrace+0x0/0x108
: v4 l3 k' o) o9 N u+ i, `: T) J+ h - [ 2.915269] [<ffffffc000089c2c>] show_stack+0x14/0x20' R& d {% ^) {4 n
- [ 2.920580] [<ffffffc00029f280>] dump_stack+0x98/0xb8
/ v0 b3 J& n( m3 L - [ 2.925892] [<ffffffc00008efc0>] handle_IPI+0x190/0x1a0
3 L/ k0 I% m/ P - [ 2.931030] [<ffffffc000082598>] gic_handle_irq+0x78/0x168
- Q9 N1 j" _% ?0 B" L" R3 `7 [4 H - [ 2.936969] Exception stack(0xffffffc0008abda0 to 0xffffffc0008abed0)- u, a& Q. Y9 L5 S
- [ 2.943547] bda0: ffffffc0008ae000 0000008000000000 ffffffc0008abf00 ffffffc0000868401 j; v1 p7 B0 b: Z- P% H# c
- [ 2.951467] bdc0: 0000000000000145 ffffffc000890000 0000000000000000 0000000000000000
9 _+ y( a1 k( B - [ 2.959567] bde0: 0000000000000001 0000000000000000 00000000000001c0 0100000000000000' @3 s! n7 R* v6 J: v5 z, z
- [ 2.967757] be00: 0000000000000001 ffffffc01bfcddc0 00000000fffeddda ffffffc0008abe80) Y% m: x. a }' n6 B% |
- [ 2.975676] be20: 00000000000006d0 0000000000000000 0000000000000000 00000000058e8eff
9 p! Y& ?. R& E9 t) z6 ?$ \ - [ 2.983954] be40: ffffffc00426c260 00000000000075af 00000000000ba7a2 0000000000000000
# F6 a, n4 s) F+ O( D% ] - [ 2.991876] be60: ffffff8000058548 ffffffc0008ae000 ffffffc0008ae8d8 ffffffc00088cad8' Q# g) G I! S9 F- G: p
- [ 2.999886] be80: ffffffc0008abf20 ffffffc000631000 ffffffc000890000 ffffffc0008ae0007 l7 {& U) c: i5 R/ b2 @7 q
- [ 3.007986] bea0: ffffffc0008a8000 0000000000000000 0000000000000000 ffffffc0008abf00" |" n& i' T7 T' U
- [ 3.016353] bec0: ffffffc00008683c ffffffc0008abf00
; o' U! l t4 [2 b! g - [ 3.021215] [<ffffffc000085700>] el1_irq+0x80/0xf8
; L; U8 f! \2 s+ N# y3 j1 Q/ l* n - [ 3.026168] [<ffffffc0000d8164>] default_idle_call+0x1c/0x380 z# T5 A: O8 l0 K w8 _
- [ 3.032373] [<ffffffc0000d8398>] cpu_startup_entry+0x1c8/0x2182 |3 F& G1 F! H& y! ]4 Z
- [ 3.038411] [<ffffffc000621c20>] rest_init+0x88/0x98+ n) b8 n4 k+ `3 O1 B7 Q
- [ 3.043192] [<ffffffc00084d950>] start_kernel+0x384/0x398% D+ L0 n% G2 W$ s( ~" J6 D
- [ 3.048948] [<0000000000627000>] 0x6270002 x; |# q% r" G2 {% x, O- 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 下获取的一些信息
/ W d8 ?7 {4 H) M: s- U9 ^- # 查看文件夹 发现boot为空
5 B3 r' K0 H" G) F! x% s; H - Marvell>> ext4ls mmc 0:1 /boot
0 f, L: h: b' o# i. H, ]; A - <DIR> 4096 .7 I, `$ t! q$ U2 @" t7 t
- <DIR> 4096 ..' J9 I2 K# T: [, G2 J2 H
. a) A6 t1 J' M- # 无法启动usb
& w$ m7 v4 C! [# X$ v7 A - Marvell>> usb start' q& @9 O5 n O; H3 m4 p
- starting USB...# p# q9 U( g4 V
- No controllers found
复制代码 猜测可能是误删了/boot下的文件导致的,无法通过U盘启动
% N2 ?* ?6 X @$ j% o$ h6 B- V" `8 ?3 R j6 p* P& V
启动进入uboot输入如下命令
% {, C; Z* j8 Y# I- setenv bootcmd "sf probe 0;sf read 0x8000000 0x0CC000 0x434000;gpio set GPIO21;gpio set GPIO22;unzip 0x8000000 0x5000000;sf read 0x4f00000 0x0c8000 4000;") ]: Y9 d- h) |! F) [4 E
- setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p1 rootwait rw init=/bin/sh"
. v6 o; S" _0 ^1 A7 o% k - boot
1 p. i6 w% C! N, I - booti 0x5000000 - 0x4f00000
复制代码 即可进入linux shell
6 Y3 B. `' t- ]# x X) V- # 查看存储设备
4 x% ?2 Y; S- V - ls -l /dev/sd/ i% p) b5 p4 \. n$ T
- ( Q" v% P+ T8 y) ^4 U
- # 挂载
& v( U3 {& C3 C: c - mount -t proc /proc. z) J& v: d# O2 o
- mount /dev/sda4 /mnt; W! c9 e) [7 f. ^
- 1 z) u2 M0 L I" Y
- # 拷贝文件
' ?% p6 `3 c1 [) o - cd /mnt
6 Q; P0 K6 D7 [- p+ s) M* q - cp armada-3720-customer0.dtb /boot/
0 ^7 m6 c; `8 ]- } - cp Image /boot/2 T0 n; ]+ u1 N
- . s# F% l! D3 v
- # 退出
* @: w; a; o) ^9 E0 Y1 K - exit
复制代码 重新插拔电源后恢复正常,uboot信息如下:
# P8 M$ L8 l/ O$ h6 a8 n5 Y; h- TIM-1.0) i, V. X# y5 e# P- C: z
- WTMI-armada-17.10.1-
& X/ |) K% B0 L' K) x - ENTER init_ddrgen
$ @, w) X) K+ }% B7 j - DDR_TOPOLOGY is 0 : DDR3, 1CS 512M) y S& X j( M% Z9 G
- WTMI_CLOCK=2
f! A4 K2 ]; L3 K, l V
' W- ~2 X: G; z5 A) e" I7 f3 }- Fill memory before self refresh...done
! ~. L! U: Q! A8 B ^- V( |
9 w+ z: V4 N' c1 I1 t& Z$ I% t8 B- Now in Self-refresh Mode' P! u/ l, o- V
- Restore CAS Read and Write Latency
6 b$ N9 _( N6 \# p0 Z/ Z ? - Restore termination values to original values
4 |! W1 i+ F) Y4 T/ ~8 ` - Exited self-refresh ...
9 o( c% u- p: E e
; A( R5 b* H& b( j- DLL TUNING! o* ~' q: B. k/ U' D* ^
- ==============' `) @' J) Y' P! _$ y2 ?
- DLL 0xc0001050[21:16]: [0,31,18]8 k) c' }8 [' M0 {2 [ S
- DLL 0xc0001050[29:24]: [0,2b,15]
- b4 B, f$ v+ @- o j6 q - DLL 0xc0001054[21:16]: [0,32,19]
9 Q" Q3 a% Z$ I8 N4 z' g. L - DLL 0xc0001054[29:24]: [0,2d,16]/ `. Y, V- o9 w1 U. I
- DLL 0xc0001074[21:16]: [0,3f,1f]6 K0 g& X o; G2 t9 B, A
- DLL 0xc0001074
) G+ ]3 O4 W8 b1 M% \ L - + ?4 D1 I6 u6 y% b! W/ R8 z
- U-Boot 2017.03-armada-17.10.1 (Mar 07 2018 - 17:11:33 +0800)0 r' u5 s% N5 Z0 |$ _8 h
- 0 a m, e5 K( [) [5 O. `2 \* R
- Model: Marvell Armada 3720 for Eli Cat
1 a' F/ f D# k0 k* z" z' e - CPU @ 1000 [MHz]& e5 j% \/ c7 R, D) b
- L2 @ 800 [MHz]$ @; H9 @" B& f- }8 I
- TClock @ 200 [MHz]; y3 b/ m; n9 I, y. [# W3 [
- DDR @ 800 [MHz]) B' _$ E/ S' M) b/ H, [! [
- I2C: ready
. S: }4 h2 T* J- [& d; ?% F - DRAM: 512 MiB6 v. L/ q& G `5 O
- U-Boot DT blob at : 000000001f73a520
( E/ g M2 ^0 G4 Y/ `( B2 z - SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
' `* M4 l# t% W q - *** Warning - bad CRC, using default environment
: ^. V+ G+ i- Z# R+ K - ' ~( ~1 V5 B! W
- MMC: for ssg ledsdhci@d8000: 0; E# E; V; f) p# z8 J- Z5 ^$ ~
- 12931 bytes read in 16 ms (789.1 KiB/s)
- l1 l7 i8 ^! U/ x; G | - gpio: pin GPIO23 (gpio 39) value is 1& _8 h2 c8 f- s: C
- gpio: pin GPIO23 (gpio 39) value is 1
' R, n- W6 I: X! z6 u1 [8 {& t; K7 o: ~ - gpio: pin GPIO23 (gpio 39) value is 1
5 M) p. D3 l6 j8 _# R - Comphy-0: USB3_HOST0 5 Gbps
2 v/ y7 ^8 f8 S3 O8 P2 G - Comphy-1: SGMII0 1.25 Gbps
- C4 @4 ^% H9 x6 Q4 E; ?9 D0 g - Comphy-2: SATA0 6 Gbps
7 V8 K9 m2 K K" y% @8 W" l - gpio: pin GPIO23 (gpio 39) value is 1/ m* k$ ?* ^! i
- 12931 bytes read in 4 ms (3.1 MiB/s)7 `: z5 l4 D- ` U; ]8 Y- [& v" k
- Enter Normal mode$ v# k% I4 L( x5 C, P# W8 B
- SCSI: Hit any key to stop autoboot: 0
复制代码 8 U6 T& e! G# X" J; V9 e
补充下:这样修改后,只能一次有效请删除mmc 0:3 分区的rootfs.tar.bz2和upgrade_eli_38.img文件。
. D8 a5 I; v& q2 h' i或者直接在linux shell里面刷写新uboot2 o) b" n5 `9 {
: S8 A/ [/ @/ }! W: d/ F& y
, D4 Q& S5 c6 i" j$ k
9 V& D2 N" A# T( n3 K
|
评分
-
查看全部评分
|