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

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

 火 [复制链接]

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| fhh 发表于 2022-4-27 08:04:02 | 显示全部楼层 IP:–浙江–杭州 移动
mynetdisk 发表于 2022-4-27 01:52$ Y8 [) L% s8 D6 I7 E% T- [% H
刷这个成功迁移并进入群晖
+ k* j7 i  h& n% H
) z- q7 v* Y' s; P) m9 L! U. b可惜重启后又出现卡 Starting kernel ... 问题
% ?9 [. G  `/ }+ q# c" ?6 L' u
哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。2 L- o- H) x$ E
你把emmc中的Debian抹掉就好了。

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
mynetdisk 发表于 2022-4-27 09:13:43 | 显示全部楼层 IP:–福建–厦门 电信
本帖最后由 mynetdisk 于 2022-4-29 02:33 编辑 , N" H$ C! x  i
fhh 发表于 2022-4-27 08:04$ {- I, x- K# I7 Y' |5 P. _+ i
哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。
8 j( }+ ]9 b# N( Y你把emmc中的De ...
, u7 T8 r; X/ i, k: y; O) C
谢谢 F 大3 X( k# h  Z! a# i0 z4 x# p, d' o4 G
我前面没描述清楚,我的情况是这样:
% b" l% b& z9 s+ A' b+ ~8 K3 k, b: ^3 T
1.# o1 Z# j% F/ f" a$ u4 E9 A! D( y
启动时 TTL 默认显示 syno mode,然后在 Starting kernel ... 卡住
# i* v% x. J4 I按住 RESET 5S 上电启动 TTL 显示 mmc mode,能正常进 Debian
1 z4 C- `+ v% r' W( Y4 |
6 H5 D, Y) ^0 t$ S: [2.3 \0 a7 K( E3 X4 f; ~& a
刚刷 u-boot 之后可以进群晖(也有一次刚刷完 uboot 就进不了群晖)" k% S+ o5 v; Z, c7 p  C
之后某次重启后 syno mode 就卡在 Starting kernel ...(但 mmc mode 仍然可以进 debian)9 I4 b& A0 O0 T4 }: Y, g
一旦出现卡 Starting kernel ...,再重启 N 次也还是卡 Starting kernel ...,直到下次刷 uboot 通常可以暂时解决' l, K1 S0 s# k8 k

) e4 e5 }# x4 B" \: ~  O& z3.
. `* U: h+ {( f% u一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能【2022-04-29 修订:我又不确定了,今天试了刷 uboot 重启几次正常启动群晖的情况下,saveenv 后重启就卡 Starting kernel ... 了,也许真像你说的是 uboot 分区表有问题(从而导致 saveenv 破坏了什么东西?)】1 ~1 y/ z1 [: |% t1 c2 D2 N
一次进 debian 后重启卡 Starting kernel ...,以为是 debian 自动修改了 uboot 环境变量,之后试验排除了此可能) [  V+ c* K) Z' Y% m0 Z
U盘、硬盘都拔掉试过,排除了这两种设备问题的可能

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| fhh 发表于 2022-4-27 10:15:13 | 显示全部楼层 IP:–浙江–杭州 移动
mynetdisk 发表于 2022-4-27 09:13( n$ O9 ?) a2 i
谢谢 F 大8 u- a9 o! ~" {) Q2 Q) R/ o# i
我前面没描述清楚,我的情况是这样:

3 L* y4 W5 a& v% t# p2 I8 y看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。1 z  J' H  Y$ x/ h1 l% P
我想询问一下:% j# s6 [5 @5 l( ~  K9 h" V
1.在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?
9 Z9 p) y1 f: V1 c6 ^9 I2.在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?如果能,请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?: W* h+ y7 [9 n6 k1 r2 X$ s9 ~
如果可以的话,请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表),我需要根据这些信息进行分析。
$ e' U4 M& v2 m+ Z4 `: |谢谢!

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
mynetdisk 发表于 2022-4-27 10:50:00 | 显示全部楼层 IP:–福建–厦门 电信
本帖最后由 mynetdisk 于 2022-4-27 10:53 编辑 1 j' P1 a4 [2 M8 s/ \3 o
fhh 发表于 2022-4-27 10:15  J& @( S$ N8 M: ~2 y: W
看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。
; f. y! W  Z% b我想询问一下:
: }, Y, _/ I6 W2 _1 I* _1 e1.在刷我修改之 ...

5 D" ^% J" m* R: s: _$ y看上去像是u-boot中分区表配置错误
0 T! p" d# q) Q0 }# t/ `# H' Q--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ... 问题,刚刷 uboot 后通常可以用,第 N 次重启之后可能出现 Starting kernel ...,之后再重启也必然这样,只能重新刷 uboot(注:不代表一定是 uboot 这里出了错,因为每次重刷 uboot 后需要重装群晖 DSM,所以也可能是因为重装 DSM 而暂时解决了问题)
5 I5 S6 L6 j' }& d% u0 T
; X' x+ h* Q8 V& t- H或者是你的spi nor flash出现了故障9 r7 A( L# c( d* ~
--- uboot bubt 命令刷写 SPI FLASH 后会不会校验呢,如果有校验,证明 FLASH 本身读写应该没问题,而是否后续 FLASH 数据出问题待确定( B' v& s' \8 l+ p' D
* F8 E% ?0 A2 e& J
在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?
. j( R/ ?+ I7 G5 n/ z$ K1 I. ]--- 原来的 uboot 就会,并非你的修改导致的,是在 emmc 装了 debian 之后出现的(没改 uboot 启动顺序),不知道是不是巧合; H6 y' R" G$ K1 d8 e* ~# L1 b
/ |& m- e3 u: D: h
在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?; f; Z5 u0 T) {; w$ k
--- 能,引导群晖卡在 Starting kernel ...,而按住 RESET 5S 重新上电引导 Debian 能正常进系统. Y7 t7 q; Y& {* U1 g' o

+ [" G2 u" k/ l/ f请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?.# ~2 \2 [/ a" q2 G3 v8 F3 t
--- 卡 Starting kernel ... 前后的 uboot 环境变量我对比过,是一样的。而整个 spi 的 flash 8M 镜像没有前后对比过,按理说除了环境变量以外其它部分应该是只读的?
6 v# ~( K, {' B4 I0 b/ v, O0 a1 f2 P( a% _# L: y
请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表
; n" i  B2 U& u, W/ V- v8 }--- 好的,晚上回家备份

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
mynetdisk 发表于 2022-4-29 02:34:38 | 显示全部楼层 IP:–福建–厦门 电信
mynetdisk 发表于 2022-4-27 09:13
( y2 C1 }, {. @谢谢 F 大
2 D$ D3 Z2 b/ m5 d' S, m: l) g$ b. ?我前面没描述清楚,我的情况是这样:
; B0 K" o5 e- A2 i1 K( k/ [
我之前说:
' g4 \( }  U2 f$ q: M一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能8 m  t8 W" f6 \1 z" B7 V
, w0 L2 F- ^% e, Q! [( ?
现在我又不确定了,今天试了刷 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
% u) v- `  J+ t. J" l看上去像是u-boot中分区表配置错误' P9 v" L9 k2 A2 c  i
--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ...  ...
' `+ @3 W& E3 K
做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。) F4 x0 S. ~, X2 M; }- a  {
这个应该可以排除。

46

主题

617

回帖

2765

积分

中级渣柚V3

积分
2765
QQ66566 发表于 2022-4-29 06:39:18 | 显示全部楼层 IP:–天津–天津 联通
fhh 发表于 2022-4-26 18:08
* t) ]. r0 W3 N9 k" iU-boot有一部分问题。
1 j6 H# t( e1 g: r% U' |) D& _% d我的做法是修改设备树,让Linux在重新初始化网卡的时候把功率拉到最大。
, R' u/ B5 v+ G+ F  e7 w+ v因为没有 ...
& v& |9 \" Z+ {0 A+ u& Q
soul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查找哪里出的问题,慢慢来试试。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| fhh 发表于 2022-4-29 08:06:14 | 显示全部楼层 IP:–浙江–杭州 移动
QQ66566 发表于 2022-4-29 06:39( R% I8 l# N: t$ V2 p! c
soul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查 ...

7 z+ G, y/ B4 O( q* ~2 B! I" X+ K是的。5 P4 z6 L1 C+ {# u5 }1 d) f, O
只要u-boot不初始化PHY,其上电以后的默认配置不被覆盖,就不会掉IP。
/ A" V: \. ], z1 B% y& ^但是代价就是U-boot无法使用网卡,以及这其实算是一种……“鸵鸟”解法?
3 o1 d/ a% ]# z' x7 D9 j5 Y我的解法是修改设备树,使得它被初始化后,再次把信号增益数据填入。9 ]- x5 Z: }! B
我认为这样才算是这个问题的真正正确解法。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| fhh 发表于 2022-4-29 08:07:28 | 显示全部楼层 IP:–浙江–杭州 移动
本帖最后由 fhh 于 2022-4-29 08:16 编辑 % M0 N/ Z6 g& }* A6 B+ L5 I4 `
QQ66566 发表于 2022-4-29 06:311 K2 @$ [, z/ a+ K' z% i
做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。
! @% [/ V- q/ R) b5 E! B这个应该可 ...
8 j0 V5 Y% C2 B9 W( T& L6 z& M
我的意思是,设备树中关于spi的分区配置错误,导致群晖把数据写入了其他的分区中。我在观察他的分区表的时候,发现u-boot中的分区配置,与手动dd出来的分区表……并不一致。- k/ `6 G6 ?" P1 Y, h; m
按照设备树中定义的分区表dd出来的分区,全都是无效数据。( R: K9 a7 L& D3 ]) _- R, D
换而言之,u-boot通过设备树暴露给群晖的分区,本身就是错误的。
) W/ y7 y/ a- W我现在希望通过他的dump来分析u-boot和群晖究竟采取了哪一份分区表,以此来进行修复。
8 ]6 Z4 s2 G# Y! L
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-10-21 22:10 , Processed in 0.058899 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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