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

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

  [复制链接]

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| fhh 发表于 2022-4-27 08:04:02 | 显示全部楼层 IP:–浙江–杭州 移动
mynetdisk 发表于 2022-4-27 01:523 b- Y  d) `  [" d
刷这个成功迁移并进入群晖, p1 e/ I8 s' N# `2 w% h
3 e% ^1 c+ Z( |0 E1 k3 M+ _
可惜重启后又出现卡 Starting kernel ... 问题
# u+ X1 X* J- g4 [
哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。
, H% I, A  T8 L; h7 W1 V5 m/ V$ l你把emmc中的Debian抹掉就好了。

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
mynetdisk 发表于 2022-4-27 09:13:43 | 显示全部楼层 IP:–福建–厦门 电信
本帖最后由 mynetdisk 于 2022-4-29 02:33 编辑 ' \3 W% P( z% u0 Y
fhh 发表于 2022-4-27 08:04
, d# F0 u5 e7 X! r哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。
- `, F0 _% B: t  H9 m8 R, f. X你把emmc中的De ...
) N* r: Q3 n) [# @' n- ^3 b
谢谢 F 大3 U. }! i, e9 u5 Z
我前面没描述清楚,我的情况是这样:. m$ i  E9 y' y3 U+ E4 i2 c
; c6 Y) u7 h* N+ d) T
1.
5 e+ k# A" c/ s3 H/ @7 W2 q启动时 TTL 默认显示 syno mode,然后在 Starting kernel ... 卡住
5 B; ^4 X3 }4 A% B: \0 i按住 RESET 5S 上电启动 TTL 显示 mmc mode,能正常进 Debian1 Z' r$ g0 [  s  }0 R5 N

' [/ v0 T0 Q! Y! p+ K2.$ s9 J3 x2 e+ {- e" E
刚刷 u-boot 之后可以进群晖(也有一次刚刷完 uboot 就进不了群晖)4 U7 z" l" j: L/ l8 z" B
之后某次重启后 syno mode 就卡在 Starting kernel ...(但 mmc mode 仍然可以进 debian)
: {7 C# l1 h7 y7 b- i一旦出现卡 Starting kernel ...,再重启 N 次也还是卡 Starting kernel ...,直到下次刷 uboot 通常可以暂时解决
8 e3 i$ }0 w$ N" b
: d0 c( l2 d! Y4 h- I3.
9 @5 f9 c. F/ G+ |% k! C一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能【2022-04-29 修订:我又不确定了,今天试了刷 uboot 重启几次正常启动群晖的情况下,saveenv 后重启就卡 Starting kernel ... 了,也许真像你说的是 uboot 分区表有问题(从而导致 saveenv 破坏了什么东西?)】  Q7 R. i: G$ `( M& \( O2 e
一次进 debian 后重启卡 Starting kernel ...,以为是 debian 自动修改了 uboot 环境变量,之后试验排除了此可能
) I# z  n- i! h0 m8 vU盘、硬盘都拔掉试过,排除了这两种设备问题的可能

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| fhh 发表于 2022-4-27 10:15:13 | 显示全部楼层 IP:–浙江–杭州 移动
mynetdisk 发表于 2022-4-27 09:13
, G. d+ O+ L' p& J: p谢谢 F 大0 F+ p$ i7 ?8 C5 _  b
我前面没描述清楚,我的情况是这样:
6 T7 m4 |0 M, {, p
看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。# [# t* F6 u6 F+ W
我想询问一下:
3 R) w0 p% ^1 G1.在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?; @0 p0 D# W: w! |1 Q+ W1 K
2.在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?如果能,请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?
0 B  R' W7 J. Q" @* ?' z" q如果可以的话,请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表),我需要根据这些信息进行分析。
0 j, N) g; C! d5 B3 }谢谢!

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
mynetdisk 发表于 2022-4-27 10:50:00 | 显示全部楼层 IP:–福建–厦门 电信
本帖最后由 mynetdisk 于 2022-4-27 10:53 编辑 # |8 ]$ n; e" J# t8 o5 V0 n# l- {4 V/ [
fhh 发表于 2022-4-27 10:15; z3 i& ]8 S8 l1 ^* e$ v7 c* F
看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。
) d8 q  @' V) a+ T$ }! q我想询问一下:
1 N( V5 `6 f4 P7 F4 p$ S1.在刷我修改之 ...
9 ~( _* i8 [' t+ S# A: F
看上去像是u-boot中分区表配置错误) ~! M  m! R/ a. W
--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ... 问题,刚刷 uboot 后通常可以用,第 N 次重启之后可能出现 Starting kernel ...,之后再重启也必然这样,只能重新刷 uboot(注:不代表一定是 uboot 这里出了错,因为每次重刷 uboot 后需要重装群晖 DSM,所以也可能是因为重装 DSM 而暂时解决了问题)
" _( p4 s/ E. r! S+ W
0 c. c$ U% E1 Q; F( {0 D或者是你的spi nor flash出现了故障
; v1 c; J5 M3 ^9 o2 O& S* h+ J--- uboot bubt 命令刷写 SPI FLASH 后会不会校验呢,如果有校验,证明 FLASH 本身读写应该没问题,而是否后续 FLASH 数据出问题待确定
0 `6 Y. n6 I2 w5 ?# Q( U+ i
2 P2 c: m" V& v) Z; K在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?6 b& Z( R0 M2 T4 u0 @# z: G
--- 原来的 uboot 就会,并非你的修改导致的,是在 emmc 装了 debian 之后出现的(没改 uboot 启动顺序),不知道是不是巧合; r: U' m9 b7 v5 c1 f- }+ \
' g1 z# {. s) U* k( `! ]) [
在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?
. w5 D5 j7 w# {0 N1 J6 V: O2 D" Y--- 能,引导群晖卡在 Starting kernel ...,而按住 RESET 5S 重新上电引导 Debian 能正常进系统/ n; H! S/ @3 S3 ^
! x4 T& k* k' N; q
请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?.
0 z4 O9 i" f5 ?. h! k5 {--- 卡 Starting kernel ... 前后的 uboot 环境变量我对比过,是一样的。而整个 spi 的 flash 8M 镜像没有前后对比过,按理说除了环境变量以外其它部分应该是只读的?
& ?+ S$ F+ c1 d/ e$ P
" J% q5 g; i" K9 R; n请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表# q$ i* b2 g* m" d- D, k5 z
--- 好的,晚上回家备份

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
mynetdisk 发表于 2022-4-29 02:34:38 | 显示全部楼层 IP:–福建–厦门 电信
mynetdisk 发表于 2022-4-27 09:138 }6 ~& m/ Q( W% ^$ u  Q% {2 A1 `* x, K
谢谢 F 大7 Y* K8 K* |% V( s' U
我前面没描述清楚,我的情况是这样:

& D: @6 ^% @  g. {2 |  |* j- d5 h; R# b我之前说:4 Z4 |, Y& f" g& Z9 `# h
一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能$ a9 F6 Y: Q, {& J; l+ o/ c
1 A* g7 @) v" `" V& O
现在我又不确定了,今天试了刷 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
# Y4 H& |4 B$ ]9 H8 k2 p看上去像是u-boot中分区表配置错误: m7 V, k0 \! ~; P4 l+ G
--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ...  ...

* ~8 W+ h* s9 X: f/ h$ ?做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。( m' ~" q, e! O3 ~1 d* b7 ^( z
这个应该可以排除。

46

主题

617

回帖

2765

积分

中级渣柚V3

积分
2765
QQ66566 发表于 2022-4-29 06:39:18 | 显示全部楼层 IP:–天津–天津 联通
fhh 发表于 2022-4-26 18:08" ~( ^4 z- U9 W- K" Z5 v2 G8 e  x
U-boot有一部分问题。
3 ~$ r& y# E( N% k8 i1 _! ]: u- d我的做法是修改设备树,让Linux在重新初始化网卡的时候把功率拉到最大。  `  m4 A7 {! p& m1 t
因为没有 ...

: R& y+ d' o( D4 H3 _  N8 Dsoul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查找哪里出的问题,慢慢来试试。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| fhh 发表于 2022-4-29 08:06:14 | 显示全部楼层 IP:–浙江–杭州 移动
QQ66566 发表于 2022-4-29 06:397 y% O- Y3 L# q, @' Q) P1 Q" S  p
soul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查 ...
0 u$ U& o' a$ r7 P9 C3 H% {
是的。* Y% Q2 f) A' T, a$ F
只要u-boot不初始化PHY,其上电以后的默认配置不被覆盖,就不会掉IP。
. v* t& a* R/ v$ r! C/ D但是代价就是U-boot无法使用网卡,以及这其实算是一种……“鸵鸟”解法?
' B2 {3 S& |0 p7 U( A" o% A我的解法是修改设备树,使得它被初始化后,再次把信号增益数据填入。
9 U6 ^/ H- r7 B. ^我认为这样才算是这个问题的真正正确解法。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| fhh 发表于 2022-4-29 08:07:28 | 显示全部楼层 IP:–浙江–杭州 移动
本帖最后由 fhh 于 2022-4-29 08:16 编辑 ' @: q: R) f8 Q5 l4 x  P
QQ66566 发表于 2022-4-29 06:31
+ R) G( ^; `8 C$ v+ O/ x( `& u做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。5 v1 v" K( k; g4 ?* e
这个应该可 ...

4 ?7 ?( [% B2 O! P7 X我的意思是,设备树中关于spi的分区配置错误,导致群晖把数据写入了其他的分区中。我在观察他的分区表的时候,发现u-boot中的分区配置,与手动dd出来的分区表……并不一致。
) T  I# I( u# E6 a按照设备树中定义的分区表dd出来的分区,全都是无效数据。
1 }' ^9 _. X& m5 \, x& r1 H3 d) D换而言之,u-boot通过设备树暴露给群晖的分区,本身就是错误的。0 O7 X, K3 ?' S0 z8 [4 w
我现在希望通过他的dump来分析u-boot和群晖究竟采取了哪一份分区表,以此来进行修复。
- n  B; C0 [) W+ D& Q+ v8 \
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-6-27 08:50 , Processed in 0.069934 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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