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

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

  [复制链接]

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| fhh 发表于 2022-4-27 08:04:02 | 显示全部楼层 IP:–浙江–杭州 移动
mynetdisk 发表于 2022-4-27 01:52$ g, M4 A5 O+ L1 t* j( c. O
刷这个成功迁移并进入群晖
( h4 I( m6 k0 D- n; w" m4 V6 N: `. K' E; \$ Y
可惜重启后又出现卡 Starting kernel ... 问题
8 B2 m, F3 E! t
哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。& |2 A2 Z) a$ h" N7 ]: p2 G
你把emmc中的Debian抹掉就好了。

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
mynetdisk 发表于 2022-4-27 09:13:43 | 显示全部楼层 IP:–福建–厦门 电信
本帖最后由 mynetdisk 于 2022-4-29 02:33 编辑
- X1 j& K/ O, O. x  w. `* @7 w, W
fhh 发表于 2022-4-27 08:04# ]1 b2 {$ t" w& D
哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。
3 ~; h- U, {2 g你把emmc中的De ...
+ y8 d3 H2 @* H
谢谢 F 大/ ^, l' C* {5 H
我前面没描述清楚,我的情况是这样:$ w0 s4 T2 r4 u1 ?0 c

* p% V) [, Q4 Q. c1.7 @7 {  Z1 ?& @- s/ l+ {( o
启动时 TTL 默认显示 syno mode,然后在 Starting kernel ... 卡住
7 J; P4 o8 g: o! b7 o按住 RESET 5S 上电启动 TTL 显示 mmc mode,能正常进 Debian
* ^# C1 e9 I) O
6 f' y/ Q  ~6 ?, P: O+ o2.
: Z( g) K" ^3 f' u. g& h& Y' }8 ?2 c刚刷 u-boot 之后可以进群晖(也有一次刚刷完 uboot 就进不了群晖)
, d7 L" D6 G# t/ g! z* J之后某次重启后 syno mode 就卡在 Starting kernel ...(但 mmc mode 仍然可以进 debian)
* ]: ~5 A6 j7 m" [一旦出现卡 Starting kernel ...,再重启 N 次也还是卡 Starting kernel ...,直到下次刷 uboot 通常可以暂时解决: e$ O, v5 d4 V9 J* t
" y7 X/ n. r9 }+ c+ v7 M( L3 d- D
3., W1 y: B( B: m7 v* g) [3 P8 K
一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能【2022-04-29 修订:我又不确定了,今天试了刷 uboot 重启几次正常启动群晖的情况下,saveenv 后重启就卡 Starting kernel ... 了,也许真像你说的是 uboot 分区表有问题(从而导致 saveenv 破坏了什么东西?)】9 ?  E  u+ [+ |2 m
一次进 debian 后重启卡 Starting kernel ...,以为是 debian 自动修改了 uboot 环境变量,之后试验排除了此可能: d/ V! O3 Y6 A5 F4 W8 i3 d6 X: n
U盘、硬盘都拔掉试过,排除了这两种设备问题的可能

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| fhh 发表于 2022-4-27 10:15:13 | 显示全部楼层 IP:–浙江–杭州 移动
mynetdisk 发表于 2022-4-27 09:132 ?: r3 _! S/ Q4 @8 w& f
谢谢 F 大" s3 I" R# l# G1 _* b
我前面没描述清楚,我的情况是这样:
/ e9 |. g- {+ \% P2 m6 c7 Q* S
看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。
' c+ I6 ~. E+ C& [+ m2 g2 \我想询问一下:6 e1 i) e* g( d+ g
1.在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?; ]; R. p4 r$ y: |: v
2.在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?如果能,请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?% _0 v7 U: N2 a+ h* \
如果可以的话,请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表),我需要根据这些信息进行分析。
+ e2 [/ Q5 c1 q  w+ E; D谢谢!

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
mynetdisk 发表于 2022-4-27 10:50:00 | 显示全部楼层 IP:–福建–厦门 电信
本帖最后由 mynetdisk 于 2022-4-27 10:53 编辑 1 v: ^& r9 g; ~$ F& f, l  O& B& i
fhh 发表于 2022-4-27 10:15# h  g* l8 P( m
看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。
. M* k" [" d4 ~; m" z' c  B我想询问一下:
7 h# P' E* B3 {8 v. W* u3 D1.在刷我修改之 ...
/ L: A( M5 y- c+ t* D# m. o
看上去像是u-boot中分区表配置错误& k& A( C8 d' ^8 B
--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ... 问题,刚刷 uboot 后通常可以用,第 N 次重启之后可能出现 Starting kernel ...,之后再重启也必然这样,只能重新刷 uboot(注:不代表一定是 uboot 这里出了错,因为每次重刷 uboot 后需要重装群晖 DSM,所以也可能是因为重装 DSM 而暂时解决了问题)5 e2 o/ w3 P& g8 L5 T' s- I5 d4 ^( U

! }! u6 p5 D  i' |( ~) }或者是你的spi nor flash出现了故障7 o3 X8 \  ^( J8 d0 M) d3 X3 `# C
--- uboot bubt 命令刷写 SPI FLASH 后会不会校验呢,如果有校验,证明 FLASH 本身读写应该没问题,而是否后续 FLASH 数据出问题待确定9 ?! l! S2 P' H& T) s4 e

' K7 ^* O% I. }) n! y在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?
- L' L0 W# _4 b( R+ w' a# k9 L  ^--- 原来的 uboot 就会,并非你的修改导致的,是在 emmc 装了 debian 之后出现的(没改 uboot 启动顺序),不知道是不是巧合' l1 h2 H9 W: S9 |+ }% L

: _* L+ \' F+ Z7 n+ f5 n在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?0 I+ q4 I3 W- r. _! n; ~
--- 能,引导群晖卡在 Starting kernel ...,而按住 RESET 5S 重新上电引导 Debian 能正常进系统
! d- C5 x, {+ c. ^* d7 a0 {  g8 Y* V. O! @9 K$ y
请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?.
) z7 K1 j5 b: p7 a0 R--- 卡 Starting kernel ... 前后的 uboot 环境变量我对比过,是一样的。而整个 spi 的 flash 8M 镜像没有前后对比过,按理说除了环境变量以外其它部分应该是只读的?$ e1 R$ Q: ^- L8 T& f

/ ~2 G" J, N7 l' k请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表/ L& O( ~- X2 K% E7 g' V
--- 好的,晚上回家备份

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
mynetdisk 发表于 2022-4-29 02:34:38 | 显示全部楼层 IP:–福建–厦门 电信
mynetdisk 发表于 2022-4-27 09:130 y! T- B$ F3 @# Z1 X% `$ F, s
谢谢 F 大* m3 D) k6 o6 w/ h, y& ~$ b1 f
我前面没描述清楚,我的情况是这样:

6 K/ `1 g, n8 k5 k$ o7 s我之前说:
+ |: a% {7 e5 c5 x一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能
* ?1 _* \: l9 x( p( G& n8 o% ^4 ?* l& b8 S
现在我又不确定了,今天试了刷 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
; L, k6 s3 j/ q8 J6 S! b7 K看上去像是u-boot中分区表配置错误
! p6 c" |8 w4 v--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ...  ...

$ N5 x8 U+ h# A+ F& L做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。4 M, [7 m! k- f& W% A* {
这个应该可以排除。

46

主题

617

回帖

2765

积分

中级渣柚V3

积分
2765
QQ66566 发表于 2022-4-29 06:39:18 | 显示全部楼层 IP:–天津–天津 联通
fhh 发表于 2022-4-26 18:082 p3 j- u+ |6 k9 _! \8 T0 @
U-boot有一部分问题。$ g1 w9 s  P8 m! N" q
我的做法是修改设备树,让Linux在重新初始化网卡的时候把功率拉到最大。
0 [- Z0 H8 Y* d8 B5 I/ V因为没有 ...

# m' [+ |. v- \. `- m! Rsoul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查找哪里出的问题,慢慢来试试。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| fhh 发表于 2022-4-29 08:06:14 | 显示全部楼层 IP:–浙江–杭州 移动
QQ66566 发表于 2022-4-29 06:394 I6 H( `( l  M/ Q. O' W
soul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查 ...
3 S$ J$ V/ x/ f
是的。/ j; p) Q' S+ S& Z% f: [
只要u-boot不初始化PHY,其上电以后的默认配置不被覆盖,就不会掉IP。# u' D2 c- r8 D% K
但是代价就是U-boot无法使用网卡,以及这其实算是一种……“鸵鸟”解法?. G& `6 I3 s* t' c( V
我的解法是修改设备树,使得它被初始化后,再次把信号增益数据填入。6 Q9 O5 p( r+ W0 A+ Q9 F" V* w$ P2 q. @
我认为这样才算是这个问题的真正正确解法。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| fhh 发表于 2022-4-29 08:07:28 | 显示全部楼层 IP:–浙江–杭州 移动
本帖最后由 fhh 于 2022-4-29 08:16 编辑 # p5 w, b6 ?( w8 u
QQ66566 发表于 2022-4-29 06:31$ y3 K% k$ Q" r. G+ f8 r0 ?
做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。
2 t! Y1 @; u9 J3 s, B这个应该可 ...
; Q5 F& s! w9 @5 Y! H
我的意思是,设备树中关于spi的分区配置错误,导致群晖把数据写入了其他的分区中。我在观察他的分区表的时候,发现u-boot中的分区配置,与手动dd出来的分区表……并不一致。
5 p3 C. x2 ^" w按照设备树中定义的分区表dd出来的分区,全都是无效数据。
  w% Q" a1 \1 I换而言之,u-boot通过设备树暴露给群晖的分区,本身就是错误的。
7 Q, U6 W0 {$ }9 e3 d' V我现在希望通过他的dump来分析u-boot和群晖究竟采取了哪一份分区表,以此来进行修复。4 M, U* x9 c% f# @, {5 Q
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-9-23 20:09 , Processed in 0.055265 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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