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

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

  [复制链接]

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-27 08:04:02 | 显示全部楼层
mynetdisk 发表于 2022-4-27 01:523 ^5 `& {) _: W
刷这个成功迁移并进入群晖
: ]8 {6 J5 U' \0 `" H' \5 [! j& b. p- W+ P4 ?/ Q: `0 C5 f$ {
可惜重启后又出现卡 Starting kernel ... 问题
/ E% s) ^" a: O7 x% ^# {
哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。# e: K0 x3 N3 u2 S! r: z) |" ]2 J
你把emmc中的Debian抹掉就好了。

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
发表于 2022-4-27 09:13:43 | 显示全部楼层
本帖最后由 mynetdisk 于 2022-4-29 02:33 编辑 , D5 C) W% [+ \$ t- K9 d, T
fhh 发表于 2022-4-27 08:04; ~/ j2 }# t) w: K( w. T, ?" `
哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。0 J: s# |0 w' m) G
你把emmc中的De ...

' d8 ]4 ]4 `" G2 {谢谢 F 大
: d" E) ^" f+ Q+ G+ o. V我前面没描述清楚,我的情况是这样:2 H; H0 a% }& R; x: i+ X. O
' k$ g% H0 H, K( \0 f
1.
: r8 l( F( d* y0 U# e1 S% f启动时 TTL 默认显示 syno mode,然后在 Starting kernel ... 卡住
0 e  K, H5 N/ n% e按住 RESET 5S 上电启动 TTL 显示 mmc mode,能正常进 Debian
8 N6 T1 E2 p) S7 n3 M/ v7 c4 p, P" y7 c- ]% [, W7 y/ l
2.: Q2 D* V9 V! d- H/ \# A( w' N
刚刷 u-boot 之后可以进群晖(也有一次刚刷完 uboot 就进不了群晖)
5 R7 h. q! D. T/ X* z! C之后某次重启后 syno mode 就卡在 Starting kernel ...(但 mmc mode 仍然可以进 debian)" x' {# j5 g# _/ m; l7 D
一旦出现卡 Starting kernel ...,再重启 N 次也还是卡 Starting kernel ...,直到下次刷 uboot 通常可以暂时解决7 Q  G# J3 q9 P

* U2 k" X3 B1 s- B3.
9 s/ x( a' J) ?! {3 p) e- H  B一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能【2022-04-29 修订:我又不确定了,今天试了刷 uboot 重启几次正常启动群晖的情况下,saveenv 后重启就卡 Starting kernel ... 了,也许真像你说的是 uboot 分区表有问题(从而导致 saveenv 破坏了什么东西?)】: K9 Z9 W: ]3 s5 o' G
一次进 debian 后重启卡 Starting kernel ...,以为是 debian 自动修改了 uboot 环境变量,之后试验排除了此可能
/ L3 O4 a8 _) lU盘、硬盘都拔掉试过,排除了这两种设备问题的可能

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-27 10:15:13 | 显示全部楼层
mynetdisk 发表于 2022-4-27 09:13$ q; x0 p( X4 K) [
谢谢 F 大6 Y" p# M/ u' m  V- O9 D4 b' M" o
我前面没描述清楚,我的情况是这样:
4 i- f# U6 n) I/ ?
看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。/ B9 |  u% Z6 ^
我想询问一下:- W+ b/ P! c; r% c. l: _
1.在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?
- x$ _2 J0 N2 x+ _3 x# B2.在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?如果能,请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?" T0 J" a; P) d/ o& |. H  Y6 [/ ?
如果可以的话,请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表),我需要根据这些信息进行分析。# y  j- E% H7 ~9 G" i+ F- n- X" t
谢谢!

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
发表于 2022-4-27 10:50:00 | 显示全部楼层
本帖最后由 mynetdisk 于 2022-4-27 10:53 编辑
% C0 {. L  j# `2 f0 [# N! ^
fhh 发表于 2022-4-27 10:157 o$ |* Q" G/ |7 P" t
看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。; K$ |! U0 `1 t& z
我想询问一下:
2 o# `8 Q7 l# o" b" ?" ?1.在刷我修改之 ...
# s( l; i8 X0 C) P9 w9 _+ }
看上去像是u-boot中分区表配置错误
9 u; g; ^4 f: u+ h# C7 ^' E+ j--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ... 问题,刚刷 uboot 后通常可以用,第 N 次重启之后可能出现 Starting kernel ...,之后再重启也必然这样,只能重新刷 uboot(注:不代表一定是 uboot 这里出了错,因为每次重刷 uboot 后需要重装群晖 DSM,所以也可能是因为重装 DSM 而暂时解决了问题)
/ ^5 F% H7 ?- z  I3 }
. f! K) ]1 }% N/ v) {; _, c或者是你的spi nor flash出现了故障( C  c$ Z  b  @% h( h
--- uboot bubt 命令刷写 SPI FLASH 后会不会校验呢,如果有校验,证明 FLASH 本身读写应该没问题,而是否后续 FLASH 数据出问题待确定% R6 b# h4 e, U3 H' \2 z" z

; i2 h/ I1 f& f# ~4 y0 F3 e/ Q% G在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?
7 o3 U- F2 `9 z9 \8 T" ~3 V--- 原来的 uboot 就会,并非你的修改导致的,是在 emmc 装了 debian 之后出现的(没改 uboot 启动顺序),不知道是不是巧合7 w7 n8 ]3 U% @) c) G/ z2 Y0 N

; [* p( D5 ]; u/ k% Z( l( u在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?9 f1 ~% V: v& X# f# _
--- 能,引导群晖卡在 Starting kernel ...,而按住 RESET 5S 重新上电引导 Debian 能正常进系统+ z6 ~/ G7 A7 E, ]

9 F& Z5 \2 g  a  m" \请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?.- r% ~# F# c8 g/ q$ Q
--- 卡 Starting kernel ... 前后的 uboot 环境变量我对比过,是一样的。而整个 spi 的 flash 8M 镜像没有前后对比过,按理说除了环境变量以外其它部分应该是只读的?
9 V, D/ |/ O) E: W8 Z& V
% d1 |; s7 q, X4 s6 K7 M* v请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表/ Z$ A1 M; ]9 K. E/ I0 ]
--- 好的,晚上回家备份

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
发表于 2022-4-29 02:34:38 | 显示全部楼层
mynetdisk 发表于 2022-4-27 09:13
8 s6 z8 m0 X5 R, u! {! @! ~谢谢 F 大
8 T) ?; v( h% L' N  Y& J我前面没描述清楚,我的情况是这样:
+ H( @4 Z5 X( ?( y' q3 m0 W
我之前说:! h/ |, F* L* v) L# L- {
一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能
5 J  I/ L8 s; ~$ r# K  e: O, p9 ~% A' D9 Y( d: @
现在我又不确定了,今天试了刷 uboot 重启几次正常启动群晖的情况下,saveenv 后重启就卡 Starting kernel ... 了,也许真像你说的是 uboot 分区表有问题(从而导致 saveenv 破坏了什么东西?)

46

主题

617

回帖

2764

积分

中级渣柚V3

积分
2764
发表于 2022-4-29 06:31:27 | 显示全部楼层
mynetdisk 发表于 2022-4-27 10:50
) j/ ]  ~& u+ ?9 ]5 r' L看上去像是u-boot中分区表配置错误
  ~+ c. E' l* R7 K7 O1 g" O7 ?3 l--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ...  ...
7 a0 M5 \9 I. n# P2 X+ s0 h! @
做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。
% g1 o; j6 j; u3 m! q8 h4 t5 \8 S这个应该可以排除。

46

主题

617

回帖

2764

积分

中级渣柚V3

积分
2764
发表于 2022-4-29 06:39:18 | 显示全部楼层
fhh 发表于 2022-4-26 18:084 H" W) n, p- Q
U-boot有一部分问题。
( t$ {6 Y5 X; c7 n我的做法是修改设备树,让Linux在重新初始化网卡的时候把功率拉到最大。: _" x# j4 v2 n/ F. w4 d5 \
因为没有 ...

: K8 O, f  Q% q) c6 k6 q  `% Z( [soul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查找哪里出的问题,慢慢来试试。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-29 08:06:14 | 显示全部楼层
QQ66566 发表于 2022-4-29 06:39! J+ F- O7 J* v- t
soul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查 ...
  d; s! t* G: g9 B" B5 M6 G7 o; c
是的。
. _4 V: A# {6 e只要u-boot不初始化PHY,其上电以后的默认配置不被覆盖,就不会掉IP。6 v0 x+ ^+ ~2 _$ u8 B
但是代价就是U-boot无法使用网卡,以及这其实算是一种……“鸵鸟”解法?9 A. o& m& x# j& C, D; l$ C
我的解法是修改设备树,使得它被初始化后,再次把信号增益数据填入。; Y3 @2 a' |- v- u
我认为这样才算是这个问题的真正正确解法。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-29 08:07:28 | 显示全部楼层
本帖最后由 fhh 于 2022-4-29 08:16 编辑 " y" w8 ^  |) u5 c3 P
QQ66566 发表于 2022-4-29 06:317 E, Z& \2 Q/ v* {9 r
做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。
1 I9 f6 ]: |1 O8 t$ J这个应该可 ...
3 \! u" d9 q1 S- C! ~
我的意思是,设备树中关于spi的分区配置错误,导致群晖把数据写入了其他的分区中。我在观察他的分区表的时候,发现u-boot中的分区配置,与手动dd出来的分区表……并不一致。
* d4 P% w8 a* q; r$ u按照设备树中定义的分区表dd出来的分区,全都是无效数据。9 }7 ^; i/ t% {* h0 T/ C2 I
换而言之,u-boot通过设备树暴露给群晖的分区,本身就是错误的。
; w! i6 \6 D9 X  g! x我现在希望通过他的dump来分析u-boot和群晖究竟采取了哪一份分区表,以此来进行修复。
# P" R! F+ K( E# a3 O
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-5-9 22:23 , Processed in 0.113418 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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