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

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

  [复制链接]

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-27 08:04:02 | 显示全部楼层
mynetdisk 发表于 2022-4-27 01:52" y& f4 L) ?, F9 ^: A: B7 s% m' g! I, d
刷这个成功迁移并进入群晖
2 a  v+ B: m+ y0 I7 t- l9 F/ B/ _2 g
可惜重启后又出现卡 Starting kernel ... 问题

+ H3 f- S+ D, f哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。
) ^4 [& L) _" y你把emmc中的Debian抹掉就好了。

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
发表于 2022-4-27 09:13:43 | 显示全部楼层
本帖最后由 mynetdisk 于 2022-4-29 02:33 编辑
. f& J! f$ a9 |* a% o7 I: ?( O
fhh 发表于 2022-4-27 08:04
# z. w# o* `! N, _- y$ B- r3 j哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。$ _: s- e! z: Y: _1 q% }
你把emmc中的De ...
3 f9 ?7 P( ]0 |! k* |
谢谢 F 大
0 ^: E7 Z! J$ o, S我前面没描述清楚,我的情况是这样:
2 U3 [6 F+ p. i" A; X7 ]$ p
6 N% U8 m- \0 m/ L' p( B) j1.6 J' }& d7 t, \: Z# k3 S
启动时 TTL 默认显示 syno mode,然后在 Starting kernel ... 卡住; k  \2 P# {' g& a# w' `
按住 RESET 5S 上电启动 TTL 显示 mmc mode,能正常进 Debian
3 I# V; r1 x3 ?* y: @7 E
7 Q; A" O7 Z9 [: r2 u( X8 n2.2 L" y' j6 U. A
刚刷 u-boot 之后可以进群晖(也有一次刚刷完 uboot 就进不了群晖)
6 N4 m& o' \9 q+ N8 S( ^之后某次重启后 syno mode 就卡在 Starting kernel ...(但 mmc mode 仍然可以进 debian)
( W0 X, P) O; Y- Q) `7 Z! j一旦出现卡 Starting kernel ...,再重启 N 次也还是卡 Starting kernel ...,直到下次刷 uboot 通常可以暂时解决% v) x% F: q6 h. Q
4 Z8 E' L- L* W, o; Y
3.7 g4 |. c( u) R) E+ R
一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能【2022-04-29 修订:我又不确定了,今天试了刷 uboot 重启几次正常启动群晖的情况下,saveenv 后重启就卡 Starting kernel ... 了,也许真像你说的是 uboot 分区表有问题(从而导致 saveenv 破坏了什么东西?)】
2 C1 w' h' O, {, g一次进 debian 后重启卡 Starting kernel ...,以为是 debian 自动修改了 uboot 环境变量,之后试验排除了此可能
3 \9 @' V% @" M% I) a! ]U盘、硬盘都拔掉试过,排除了这两种设备问题的可能

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-27 10:15:13 | 显示全部楼层
mynetdisk 发表于 2022-4-27 09:13* R$ w4 J, R$ M% v# S
谢谢 F 大
) |5 r4 Q" o& _我前面没描述清楚,我的情况是这样:
5 i* R* U- c$ m. L9 ^6 `  ~
看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。
  n2 w3 U* b' A( s我想询问一下:
5 r5 {2 J$ N+ k; ?1.在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?# m; k/ L% t( u; r8 z* r1 `5 A9 y
2.在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?如果能,请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?& \. T5 M+ c4 {- q7 M6 J" E
如果可以的话,请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表),我需要根据这些信息进行分析。
8 n6 f+ d6 J) j' z, J: E% ]$ W5 G' h. |谢谢!

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
发表于 2022-4-27 10:50:00 | 显示全部楼层
本帖最后由 mynetdisk 于 2022-4-27 10:53 编辑
2 |! X# D* _7 `3 Y5 F& h* D
fhh 发表于 2022-4-27 10:15
. @3 j& i1 \- z& _* h% T看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。
* A8 n, l! D  E4 ?8 b/ e- \! }我想询问一下:7 @. a$ o8 u" w9 \6 ]
1.在刷我修改之 ...
1 d: b7 l1 Z: N5 e) s
看上去像是u-boot中分区表配置错误5 X3 U. w' \$ K# [$ V- H
--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ... 问题,刚刷 uboot 后通常可以用,第 N 次重启之后可能出现 Starting kernel ...,之后再重启也必然这样,只能重新刷 uboot(注:不代表一定是 uboot 这里出了错,因为每次重刷 uboot 后需要重装群晖 DSM,所以也可能是因为重装 DSM 而暂时解决了问题)
7 ]% q6 m5 R, }) R( Q5 F# G  y
6 C9 H- p: |  g2 `# J或者是你的spi nor flash出现了故障- |# L8 g9 U0 n% h8 M1 O! N
--- uboot bubt 命令刷写 SPI FLASH 后会不会校验呢,如果有校验,证明 FLASH 本身读写应该没问题,而是否后续 FLASH 数据出问题待确定- W( L$ z: y& S
6 y7 l, Z' @" b# ?+ j$ N! S3 Z8 z
在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?
; i, C6 P2 A& O2 ?--- 原来的 uboot 就会,并非你的修改导致的,是在 emmc 装了 debian 之后出现的(没改 uboot 启动顺序),不知道是不是巧合2 M8 v, `/ n0 }# N/ V
/ ~3 y5 x: Q! K6 u; U3 w. n& l
在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?" n& u- F; i3 T3 A
--- 能,引导群晖卡在 Starting kernel ...,而按住 RESET 5S 重新上电引导 Debian 能正常进系统8 o8 m  Z$ {* g' O

8 X8 ~" L" \) D" a8 v6 H; X请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?.
$ g' i7 H6 Z6 Y# Y  _; _--- 卡 Starting kernel ... 前后的 uboot 环境变量我对比过,是一样的。而整个 spi 的 flash 8M 镜像没有前后对比过,按理说除了环境变量以外其它部分应该是只读的?
6 L0 N/ h/ e4 L: ~! |0 Z8 N  U7 X+ {  N1 y& `
请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表
: @* ^$ _; p8 h- J# `--- 好的,晚上回家备份

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
发表于 2022-4-29 02:34:38 | 显示全部楼层
mynetdisk 发表于 2022-4-27 09:13
7 P9 j/ h& l7 {5 m* o! a; Q谢谢 F 大  Q) D' u8 Q. s5 H& `9 E6 m
我前面没描述清楚,我的情况是这样:

  r: g. }& A( H6 {$ k我之前说:# `+ D9 ^0 H% n. G0 M0 ^: ?
一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能
4 }4 h$ b! U8 P( \( n+ m3 Q2 N) w6 d# ^0 a% @$ `
现在我又不确定了,今天试了刷 uboot 重启几次正常启动群晖的情况下,saveenv 后重启就卡 Starting kernel ... 了,也许真像你说的是 uboot 分区表有问题(从而导致 saveenv 破坏了什么东西?)

46

主题

617

回帖

2765

积分

中级渣柚V3

积分
2765
发表于 2022-4-29 06:31:27 | 显示全部楼层
mynetdisk 发表于 2022-4-27 10:50
1 h& J" }& D+ r( `看上去像是u-boot中分区表配置错误
4 Z$ g1 N3 s: |8 x6 J& `5 a--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ...  ...
6 p& `$ s% d1 F6 g7 m1 S$ w& B! r/ k' G
做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。7 n7 a, `' i/ w  v* }
这个应该可以排除。

46

主题

617

回帖

2765

积分

中级渣柚V3

积分
2765
发表于 2022-4-29 06:39:18 | 显示全部楼层
fhh 发表于 2022-4-26 18:081 P  f8 |7 ]$ [% \% S9 U7 q
U-boot有一部分问题。% q  A1 L; Z) P
我的做法是修改设备树,让Linux在重新初始化网卡的时候把功率拉到最大。
6 Z( P7 j, L8 L9 s) e& |/ R* L, @% |因为没有 ...
! U6 p. X+ @1 w: a; N8 q: C& B6 o
soul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查找哪里出的问题,慢慢来试试。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-29 08:06:14 | 显示全部楼层
QQ66566 发表于 2022-4-29 06:393 l$ d6 Q  T% @
soul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查 ...

1 G1 X) q4 |: X& y! p4 A; W  a是的。9 c7 i0 |' U6 V7 C' A
只要u-boot不初始化PHY,其上电以后的默认配置不被覆盖,就不会掉IP。
+ \* v: Z( l1 V  q但是代价就是U-boot无法使用网卡,以及这其实算是一种……“鸵鸟”解法?  R" S, T. J8 r
我的解法是修改设备树,使得它被初始化后,再次把信号增益数据填入。
  C* a( A3 o/ i$ u& r; T) ?6 b我认为这样才算是这个问题的真正正确解法。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-29 08:07:28 | 显示全部楼层
本帖最后由 fhh 于 2022-4-29 08:16 编辑
$ y& s- H( X9 n" [" D
QQ66566 发表于 2022-4-29 06:31
: I5 O3 F7 `: j3 E做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。/ m/ p0 c* h. I6 \; q  y
这个应该可 ...

2 x0 G( e6 n; ?" G% U+ z我的意思是,设备树中关于spi的分区配置错误,导致群晖把数据写入了其他的分区中。我在观察他的分区表的时候,发现u-boot中的分区配置,与手动dd出来的分区表……并不一致。2 `% ^+ K  P# j. d, ~# \) _' f
按照设备树中定义的分区表dd出来的分区,全都是无效数据。  c3 b& k( U# b8 q% _" f
换而言之,u-boot通过设备树暴露给群晖的分区,本身就是错误的。
3 ~! e! @$ X5 j5 M2 k( s$ O我现在希望通过他的dump来分析u-boot和群晖究竟采取了哪一份分区表,以此来进行修复。
: i' _0 C  n- N. L
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-3-13 06:27 , Processed in 0.086831 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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