|
本帖最后由 tymfl 于 2019-10-11 23:47 编辑
! \1 A7 Q% N$ T/ x6 U3 D7 Q
8 e) o' P) o$ t" ?" T8 F入手一台伊拉克成色猫盘故障机,连好ttl上电以后
$ Q A8 w, q/ L3 O9 `. ~7 ]4 y- TIM-1.0' R2 E1 V Y, ?$ l, Y
- WTMI-armada-17.10.1-
) Y; I6 E: q& x - .........4 V5 k7 m* t: B; K
- SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
. J/ `, p9 S9 J( I; I& h" `; C# `9 M3 d - *** Warning - bad CRC, using default environment
6 O; K# Z1 ~" Y: B: x- P- u - , i% d: X9 |, N- p3 }
- MMC: for ssg ledsdhci@d8000: 0) [4 O1 h* |$ G
- ** File not found boot/armada-3720-customer0.dtb **) p+ J2 Q& f) I; w1 B7 b9 l
- ** File not found boot/armada-3720-customer0-minifs.dtb **: h/ l) v I6 f; r
- test_mmc_ext4_exist ==10 |4 ]; ?" u0 l Z2 h7 o
- Comphy-0: UNCONNECTED
? y# g7 q: q; a - Comphy-1: UNCONNECTED
o& g/ S" M3 {: m - Comphy-2: UNCONNECTED ( \$ n Q& A* `9 r. {! Z
- gpio: pin GPIO23 (gpio 39) value is 1
& _! ^6 c5 A9 t- K* N. v( v7 f - ** File not found boot/armada-3720-customer0.dtb **5 {- |& [) I/ Z3 I
- ** File not found boot/armada-3720-customer0-minifs.dtb **
" V% n9 J0 U1 z - Enter Recovery mode+ V! Y. d, F1 }* {: Y
- SCSI: Hit any key to stop autoboot: 0
复制代码 发现无法找到dtd文件,进入了恢复模式,直接启动或按住reset启动均启动失败,启动信息如下:
& ] u! m" W1 m- Marvell>> boot
. T9 y; F7 w- F/ E: Q - SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB4 f! F3 O* q( v
- device 0 offset 0xcc000, size 0x434000
- z2 l0 B9 q( f - SF: 4407296 bytes @ 0xcc000 Read: OK
u& E' h) M( w! Z3 W' E - gpio: pin GPIO21 (gpio 37) value is 1
+ s0 I- q: d1 E - gpio: pin GPIO22 (gpio 38) value is 12 t- i$ }' \1 {) n& x
- Uncompressed size: 8992256 = 0x893600' t: m( ^! c! n3 {3 J! [# a
- device 0 offset 0xc8000, size 0x4000. B# c$ c4 V9 E9 ]& _# Z
- SF: 16384 bytes @ 0xc8000 Read: OK9 w& o0 _3 |% R) w! x& n6 h
- ## Flattened Device Tree blob at 04f00000
8 Z) C4 t% A& S8 B) U0 p - Booting using the fdt blob at 0x4f000008 c {: m7 L' K' L8 J
- Using Device Tree in place at 0000000004f00000, end 0000000004f05df8
4 A* K0 O8 A9 a% E, J
3 a5 k6 m4 m" d* E6 k* v; H+ `- Starting kernel ...9 `' e- \' t6 r p7 I( P# P2 X6 H
- ?- v) a. r2 T- E1 y- .......... V# Q7 c! _8 b0 C& \
- [ 2.786623] mmcblk0: p1 p2 p3% q" r( E: x# x9 l! k4 P
- [ 2.801201] Starting init: /sbin/init exists but couldn't execute it (error -5)
3 y- E3 ^1 w! |* N) D( ^1 y/ m- C - [ 2.813804] cramfs: bad compressed blocksize 4294298135
3 A# J( y. j8 E2 o: Z: V9 o$ k/ z - [ 2.819206] Starting init: /bin/sh exists but couldn't execute it (error -5)
i# Q1 }' E2 J - [ 2.826452] Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
" R2 O6 @* |& G o N, W5 z - [ 2.840101] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #21
) t: [3 ]: D) b" \ f5 y - [ 2.847399] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)0 ^8 D) u# ~9 p3 g% W5 @4 k
- [ 2.854957] Call trace:
* W$ `! j+ K6 K9 R2 j X! `6 @8 D - [ 2.857401] [<ffffffc000089b10>] dump_backtrace+0x0/0x108# T6 T5 ~3 l/ h. s% e6 A" P. c) U
- [ 2.863150] [<ffffffc000089c2c>] show_stack+0x14/0x20
' G+ h% |' i. A1 X) o8 b - [ 2.868371] [<ffffffc00029f280>] dump_stack+0x98/0xb8
9 d+ G5 P- ^: o8 S - [ 2.873592] [<ffffffc00012b32c>] panic+0xd4/0x218
3 Z/ o4 i6 e3 J7 n- G' Q; s& O; D. o - [ 2.878454] [<ffffffc000621d0c>] kernel_init+0xdc/0xe04 z& {* S9 U; f, R9 C
- [ 2.883761] [<ffffffc000085dd0>] ret_from_fork+0x10/0x40
2 y' \1 t! F4 C( d8 v - [ 2.888890] CPU0: stopping) ~$ {+ r7 f$ G- [. U' o1 [, z
- [ 2.891949] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #21
* b) K+ u, X. P1 o - [ 2.899505] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)7 |5 x( M: b3 Z& ^% P
- [ 2.907154] Call trace:. B5 l, S: J$ L
- [ 2.909861] [<ffffffc000089b10>] dump_backtrace+0x0/0x108
6 }- K" Z3 q0 S3 `4 A - [ 2.915269] [<ffffffc000089c2c>] show_stack+0x14/0x20
. ~5 @' f2 z% G - [ 2.920580] [<ffffffc00029f280>] dump_stack+0x98/0xb8
/ n# G8 X+ s5 V H - [ 2.925892] [<ffffffc00008efc0>] handle_IPI+0x190/0x1a0% b1 ~/ s8 p6 b
- [ 2.931030] [<ffffffc000082598>] gic_handle_irq+0x78/0x168
: O1 ?, F6 S2 n) x - [ 2.936969] Exception stack(0xffffffc0008abda0 to 0xffffffc0008abed0)2 H# W4 z" ]- Y- `
- [ 2.943547] bda0: ffffffc0008ae000 0000008000000000 ffffffc0008abf00 ffffffc000086840
E0 V+ N6 ]; L: _ - [ 2.951467] bdc0: 0000000000000145 ffffffc000890000 0000000000000000 0000000000000000% Z. o( w# Q! w! w$ I' V# d
- [ 2.959567] bde0: 0000000000000001 0000000000000000 00000000000001c0 0100000000000000% Q) j3 n7 @ \. c/ D+ b7 Q2 {! \& o1 Z
- [ 2.967757] be00: 0000000000000001 ffffffc01bfcddc0 00000000fffeddda ffffffc0008abe80
* D& g0 l* G2 ]" g - [ 2.975676] be20: 00000000000006d0 0000000000000000 0000000000000000 00000000058e8eff; z1 i6 l" R) R5 ]/ D! y+ K
- [ 2.983954] be40: ffffffc00426c260 00000000000075af 00000000000ba7a2 00000000000000008 r4 w) U4 u- i
- [ 2.991876] be60: ffffff8000058548 ffffffc0008ae000 ffffffc0008ae8d8 ffffffc00088cad8' w& T1 c2 l. {1 k1 G7 h, k
- [ 2.999886] be80: ffffffc0008abf20 ffffffc000631000 ffffffc000890000 ffffffc0008ae000
9 @* f: S7 t/ l0 L) T3 l - [ 3.007986] bea0: ffffffc0008a8000 0000000000000000 0000000000000000 ffffffc0008abf00
* b% U& e8 k( B2 r - [ 3.016353] bec0: ffffffc00008683c ffffffc0008abf005 D( y. ~' }+ J, z, M7 U0 L
- [ 3.021215] [<ffffffc000085700>] el1_irq+0x80/0xf8% Z/ d( u. ]. M4 C2 @
- [ 3.026168] [<ffffffc0000d8164>] default_idle_call+0x1c/0x38
4 P( l: K+ u- [# H) g9 [, X - [ 3.032373] [<ffffffc0000d8398>] cpu_startup_entry+0x1c8/0x218. a% p7 c/ R4 l9 Y2 s+ N6 D
- [ 3.038411] [<ffffffc000621c20>] rest_init+0x88/0x98
" l0 E+ a Y1 w* v) G( w - [ 3.043192] [<ffffffc00084d950>] start_kernel+0x384/0x398
3 }. m# p! d1 ~: ~, j. F - [ 3.048948] [<0000000000627000>] 0x6270008 b; [7 v$ |1 l. G0 B9 ^
- [ 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 下获取的一些信息
7 @1 d! R. C" g* `: M( x- # 查看文件夹 发现boot为空
% m2 ]8 j, e3 J' m4 C* k3 W - Marvell>> ext4ls mmc 0:1 /boot
/ O s* Y* {+ X# W - <DIR> 4096 .+ j" |( u- u9 b* H# v6 k3 z
- <DIR> 4096 ..
" Y, R( |5 K$ X: z0 s) {
D" Q- I6 k1 {2 J( M- # 无法启动usb
' B4 k# _5 M# E7 P/ R4 F/ i0 L h2 x - Marvell>> usb start2 K& z A1 \' Y) }- }5 A5 P% P
- starting USB...
" Y$ I: X. t9 r: p/ ^: c) J u - No controllers found
复制代码 猜测可能是误删了/boot下的文件导致的,无法通过U盘启动
8 ?4 I% X9 V# P% C7 ^$ ?- g0 W) r; `
启动进入uboot输入如下命令
. M2 J8 [# o- L7 H2 I2 Q- setenv bootcmd "sf probe 0;sf read 0x8000000 0x0CC000 0x434000;gpio set GPIO21;gpio set GPIO22;unzip 0x8000000 0x5000000;sf read 0x4f00000 0x0c8000 4000;"/ P7 ~4 a( `% o+ G- ]' s4 }/ h
- setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p1 rootwait rw init=/bin/sh"
) S9 k5 N; F: I4 } - boot* p# m4 L. i, o$ O" z
- booti 0x5000000 - 0x4f00000
复制代码 即可进入linux shell5 h4 Y) {% W6 Z5 G
- # 查看存储设备
* Y! i& V$ [# X, G3 P4 o# y% x) k - ls -l /dev/sd
* G5 ^: B( q- o% }; R, V0 l( I) @# q
: H9 N& ^$ x3 [$ d6 c- # 挂载
- q( d" N, P, s' `, z# S" L7 { - mount -t proc /proc
6 q, n& M- k' L& }# s - mount /dev/sda4 /mnt: v: p; M6 K3 }8 C; o6 j* ^5 C
- 2 d! K/ Y6 X# a5 C' m4 a- W3 Q
- # 拷贝文件
9 T" _: K, @0 R7 _ - cd /mnt
9 @/ i7 Q5 b& {. e& B( N; d9 v - cp armada-3720-customer0.dtb /boot/0 L( \: [ l3 `5 f& L1 j( x
- cp Image /boot/
9 l# V* ~7 y2 U+ g9 s; O: X: I
, |0 b% t0 t# R# G7 B9 @; j- # 退出
5 K3 u& ^: p+ g% Q2 |, H: o - exit
复制代码 重新插拔电源后恢复正常,uboot信息如下:
: D$ D6 |" z- N. A, s9 O$ w- TIM-1.0% I0 r2 m5 Z1 S: l
- WTMI-armada-17.10.1-
4 s9 a+ @6 f. { i. v4 K - ENTER init_ddrgen- a& ]$ H) n- ^8 P) [% t+ h3 g
- DDR_TOPOLOGY is 0 : DDR3, 1CS 512M Y, I7 H) p. B/ \+ Q% m& D
- WTMI_CLOCK=2) a% b/ Z; h( @. n8 p! r5 T
( k$ t4 Z1 I5 O* m- Fill memory before self refresh...done
2 v" a# }6 {* i7 {' t& ^( z
* s. {* I3 e5 @3 @: V- Now in Self-refresh Mode7 W0 ]. ?) b# |% C% l" } w
- Restore CAS Read and Write Latency1 B- v/ d H! T
- Restore termination values to original values
% I8 W7 p4 K* _ h& u+ o+ s0 e - Exited self-refresh ...6 D0 z/ S) K8 ~/ i
- 2 w4 _- D6 ?9 a. E
- DLL TUNING( V: E Z% K1 a1 ]" c% u5 s
- ==============0 O' F8 [7 \- _& Q5 ~% r
- DLL 0xc0001050[21:16]: [0,31,18]
5 j5 M9 v. b! D1 @ - DLL 0xc0001050[29:24]: [0,2b,15]+ L. V( G$ N6 U4 b2 o$ F y( P
- DLL 0xc0001054[21:16]: [0,32,19]: }) @$ Q8 B) ~) X! Q3 w
- DLL 0xc0001054[29:24]: [0,2d,16]
2 [- N' }+ h" ]$ N3 b - DLL 0xc0001074[21:16]: [0,3f,1f]
1 X+ o- p3 Q+ y' i) M5 e# m0 S - DLL 0xc00010743 j1 k. t b. Q, ]8 j
- 2 l- C2 j! E4 X( { f
- U-Boot 2017.03-armada-17.10.1 (Mar 07 2018 - 17:11:33 +0800)7 \! D7 [+ Z* w
3 c+ W o0 S& V- Model: Marvell Armada 3720 for Eli Cat
- ]# C* E6 {, Q% R) k: D - CPU @ 1000 [MHz]# c9 ~/ m& a' @+ a+ l6 ~
- L2 @ 800 [MHz]
r* k2 T$ T6 q/ M - TClock @ 200 [MHz]
0 J3 y) Z8 D( L - DDR @ 800 [MHz]
4 ?9 i( z: G9 E8 P5 Z$ T - I2C: ready ) S* t2 P5 v' K! v. Z
- DRAM: 512 MiB0 V5 N$ ^6 }' B' Z3 f) ]
- U-Boot DT blob at : 000000001f73a520( J3 r- J, I2 n: Z
- SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB
# T7 m8 I z0 y3 z, ~8 _ - *** Warning - bad CRC, using default environment
. g0 ~+ k6 o) O4 N* M1 {9 l
, j- V' Y% e$ N$ x7 [- MMC: for ssg ledsdhci@d8000: 0$ e0 D* X! t) _& r" q4 m+ w, S& j
- 12931 bytes read in 16 ms (789.1 KiB/s)0 K' S9 l9 A0 I/ _
- gpio: pin GPIO23 (gpio 39) value is 1- H X& @* C. i
- gpio: pin GPIO23 (gpio 39) value is 1* e" b H9 L4 C. P4 V5 x
- gpio: pin GPIO23 (gpio 39) value is 1( |$ i, ^; Y; r0 _
- Comphy-0: USB3_HOST0 5 Gbps
: o3 t5 [8 ^, N8 \% b - Comphy-1: SGMII0 1.25 Gbps
; T" z2 r6 N2 } c - Comphy-2: SATA0 6 Gbps % _! O3 j: k+ E6 z
- gpio: pin GPIO23 (gpio 39) value is 1" N) P/ x- s: i; t' G# Y
- 12931 bytes read in 4 ms (3.1 MiB/s)
% P/ s9 D2 W9 k5 I0 M - Enter Normal mode
# L+ {( W2 C! ?; Y - SCSI: Hit any key to stop autoboot: 0
复制代码
9 p* D+ f0 a! b补充下:这样修改后,只能一次有效请删除mmc 0:3 分区的rootfs.tar.bz2和upgrade_eli_38.img文件。
% Z3 |0 F" e+ e) i$ s) U或者直接在linux shell里面刷写新uboot% C C/ @" X! ^. X) X e% Q
; w3 M, m" E9 W5 |5 Z0 J# u2 N0 C4 M- }4 e) `4 T$ `3 K; U
9 M ?$ C4 ?1 L8 t6 Y
|
评分
-
查看全部评分
|