|
|
本帖最后由 tymfl 于 2019-10-11 23:47 编辑
% l' B; k: @5 V5 F! _! q; o* d& q! `* ?$ ^4 i1 x- H' h
入手一台伊拉克成色猫盘故障机,连好ttl上电以后/ Q' X+ ~ H& y6 Z1 V
- TIM-1.05 f: p) ]6 C0 g M5 j' M& r
- WTMI-armada-17.10.1-2 o& \) k9 |* a- l2 ~6 @! q
- .........3 @6 ]+ Q8 L9 k7 b3 Q! k4 M
- SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB1 R! u" _0 X' v; W/ y; ^5 H: i
- *** Warning - bad CRC, using default environment3 p/ B* _. X/ w) d
; a% L9 T# h. Y- MMC: for ssg ledsdhci@d8000: 0
- z' _6 U! T3 e) @# j7 [! G - ** File not found boot/armada-3720-customer0.dtb **+ \7 v8 N" @# Q$ H! p+ E
- ** File not found boot/armada-3720-customer0-minifs.dtb **
& n7 M+ b; _. k f - test_mmc_ext4_exist ==1
% Z" N& V# [* X, m$ n i* { - Comphy-0: UNCONNECTED % M- r2 H' A" \$ l2 v/ _
- Comphy-1: UNCONNECTED
1 r% w" H" E& D. w' h - Comphy-2: UNCONNECTED
( ` N, N1 F! a! f+ q: B; \ - gpio: pin GPIO23 (gpio 39) value is 1. f9 W1 h7 _2 @# {1 E
- ** File not found boot/armada-3720-customer0.dtb **
# u1 j9 i2 P4 g( e6 [ - ** File not found boot/armada-3720-customer0-minifs.dtb **
?7 z( {3 k" m/ y9 Z( X6 R1 I - Enter Recovery mode; W' W" j6 u ?( y T* N/ D1 _
- SCSI: Hit any key to stop autoboot: 0
复制代码 发现无法找到dtd文件,进入了恢复模式,直接启动或按住reset启动均启动失败,启动信息如下:3 W4 M- ?- F7 i) T
- Marvell>> boot
, }' B; Z- P9 d5 ] - SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB% b/ h( R( Y4 f8 O
- device 0 offset 0xcc000, size 0x434000* Q0 A$ L C" A
- SF: 4407296 bytes @ 0xcc000 Read: OK
/ v! }: M' G+ m: g - gpio: pin GPIO21 (gpio 37) value is 1
" Y4 |% I7 D5 K- [ - gpio: pin GPIO22 (gpio 38) value is 17 M+ K, Z+ Q0 P' I1 T
- Uncompressed size: 8992256 = 0x893600 J: }. J, l4 z. E3 X% H2 E% z
- device 0 offset 0xc8000, size 0x4000# a! C, W3 K: ~, z. `
- SF: 16384 bytes @ 0xc8000 Read: OK
# f k6 A( B9 S: r - ## Flattened Device Tree blob at 04f00000
" K9 O" A& V7 n0 @ R0 V3 ]6 g - Booting using the fdt blob at 0x4f00000
5 D1 Q' s1 x" {6 Z2 _7 ] - Using Device Tree in place at 0000000004f00000, end 0000000004f05df8
' I/ R# o3 A/ {$ [+ j' P - l* s$ ?5 j# R1 W& q9 s! g
- Starting kernel ...
# [6 v% O8 _$ w1 p8 ?
% b, \7 R& h2 e j- .........9 h+ O: K3 U0 f/ c+ K
- [ 2.786623] mmcblk0: p1 p2 p38 C. ~$ [+ I% F+ d3 O
- [ 2.801201] Starting init: /sbin/init exists but couldn't execute it (error -5)5 G' s4 E r* {2 N9 B4 j7 S0 S
- [ 2.813804] cramfs: bad compressed blocksize 4294298135
4 }7 r: p: Y- B W) P/ E - [ 2.819206] Starting init: /bin/sh exists but couldn't execute it (error -5)
6 m- g' P& T. E0 S5 Y - [ 2.826452] Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.6 } F }' J; j7 g
- [ 2.840101] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #219 t+ [4 w, {6 g6 J2 o5 `
- [ 2.847399] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)
+ g2 z& w2 l8 O- ^& p% S& R - [ 2.854957] Call trace:8 r' d f. [2 i& K* M+ h
- [ 2.857401] [<ffffffc000089b10>] dump_backtrace+0x0/0x108
1 S/ _$ o4 U; I; P9 ~ - [ 2.863150] [<ffffffc000089c2c>] show_stack+0x14/0x20
. V& S! L# x) X2 a' U - [ 2.868371] [<ffffffc00029f280>] dump_stack+0x98/0xb8
/ J0 b x6 e: K7 ?0 d. l - [ 2.873592] [<ffffffc00012b32c>] panic+0xd4/0x218& O( W9 Q! L% h
- [ 2.878454] [<ffffffc000621d0c>] kernel_init+0xdc/0xe0
/ d! Z0 z* {% M& z" n! I - [ 2.883761] [<ffffffc000085dd0>] ret_from_fork+0x10/0x40
' g* u- h% h1 Y3 }, E/ w! l8 v - [ 2.888890] CPU0: stopping: y6 A5 _8 P* k8 Q
- [ 2.891949] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.52-armada-17.10.1 #21
6 ^; I3 h" W: w* x - [ 2.899505] Hardware name: Marvell Armada 3720 for Eli-Cat DB-88F3720-DDR3 (DT)
c& U8 u& A0 r |5 O - [ 2.907154] Call trace:: m# K; C# g f; S) `& [; p9 ^
- [ 2.909861] [<ffffffc000089b10>] dump_backtrace+0x0/0x108
) }5 B+ J4 ~% d O! u, u% Y - [ 2.915269] [<ffffffc000089c2c>] show_stack+0x14/0x20
! N! S7 e4 c& Q( ]2 _8 {) H5 f - [ 2.920580] [<ffffffc00029f280>] dump_stack+0x98/0xb8
8 n5 e1 T1 `0 R" ^+ G! t - [ 2.925892] [<ffffffc00008efc0>] handle_IPI+0x190/0x1a0* [! n0 \# |: m$ [; G% _- K
- [ 2.931030] [<ffffffc000082598>] gic_handle_irq+0x78/0x168
0 n$ t3 N9 v' y - [ 2.936969] Exception stack(0xffffffc0008abda0 to 0xffffffc0008abed0)1 ^" D" p0 B w. @, q
- [ 2.943547] bda0: ffffffc0008ae000 0000008000000000 ffffffc0008abf00 ffffffc000086840
& ^6 L' F9 m8 w. Q - [ 2.951467] bdc0: 0000000000000145 ffffffc000890000 0000000000000000 0000000000000000. m4 [; K: H. M" d; t
- [ 2.959567] bde0: 0000000000000001 0000000000000000 00000000000001c0 0100000000000000
/ n- {7 W; g1 B" g - [ 2.967757] be00: 0000000000000001 ffffffc01bfcddc0 00000000fffeddda ffffffc0008abe80# k5 K% Z$ [8 U; ^2 G) y
- [ 2.975676] be20: 00000000000006d0 0000000000000000 0000000000000000 00000000058e8eff
2 X# Q# y7 m) g- i2 d, t6 v - [ 2.983954] be40: ffffffc00426c260 00000000000075af 00000000000ba7a2 0000000000000000
- y( u! t+ g( g1 X - [ 2.991876] be60: ffffff8000058548 ffffffc0008ae000 ffffffc0008ae8d8 ffffffc00088cad8
: p+ G7 V" i) j! ^3 D - [ 2.999886] be80: ffffffc0008abf20 ffffffc000631000 ffffffc000890000 ffffffc0008ae000
0 C/ N$ @' L0 s) ]" R1 Z! g3 b - [ 3.007986] bea0: ffffffc0008a8000 0000000000000000 0000000000000000 ffffffc0008abf006 e( ] W1 J F) Z! o, x
- [ 3.016353] bec0: ffffffc00008683c ffffffc0008abf007 ^9 z. y' A* _7 S
- [ 3.021215] [<ffffffc000085700>] el1_irq+0x80/0xf8; U+ z3 n4 X& t: Z
- [ 3.026168] [<ffffffc0000d8164>] default_idle_call+0x1c/0x38- }/ @* F) Z2 y& @
- [ 3.032373] [<ffffffc0000d8398>] cpu_startup_entry+0x1c8/0x2187 U8 Y# |9 z& T. B0 l8 b# R
- [ 3.038411] [<ffffffc000621c20>] rest_init+0x88/0x98( x( Z1 K7 |8 v, p4 v+ f; K
- [ 3.043192] [<ffffffc00084d950>] start_kernel+0x384/0x398" l3 ~1 h2 T* a
- [ 3.048948] [<0000000000627000>] 0x627000
$ q6 A% X3 P" S& z. n0 N - [ 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 下获取的一些信息% w9 A* l1 k5 M* ?
- # 查看文件夹 发现boot为空' d$ n% b, s% N' K0 m
- Marvell>> ext4ls mmc 0:1 /boot( R2 @. K+ ^$ m( p
- <DIR> 4096 .2 }/ ~" S6 e1 U7 q ^
- <DIR> 4096 ..! a a% T) E; m! E* Q
) J2 m7 p% k( A2 K2 |; T7 v6 Z5 }- # 无法启动usb
( }: s; g- d! W6 f) ~* O C( c - Marvell>> usb start
) L# k; b7 U/ z1 e4 T - starting USB...# C! F8 A/ E9 q ?! _: X5 ]& `3 d
- No controllers found
复制代码 猜测可能是误删了/boot下的文件导致的,无法通过U盘启动/ W: V/ h( g$ W$ W
) Z: Z& j' M' x" W: y/ e9 P
启动进入uboot输入如下命令! B8 _4 ~/ F7 a' ]# _, L E% |, h2 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;"
6 {$ m2 x" U# @ - setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p1 rootwait rw init=/bin/sh"6 v/ P1 R. s/ w, N
- boot
. d2 Y1 r3 j$ b! f. P+ A - booti 0x5000000 - 0x4f00000
复制代码 即可进入linux shell; c; L1 f$ x- \
- # 查看存储设备' K, H* O. ^- ]% \
- ls -l /dev/sd+ w. a, y6 W. Z
1 k: V! s4 p/ r- # 挂载
: m* a6 r* `* j# `, T: [) Q! B$ j - mount -t proc /proc
% ]8 v r3 N, L - mount /dev/sda4 /mnt1 |% S% L# {! z& E" u; G
7 V. E. X# o2 ^) W& W, @- v- # 拷贝文件
: m9 ~) A. |6 @6 q, M- a2 b - cd /mnt% f- n2 l q9 ]% G! a
- cp armada-3720-customer0.dtb /boot/
. U: l0 C$ ?# \9 W' D9 T - cp Image /boot/
3 h8 x; g- Q; ~. [ - . y0 R0 e1 Y" G H
- # 退出6 n) ]4 R4 V" h0 m" Y4 i, f
- exit
复制代码 重新插拔电源后恢复正常,uboot信息如下:0 c1 L: Q* b4 \: H! `, }0 \+ E
- TIM-1.06 F: h/ N4 ~1 c; p8 ?
- WTMI-armada-17.10.1-. B" c6 D1 u! X1 I) W* H
- ENTER init_ddrgen
- O8 w0 ^' Y$ w, A! L - DDR_TOPOLOGY is 0 : DDR3, 1CS 512M* M* q; L P( K6 k4 K
- WTMI_CLOCK=24 Z% K, @+ P1 o3 e3 |8 C6 ]
- }1 X7 ]0 _* O5 E1 a+ x
- Fill memory before self refresh...done" j4 r$ S" |1 j
- 1 `% @, M2 t V& L5 ]! {% m) R
- Now in Self-refresh Mode
% H$ F1 Y- C8 n* t# N3 i z1 E - Restore CAS Read and Write Latency
; |+ H' q8 U7 x3 ~2 n% y - Restore termination values to original values
& q$ j* g6 F! D7 C - Exited self-refresh ...
; M2 i! \1 W7 Z" F
* U( X4 D L: L( h- DLL TUNING
0 f: J! M& m o, r% M - ==============
/ A1 a* P g0 f$ _5 b. t - DLL 0xc0001050[21:16]: [0,31,18]4 X. K- e* M3 |% k* Z- b6 k
- DLL 0xc0001050[29:24]: [0,2b,15]
4 R- Q( U! [' N# H8 Z - DLL 0xc0001054[21:16]: [0,32,19]
1 \! @" C e$ k& K8 V, E - DLL 0xc0001054[29:24]: [0,2d,16]. s9 p& r0 p5 c. \7 F
- DLL 0xc0001074[21:16]: [0,3f,1f]/ Z) s" k* k/ D2 {1 ~
- DLL 0xc0001074& G9 F g3 C" p- W6 [
- 1 A2 Y" @( V5 ?3 f' X
- U-Boot 2017.03-armada-17.10.1 (Mar 07 2018 - 17:11:33 +0800); a6 m& o5 M) N, I
! W6 o( v- k8 b0 N2 D( L- Model: Marvell Armada 3720 for Eli Cat
5 ?3 w% a3 n3 b( [ - CPU @ 1000 [MHz]! C3 K8 R$ Q f
- L2 @ 800 [MHz]/ U6 a6 ?' h1 H0 [' L" O3 i
- TClock @ 200 [MHz]. }# G# r8 k: d' ]* \1 Q/ A
- DDR @ 800 [MHz]9 ^ W8 _- Q' x2 H* w
- I2C: ready
4 R4 G( l. c7 h6 V3 v* z* i2 Q9 p1 { - DRAM: 512 MiB
0 @, \( C! k# r) p" _- I - U-Boot DT blob at : 000000001f73a520* g2 Q. L' }/ Y) X' z2 y; J
- SF: Detected GD25LQ64C with page size 256 Bytes, erase size 4 KiB, total 8 MiB- R* y' r5 E5 D! g2 G. s
- *** Warning - bad CRC, using default environment
4 g+ Q7 p, J: d8 w8 i4 w% q( B! V
: E* k ^- F- y! j v _- MMC: for ssg ledsdhci@d8000: 0' q5 Y. F8 y+ Z9 w5 X% E( j3 V3 A
- 12931 bytes read in 16 ms (789.1 KiB/s)- N8 C, B& g9 u$ L8 X
- gpio: pin GPIO23 (gpio 39) value is 1
, k8 T7 V% U* b4 ^. ~- b - gpio: pin GPIO23 (gpio 39) value is 1) _ \2 @$ ~+ c5 |
- gpio: pin GPIO23 (gpio 39) value is 1
" q1 Y, I& \7 y9 ?/ j - Comphy-0: USB3_HOST0 5 Gbps
) l" \+ [' `4 f0 k - Comphy-1: SGMII0 1.25 Gbps
1 N4 ]& o3 p" O - Comphy-2: SATA0 6 Gbps
Q$ Z- _5 E0 Z7 u - gpio: pin GPIO23 (gpio 39) value is 1
Y: `! l! D1 H# U8 C0 |& Y - 12931 bytes read in 4 ms (3.1 MiB/s)4 R& p3 A: S. `, `0 R
- Enter Normal mode/ R, ~1 B& @( g# b$ Y, s2 S
- SCSI: Hit any key to stop autoboot: 0
复制代码
* {0 u. j @( {* @补充下:这样修改后,只能一次有效请删除mmc 0:3 分区的rootfs.tar.bz2和upgrade_eli_38.img文件。' g! ?, n0 m' M% [8 _ F3 l
或者直接在linux shell里面刷写新uboot: Z: o% a& [$ [4 ?" t# q
5 E. a0 q8 a/ d! [; T+ N% n
8 Y' z: Q7 R: h. M+ I; k# d. I. C( [: v' E7 \
|
评分
-
查看全部评分
|