找回密码
 立即注册
楼主: fhh

[教程] 自编译猫盘u-boot,解决掉IP

  [复制链接]

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-27 08:04:02 | 显示全部楼层
mynetdisk 发表于 2022-4-27 01:52
' }+ u, |& @& t) w( T刷这个成功迁移并进入群晖
: w: Z+ Q6 |+ g  g* o' i0 m" Q4 I5 }5 ]: c7 m& S
可惜重启后又出现卡 Starting kernel ... 问题
' W- V; E" K; |7 h  X
哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。2 D9 i0 L# N: Z) A6 A5 v  {0 W
你把emmc中的Debian抹掉就好了。

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
发表于 2022-4-27 09:13:43 | 显示全部楼层
本帖最后由 mynetdisk 于 2022-4-29 02:33 编辑
, s* N. D2 }- |6 r8 i
fhh 发表于 2022-4-27 08:04
! |) G# r8 E" O, D, A  G8 F哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。' E+ k3 i" E5 i: G
你把emmc中的De ...

7 k% r( `$ F( b) i2 k3 w8 S6 C谢谢 F 大% Y9 e, g# r# c" F/ v6 d9 @) a
我前面没描述清楚,我的情况是这样:0 S" p  b" i9 a" `

- V- C5 r! {6 b% A' W6 X1 N1.) d0 O( M$ W: ?" }; o2 ]) ^- j2 \
启动时 TTL 默认显示 syno mode,然后在 Starting kernel ... 卡住: u; h5 N5 {* `  Z  F" B
按住 RESET 5S 上电启动 TTL 显示 mmc mode,能正常进 Debian
& Q+ y# L2 u9 f3 |, n; _3 A
9 T& @; b  K1 u) E+ E3 ]2.* @% U) k& m$ C4 n9 K
刚刷 u-boot 之后可以进群晖(也有一次刚刷完 uboot 就进不了群晖)8 V, ]6 U2 B; V
之后某次重启后 syno mode 就卡在 Starting kernel ...(但 mmc mode 仍然可以进 debian)
8 R9 V, s. ?, n. T  H一旦出现卡 Starting kernel ...,再重启 N 次也还是卡 Starting kernel ...,直到下次刷 uboot 通常可以暂时解决* z: }. }" {1 a4 ?. p( z
* z3 F5 a/ t, l" M3 H% ^! Z# H
3.
9 h( q$ X; {% L5 v8 ]: G一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能【2022-04-29 修订:我又不确定了,今天试了刷 uboot 重启几次正常启动群晖的情况下,saveenv 后重启就卡 Starting kernel ... 了,也许真像你说的是 uboot 分区表有问题(从而导致 saveenv 破坏了什么东西?)】
! {3 y1 Z$ i0 x- x' D一次进 debian 后重启卡 Starting kernel ...,以为是 debian 自动修改了 uboot 环境变量,之后试验排除了此可能" _8 m  s) m' c' P# m, P
U盘、硬盘都拔掉试过,排除了这两种设备问题的可能

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-27 10:15:13 | 显示全部楼层
mynetdisk 发表于 2022-4-27 09:13) O: N) I: D; a+ d5 G
谢谢 F 大# l" n0 b/ X6 e0 d
我前面没描述清楚,我的情况是这样:

& ?8 }4 G1 }4 K9 g$ Q* U看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。
' T5 m& a3 d) Y& i我想询问一下:5 v6 J* c( d2 L$ h+ ]! l! W8 \
1.在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?
8 v: c8 K/ \* s7 J( x2.在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?如果能,请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?+ `# [) e0 \1 `6 u' X6 n
如果可以的话,请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表),我需要根据这些信息进行分析。+ ?7 U8 o/ b8 M
谢谢!

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
发表于 2022-4-27 10:50:00 | 显示全部楼层
本帖最后由 mynetdisk 于 2022-4-27 10:53 编辑 % Z. o; X8 G, R; _* T
fhh 发表于 2022-4-27 10:15
% r  U# I' w1 \- Z9 I1 a看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。
+ U4 m" n0 B; ~' \. K. r; _9 D我想询问一下:
2 M$ g2 @+ j* F( ^, D# q% g1.在刷我修改之 ...

1 F  q7 Z3 ]2 |1 @7 }看上去像是u-boot中分区表配置错误" g2 R( p. P7 l7 T
--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ... 问题,刚刷 uboot 后通常可以用,第 N 次重启之后可能出现 Starting kernel ...,之后再重启也必然这样,只能重新刷 uboot(注:不代表一定是 uboot 这里出了错,因为每次重刷 uboot 后需要重装群晖 DSM,所以也可能是因为重装 DSM 而暂时解决了问题)- D- @& q( E$ J! n+ ^1 [
. c" _7 I5 J  w
或者是你的spi nor flash出现了故障9 E; p0 ~& Q! s$ n+ a# H( ~
--- uboot bubt 命令刷写 SPI FLASH 后会不会校验呢,如果有校验,证明 FLASH 本身读写应该没问题,而是否后续 FLASH 数据出问题待确定
# R' O, r8 |  d, ^0 }2 l" ~4 R$ d; g+ f
在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?: ?: a& Q( @* k7 s0 I% L
--- 原来的 uboot 就会,并非你的修改导致的,是在 emmc 装了 debian 之后出现的(没改 uboot 启动顺序),不知道是不是巧合" j" }! Z7 o) G- S5 _+ v" `8 X

0 P, u5 t$ v7 L0 S3 ~8 \. L" a0 \在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?
2 O. V- |. L  Q5 `" H# f& B9 L--- 能,引导群晖卡在 Starting kernel ...,而按住 RESET 5S 重新上电引导 Debian 能正常进系统! V( e0 C& P" R' R

; i" w# v% k* E% j4 ^! r5 Q请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?.
( n: K/ A8 D3 w--- 卡 Starting kernel ... 前后的 uboot 环境变量我对比过,是一样的。而整个 spi 的 flash 8M 镜像没有前后对比过,按理说除了环境变量以外其它部分应该是只读的?
5 ]8 S- e0 m" B* I$ f
- v: `2 `! L) T1 q4 c- f请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表
- H& s4 _; \, L% y# t--- 好的,晚上回家备份

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
发表于 2022-4-29 02:34:38 | 显示全部楼层
mynetdisk 发表于 2022-4-27 09:13
- X& z! n; M% ~! E3 S, W' R7 h谢谢 F 大) a4 J, V# ?& a! z9 s8 X# g
我前面没描述清楚,我的情况是这样:
9 M  q# z7 w4 [( T# e6 R3 R3 F
我之前说:+ N; v' Q% o' P5 \
一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能7 d! q+ F, G# D
: c3 H4 B$ D0 ^( \9 o& l; `
现在我又不确定了,今天试了刷 uboot 重启几次正常启动群晖的情况下,saveenv 后重启就卡 Starting kernel ... 了,也许真像你说的是 uboot 分区表有问题(从而导致 saveenv 破坏了什么东西?)

46

主题

617

回帖

2764

积分

中级渣柚V3

积分
2764
发表于 2022-4-29 06:31:27 | 显示全部楼层
mynetdisk 发表于 2022-4-27 10:50' J5 M: d* U" Y8 P4 J
看上去像是u-boot中分区表配置错误* J6 z4 t/ i. i& m. u; u
--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ...  ...
% w3 W, L5 P$ c3 [* U
做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。. m& Q% N& z2 r& W1 ~
这个应该可以排除。

46

主题

617

回帖

2764

积分

中级渣柚V3

积分
2764
发表于 2022-4-29 06:39:18 | 显示全部楼层
fhh 发表于 2022-4-26 18:083 A+ Z+ E. v/ Y  b" S
U-boot有一部分问题。% g. g( r" S7 l+ r3 ]! p/ n* J) I
我的做法是修改设备树,让Linux在重新初始化网卡的时候把功率拉到最大。6 G1 w( l9 x1 g( D
因为没有 ...

% `4 i% R) T  {2 s! ]7 [3 n, V; Ysoul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查找哪里出的问题,慢慢来试试。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-29 08:06:14 | 显示全部楼层
QQ66566 发表于 2022-4-29 06:39  F5 U. D9 j: o3 j1 e# x2 q
soul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查 ...

) C2 B' C0 k4 t, E  y, P是的。
3 h$ w1 U. K+ W8 @; T+ O1 A" Z只要u-boot不初始化PHY,其上电以后的默认配置不被覆盖,就不会掉IP。7 k" U+ M. |6 a
但是代价就是U-boot无法使用网卡,以及这其实算是一种……“鸵鸟”解法?
4 n& v+ t( ?( x; {0 y# `$ @# E我的解法是修改设备树,使得它被初始化后,再次把信号增益数据填入。/ B5 k( v8 Q9 a0 I& _& T- p* \
我认为这样才算是这个问题的真正正确解法。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-29 08:07:28 | 显示全部楼层
本帖最后由 fhh 于 2022-4-29 08:16 编辑 6 x" [1 V9 I% h" E# N
QQ66566 发表于 2022-4-29 06:31! W) I. R$ J# T& S
做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。
  D( V  w0 O! L* |- J8 R3 U这个应该可 ...
, ^1 S, _: I" B% P: F/ }; Q# L2 x
我的意思是,设备树中关于spi的分区配置错误,导致群晖把数据写入了其他的分区中。我在观察他的分区表的时候,发现u-boot中的分区配置,与手动dd出来的分区表……并不一致。! ]' d: W# B6 \) M) C" h( b
按照设备树中定义的分区表dd出来的分区,全都是无效数据。3 M6 f& N, b  E1 L5 k: Y
换而言之,u-boot通过设备树暴露给群晖的分区,本身就是错误的。# F  Y$ T% N- C
我现在希望通过他的dump来分析u-boot和群晖究竟采取了哪一份分区表,以此来进行修复。/ X/ x2 n" P2 a5 u, R6 M( H
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|矿渣社区 ( 黔ICP备2024020525号-1 )

GMT+8, 2025-4-5 01:05 , Processed in 0.163395 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表