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

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

 火 [复制链接]

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| fhh 发表于 2022-4-27 08:04:02 | 显示全部楼层 IP:–浙江–杭州 移动
mynetdisk 发表于 2022-4-27 01:52
( _7 i2 o5 x) ^刷这个成功迁移并进入群晖
3 Z4 d  o- F4 k2 n
* }4 D0 ]' g) h  T  {8 ?5 r可惜重启后又出现卡 Starting kernel ... 问题

. l4 x: F3 t# n1 O, G* f7 f, D哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。/ Q  Y: Z/ u& a7 ~& t1 }8 @
你把emmc中的Debian抹掉就好了。

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
mynetdisk 发表于 2022-4-27 09:13:43 | 显示全部楼层 IP:–福建–厦门 电信
本帖最后由 mynetdisk 于 2022-4-29 02:33 编辑 ) N: H! |# P8 I( e3 y
fhh 发表于 2022-4-27 08:042 _) l1 ]9 f' t4 A
哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。% I! {5 x$ s( I3 h  |1 Y( V
你把emmc中的De ...
! T9 f8 u8 w' @' N1 u7 t+ N
谢谢 F 大7 Y) [8 y. z( _- m* y) H! X
我前面没描述清楚,我的情况是这样:
7 G8 |/ A) e0 V; m% c2 E/ U( \' J
1.
9 [& Y: Z# |8 i9 i4 W启动时 TTL 默认显示 syno mode,然后在 Starting kernel ... 卡住, c- ]) p* K7 r4 c7 R9 @1 @+ `
按住 RESET 5S 上电启动 TTL 显示 mmc mode,能正常进 Debian4 r/ _& n- f9 Z! E1 i

; x- }$ K- C9 ~- ~! D2.
0 B& ?8 X, S* P) G8 V' p0 w; h刚刷 u-boot 之后可以进群晖(也有一次刚刷完 uboot 就进不了群晖)
, V# }  o' S1 l3 t' S' a之后某次重启后 syno mode 就卡在 Starting kernel ...(但 mmc mode 仍然可以进 debian)
0 q0 h; j/ n8 I4 m- \一旦出现卡 Starting kernel ...,再重启 N 次也还是卡 Starting kernel ...,直到下次刷 uboot 通常可以暂时解决) K( U6 e0 q# |2 Q7 s3 v
3 c8 o) u6 N) b; Z! }3 {* }3 l
3.
* C  r4 Z( i# N) b$ [一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能【2022-04-29 修订:我又不确定了,今天试了刷 uboot 重启几次正常启动群晖的情况下,saveenv 后重启就卡 Starting kernel ... 了,也许真像你说的是 uboot 分区表有问题(从而导致 saveenv 破坏了什么东西?)】
5 C5 U( z$ q" {4 K! C一次进 debian 后重启卡 Starting kernel ...,以为是 debian 自动修改了 uboot 环境变量,之后试验排除了此可能
7 r0 V6 l$ m6 K, V# Q% A: H8 JU盘、硬盘都拔掉试过,排除了这两种设备问题的可能

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| fhh 发表于 2022-4-27 10:15:13 | 显示全部楼层 IP:–浙江–杭州 移动
mynetdisk 发表于 2022-4-27 09:13. }, U0 O  j5 o9 e0 y  A- _- ~
谢谢 F 大
# F  s: [1 K2 T4 D- }9 E7 Z6 L% N; `我前面没描述清楚,我的情况是这样:
# V1 I; _2 O1 r% j
看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。
" U, _8 i  B% ]  T) |" ]我想询问一下:3 T4 K, y! z/ p
1.在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?9 R1 i) T# H. h4 Z5 o' h& \
2.在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?如果能,请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?; p4 t* E1 h' }6 t
如果可以的话,请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表),我需要根据这些信息进行分析。
* F' H+ N% P4 a9 ]4 t谢谢!

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
mynetdisk 发表于 2022-4-27 10:50:00 | 显示全部楼层 IP:–福建–厦门 电信
本帖最后由 mynetdisk 于 2022-4-27 10:53 编辑
+ s( C6 o- P; K$ `( Y6 E
fhh 发表于 2022-4-27 10:15
: m2 _% v% K5 [7 A8 D看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。- D8 M. u7 D; Z) p
我想询问一下:
, J/ T$ R  E# f6 [7 c; @1.在刷我修改之 ...
9 n, ^: n! j: C! o
看上去像是u-boot中分区表配置错误
8 X* ?8 `% s0 t--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ... 问题,刚刷 uboot 后通常可以用,第 N 次重启之后可能出现 Starting kernel ...,之后再重启也必然这样,只能重新刷 uboot(注:不代表一定是 uboot 这里出了错,因为每次重刷 uboot 后需要重装群晖 DSM,所以也可能是因为重装 DSM 而暂时解决了问题), G  C# a" m! S9 B4 b( \$ K2 t
: [. T- F1 z3 u0 W7 z/ j
或者是你的spi nor flash出现了故障
) C% k& r3 p. Z* z--- uboot bubt 命令刷写 SPI FLASH 后会不会校验呢,如果有校验,证明 FLASH 本身读写应该没问题,而是否后续 FLASH 数据出问题待确定, y* X' O7 P8 s0 R3 B2 Y0 k. }
: `0 P; M1 J, b3 f& f
在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?
7 b+ p: n% C- R" _+ _! Q. L--- 原来的 uboot 就会,并非你的修改导致的,是在 emmc 装了 debian 之后出现的(没改 uboot 启动顺序),不知道是不是巧合1 D0 m% R# O* K& D9 C- g' Z  ~* ~& m
9 Z0 g( M4 R# z; s  {
在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?$ W, l! n7 E9 h) d. F. g
--- 能,引导群晖卡在 Starting kernel ...,而按住 RESET 5S 重新上电引导 Debian 能正常进系统
- b. p6 z2 _0 I' W& L- J
2 N+ `, E( H1 v  g/ y" d" F请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?.5 y" v+ r! v/ p6 m# ]
--- 卡 Starting kernel ... 前后的 uboot 环境变量我对比过,是一样的。而整个 spi 的 flash 8M 镜像没有前后对比过,按理说除了环境变量以外其它部分应该是只读的?
  P! M$ W0 `: \+ C& _. a  l6 w/ {0 x& X( H+ p
请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表
" s* H6 k. ^7 M--- 好的,晚上回家备份

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
mynetdisk 发表于 2022-4-29 02:34:38 | 显示全部楼层 IP:–福建–厦门 电信
mynetdisk 发表于 2022-4-27 09:13
& v* [9 D* g! L5 w3 u* I2 f谢谢 F 大
& H3 P' ~) I1 _' u$ \* z5 Z, b我前面没描述清楚,我的情况是这样:

6 i; c1 j5 s5 S* v1 `0 H3 ]我之前说:0 U3 S& K, J7 s1 c/ h/ s
一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能0 ^1 |1 c7 C& U( Y6 w9 w3 c
( D# Z% _& y: Y  h5 ~# z& m  y
现在我又不确定了,今天试了刷 uboot 重启几次正常启动群晖的情况下,saveenv 后重启就卡 Starting kernel ... 了,也许真像你说的是 uboot 分区表有问题(从而导致 saveenv 破坏了什么东西?)

46

主题

617

回帖

2765

积分

中级渣柚V3

积分
2765
QQ66566 发表于 2022-4-29 06:31:27 | 显示全部楼层 IP:–天津–天津 联通
mynetdisk 发表于 2022-4-27 10:50
0 |7 U) c+ }- V/ X# M看上去像是u-boot中分区表配置错误
/ Z. G2 a5 r9 K--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ...  ...

+ G/ f  G) L- h做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。" [1 {1 B6 X" T6 d, S
这个应该可以排除。

46

主题

617

回帖

2765

积分

中级渣柚V3

积分
2765
QQ66566 发表于 2022-4-29 06:39:18 | 显示全部楼层 IP:–天津–天津 联通
fhh 发表于 2022-4-26 18:08: H2 f4 u7 Q& n. t9 F+ w: o  \
U-boot有一部分问题。
+ q  ]9 h0 p1 A) e) |我的做法是修改设备树,让Linux在重新初始化网卡的时候把功率拉到最大。
, I* Q( ~# w0 k# y因为没有 ...

  S- \/ a# H3 i0 u5 W& osoul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查找哪里出的问题,慢慢来试试。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| fhh 发表于 2022-4-29 08:06:14 | 显示全部楼层 IP:–浙江–杭州 移动
QQ66566 发表于 2022-4-29 06:39
+ e/ p$ R( C: F* A3 a  Lsoul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查 ...

1 l4 q1 U, s! d" }! H0 T是的。
' T) H  U( y! j4 T, Z4 @' B只要u-boot不初始化PHY,其上电以后的默认配置不被覆盖,就不会掉IP。; B; W+ F" h2 x/ l
但是代价就是U-boot无法使用网卡,以及这其实算是一种……“鸵鸟”解法?& q- F  j/ x; Z
我的解法是修改设备树,使得它被初始化后,再次把信号增益数据填入。# S( m3 p$ P/ f) ~8 q; K
我认为这样才算是这个问题的真正正确解法。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| fhh 发表于 2022-4-29 08:07:28 | 显示全部楼层 IP:–浙江–杭州 移动
本帖最后由 fhh 于 2022-4-29 08:16 编辑 + L5 ~( ^+ c) Z: _7 r  f
QQ66566 发表于 2022-4-29 06:319 V0 u! \. }' w2 l  R% Q- l
做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。& u6 |  }4 g2 q
这个应该可 ...

4 X7 b/ d. @+ Q" R" }! M2 d$ W! A我的意思是,设备树中关于spi的分区配置错误,导致群晖把数据写入了其他的分区中。我在观察他的分区表的时候,发现u-boot中的分区配置,与手动dd出来的分区表……并不一致。
! N) D" l( R; _7 |, |3 D0 J$ y1 T3 o按照设备树中定义的分区表dd出来的分区,全都是无效数据。. D2 i$ Y; G" U8 b. s  H' B2 v' m
换而言之,u-boot通过设备树暴露给群晖的分区,本身就是错误的。* @6 V0 m- l5 T% I# P* G
我现在希望通过他的dump来分析u-boot和群晖究竟采取了哪一份分区表,以此来进行修复。
0 ]% z& }  o6 l" @  i
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-10-21 23:29 , Processed in 0.059141 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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