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

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

  [复制链接]

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-27 08:04:02 | 显示全部楼层
mynetdisk 发表于 2022-4-27 01:52- Q4 H5 M' J8 O4 b6 T
刷这个成功迁移并进入群晖
4 Q' W, x4 ?7 W% W1 Y1 o; }, x" [* J" M$ d0 h5 f" R7 T
可惜重启后又出现卡 Starting kernel ... 问题

/ s9 C  d& O, n! u哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。
0 n  d8 h! ^" H6 U你把emmc中的Debian抹掉就好了。

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
发表于 2022-4-27 09:13:43 | 显示全部楼层
本帖最后由 mynetdisk 于 2022-4-29 02:33 编辑 2 b( {% {# a: C* G2 u7 |& G
fhh 发表于 2022-4-27 08:04
/ a2 L6 I" t! F6 n+ U哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。4 w5 e5 f- K4 P- c: B
你把emmc中的De ...
+ p. U6 _+ f6 N5 h4 N
谢谢 F 大; b4 C3 Q- G, {
我前面没描述清楚,我的情况是这样:1 P4 J9 ?2 l. h1 N& u* u1 q

6 W$ X& o# M& z6 F0 ~% n1.1 F1 k: n( c* v
启动时 TTL 默认显示 syno mode,然后在 Starting kernel ... 卡住
. b0 B" e9 k- w6 X  F/ j& u按住 RESET 5S 上电启动 TTL 显示 mmc mode,能正常进 Debian# v& F2 X" f2 n* p1 {

; @  H, I# V) A% D8 B$ t2.
' X" e! \4 \4 }6 I1 [+ n刚刷 u-boot 之后可以进群晖(也有一次刚刷完 uboot 就进不了群晖)# @' s- q5 O9 w/ e$ A
之后某次重启后 syno mode 就卡在 Starting kernel ...(但 mmc mode 仍然可以进 debian). r  W6 i, ^9 V3 C
一旦出现卡 Starting kernel ...,再重启 N 次也还是卡 Starting kernel ...,直到下次刷 uboot 通常可以暂时解决
2 C, e+ n% T: G3 q% u/ k$ `' l" z0 S6 `1 K4 u' G
3.2 ^. t! J$ i7 x/ ~0 a
一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能【2022-04-29 修订:我又不确定了,今天试了刷 uboot 重启几次正常启动群晖的情况下,saveenv 后重启就卡 Starting kernel ... 了,也许真像你说的是 uboot 分区表有问题(从而导致 saveenv 破坏了什么东西?)】( z7 E7 [  A6 x1 [( [3 J5 }: N. L
一次进 debian 后重启卡 Starting kernel ...,以为是 debian 自动修改了 uboot 环境变量,之后试验排除了此可能
5 e5 l2 C, k) F# g' X' mU盘、硬盘都拔掉试过,排除了这两种设备问题的可能

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-27 10:15:13 | 显示全部楼层
mynetdisk 发表于 2022-4-27 09:13
( X! l9 h; @1 f4 q$ R谢谢 F 大
* W& B* y" M: A" L( }' ~% q我前面没描述清楚,我的情况是这样:
! Z& g. k& e) X% p# F6 ?7 @
看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。
* j+ D6 ?9 Q0 h5 a- W4 B我想询问一下:
3 O5 |2 I! U7 x- Q( K9 }( [6 \1.在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?
# k" E7 b4 O4 T5 a* M  H' a6 j2.在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?如果能,请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?
2 t! P+ y" T; @, A+ Q$ s如果可以的话,请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表),我需要根据这些信息进行分析。, O! K7 w' L  ~2 u% W& v
谢谢!

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
发表于 2022-4-27 10:50:00 | 显示全部楼层
本帖最后由 mynetdisk 于 2022-4-27 10:53 编辑
$ B: h+ C- \' W9 _/ E7 R7 v
fhh 发表于 2022-4-27 10:15
; n, r& ^* j' y  g看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。" _9 K5 O8 M4 B. B2 a
我想询问一下:0 k2 E3 f& j/ ?% @" u0 O4 T
1.在刷我修改之 ...
" P. {  e+ u5 d
看上去像是u-boot中分区表配置错误- ?, e/ s/ ]1 I" o! `* Y
--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ... 问题,刚刷 uboot 后通常可以用,第 N 次重启之后可能出现 Starting kernel ...,之后再重启也必然这样,只能重新刷 uboot(注:不代表一定是 uboot 这里出了错,因为每次重刷 uboot 后需要重装群晖 DSM,所以也可能是因为重装 DSM 而暂时解决了问题)
; q% ?3 O( d6 Z) ]- v. v0 V) `/ W5 Z+ M  j5 p; x* [8 M/ v
或者是你的spi nor flash出现了故障
+ g6 H7 g. O8 F7 ]% L, v--- uboot bubt 命令刷写 SPI FLASH 后会不会校验呢,如果有校验,证明 FLASH 本身读写应该没问题,而是否后续 FLASH 数据出问题待确定
9 [' x# ?9 W. J$ r+ u6 h6 A. V' @
在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?1 q0 G5 [5 C2 o9 v5 }
--- 原来的 uboot 就会,并非你的修改导致的,是在 emmc 装了 debian 之后出现的(没改 uboot 启动顺序),不知道是不是巧合
& S! g0 X; d& |7 s# X, R
2 n. p  h! c4 s5 N, q9 [6 h在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?
# I9 O  A! E7 ?5 l--- 能,引导群晖卡在 Starting kernel ...,而按住 RESET 5S 重新上电引导 Debian 能正常进系统% d: ]" ?8 z, p

) H0 c& i/ d; g2 @$ |, r5 H9 a& L+ w请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?.% Y; |+ m" {8 @# v# a/ O! n
--- 卡 Starting kernel ... 前后的 uboot 环境变量我对比过,是一样的。而整个 spi 的 flash 8M 镜像没有前后对比过,按理说除了环境变量以外其它部分应该是只读的?
3 ^! z% Q7 m& J4 H8 E' W$ j7 B$ }( t1 z% P* M% _! [7 y
请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表
/ p# W3 m' q- _0 ~- z  `1 P--- 好的,晚上回家备份

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
发表于 2022-4-29 02:34:38 | 显示全部楼层
mynetdisk 发表于 2022-4-27 09:13
, L+ `6 q3 B) X) S谢谢 F 大/ R# J. W; }' w% _+ T
我前面没描述清楚,我的情况是这样:

" H! m" i; T3 S3 @$ a我之前说:/ j0 n7 z7 s& @9 b" K
一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能$ b- m* R  p. H" _- ]

! V: U3 v3 [- ^" O9 r) y7 @现在我又不确定了,今天试了刷 uboot 重启几次正常启动群晖的情况下,saveenv 后重启就卡 Starting kernel ... 了,也许真像你说的是 uboot 分区表有问题(从而导致 saveenv 破坏了什么东西?)

46

主题

617

回帖

2764

积分

中级渣柚V3

积分
2764
发表于 2022-4-29 06:31:27 | 显示全部楼层
mynetdisk 发表于 2022-4-27 10:50# I- q  v% l# l' ]) N! N, W- e
看上去像是u-boot中分区表配置错误
+ }5 z; M( J/ ~/ P0 n  K1 _4 c7 p+ B, M--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ...  ...

/ ]9 B4 F* @4 g8 o8 x, _做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。
6 N- s8 h# ]( y8 F; s9 U) c+ e这个应该可以排除。

46

主题

617

回帖

2764

积分

中级渣柚V3

积分
2764
发表于 2022-4-29 06:39:18 | 显示全部楼层
fhh 发表于 2022-4-26 18:08
6 y9 G' O* z( O+ q- Y0 X0 SU-boot有一部分问题。
- K% K( q5 H) k# @2 U我的做法是修改设备树,让Linux在重新初始化网卡的时候把功率拉到最大。
+ q& [3 e! \- W3 y1 [因为没有 ...

+ n1 m* V6 m+ K9 y% bsoul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查找哪里出的问题,慢慢来试试。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-29 08:06:14 | 显示全部楼层
QQ66566 发表于 2022-4-29 06:39/ s& u* F* f: s0 V$ U) ]" g
soul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查 ...

( R8 w" u  E# L是的。
  O! E" ~1 Q3 a3 c9 S4 w只要u-boot不初始化PHY,其上电以后的默认配置不被覆盖,就不会掉IP。, h3 s6 C! h1 E7 ^* a
但是代价就是U-boot无法使用网卡,以及这其实算是一种……“鸵鸟”解法?# l: l1 O- G) m1 y6 t3 w- ^+ J
我的解法是修改设备树,使得它被初始化后,再次把信号增益数据填入。
2 R! t: ~7 D. F. f8 R* i6 D) D我认为这样才算是这个问题的真正正确解法。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-29 08:07:28 | 显示全部楼层
本帖最后由 fhh 于 2022-4-29 08:16 编辑
0 s: W& h2 |: z! L* _0 F& Z! ^
QQ66566 发表于 2022-4-29 06:31
. A0 r" }( S, `做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。) m, F' d& |$ ]3 e
这个应该可 ...

& e5 V' t: }% J/ ?/ N我的意思是,设备树中关于spi的分区配置错误,导致群晖把数据写入了其他的分区中。我在观察他的分区表的时候,发现u-boot中的分区配置,与手动dd出来的分区表……并不一致。
6 ^& {! ]) P! L- K0 |" i# z) g  t按照设备树中定义的分区表dd出来的分区,全都是无效数据。
& K) F/ E6 H; ^( B* F4 M- L# ^换而言之,u-boot通过设备树暴露给群晖的分区,本身就是错误的。
9 S- b8 g$ L# [1 F* v# [我现在希望通过他的dump来分析u-boot和群晖究竟采取了哪一份分区表,以此来进行修复。
2 u$ T/ k+ y/ N
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-1 22:23 , Processed in 0.080355 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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