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

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

  [复制链接]

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-27 08:04:02 | 显示全部楼层
mynetdisk 发表于 2022-4-27 01:52, ?0 Z& r8 R3 _/ e4 ~5 E& ]5 a
刷这个成功迁移并进入群晖
7 `' I$ O8 W, n" G( z9 x6 A& a% p3 I: H8 ?: H. g& ~+ T7 ~
可惜重启后又出现卡 Starting kernel ... 问题
% ^6 _3 g3 w2 o2 q5 ^& r- G! q+ J
哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。
4 S/ A! V) r2 N你把emmc中的Debian抹掉就好了。

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
发表于 2022-4-27 09:13:43 | 显示全部楼层
本帖最后由 mynetdisk 于 2022-4-29 02:33 编辑 ( ^' P9 M- a0 z! }: d
fhh 发表于 2022-4-27 08:04
5 d; y3 z* Y* ]7 m2 X3 _哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。
4 O5 e3 p3 P9 m0 G6 l4 J' o% P你把emmc中的De ...
  d0 [. p+ ~% E$ |
谢谢 F 大  p! x( L! L, a7 A
我前面没描述清楚,我的情况是这样:( N6 \% P  O2 B: H) B: {
1 f  {2 B( S  w% }# m5 o' K
1.
  l+ g7 r* _$ s6 ~, V启动时 TTL 默认显示 syno mode,然后在 Starting kernel ... 卡住
& S" g* v" ~+ `, _9 [7 b按住 RESET 5S 上电启动 TTL 显示 mmc mode,能正常进 Debian* \3 D6 t8 t$ w. v6 _7 c- Q

) L, q% b3 ]! y  J( X6 [2.
4 ~% {4 m0 h* f9 O* \刚刷 u-boot 之后可以进群晖(也有一次刚刷完 uboot 就进不了群晖)
9 F2 ?; L$ [0 t4 s- r2 L& L之后某次重启后 syno mode 就卡在 Starting kernel ...(但 mmc mode 仍然可以进 debian)
8 k, U6 s# ?+ Q! }6 _一旦出现卡 Starting kernel ...,再重启 N 次也还是卡 Starting kernel ...,直到下次刷 uboot 通常可以暂时解决
1 l3 R% S% C$ ^8 Z8 A2 x) {/ A7 P$ b) @1 L+ A! ~3 J6 |( T3 u
3.; k: b1 x4 F. N- T: m9 R" ?! }
一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能【2022-04-29 修订:我又不确定了,今天试了刷 uboot 重启几次正常启动群晖的情况下,saveenv 后重启就卡 Starting kernel ... 了,也许真像你说的是 uboot 分区表有问题(从而导致 saveenv 破坏了什么东西?)】
  h8 ~# v5 m$ u4 O; S* y一次进 debian 后重启卡 Starting kernel ...,以为是 debian 自动修改了 uboot 环境变量,之后试验排除了此可能
; S  P/ g3 d7 j  r8 k# b1 JU盘、硬盘都拔掉试过,排除了这两种设备问题的可能

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-27 10:15:13 | 显示全部楼层
mynetdisk 发表于 2022-4-27 09:13: `1 {/ K: q/ J7 R6 U8 P5 a8 t' K5 N
谢谢 F 大2 K' n+ U8 P4 ]5 E' J) r: ]
我前面没描述清楚,我的情况是这样:

4 ?& s+ Y& V0 }2 k看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。0 z, `9 W/ \, [1 m! K
我想询问一下:
, L' _7 }( o$ z% G1.在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?& k$ Q! ~  J% S; h
2.在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?如果能,请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?
/ O( I1 P0 G7 a9 \1 a如果可以的话,请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表),我需要根据这些信息进行分析。- q; w( B! i$ S& H, g- c9 ^- e2 r3 B& I
谢谢!

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
发表于 2022-4-27 10:50:00 | 显示全部楼层
本帖最后由 mynetdisk 于 2022-4-27 10:53 编辑 1 x+ ?3 W$ a4 Z( M7 h% I
fhh 发表于 2022-4-27 10:15
0 I( n0 d0 i) l9 }看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。5 g7 S8 g, a0 o' S
我想询问一下:6 m0 I, F# x5 R8 s# Q* Z1 o
1.在刷我修改之 ...

8 \' o& N4 z: p! K; y0 V9 G5 [, G' q看上去像是u-boot中分区表配置错误
( ~) K% O3 T7 L" e# \--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ... 问题,刚刷 uboot 后通常可以用,第 N 次重启之后可能出现 Starting kernel ...,之后再重启也必然这样,只能重新刷 uboot(注:不代表一定是 uboot 这里出了错,因为每次重刷 uboot 后需要重装群晖 DSM,所以也可能是因为重装 DSM 而暂时解决了问题)
3 H8 i) ~! F. H2 [8 I: ?1 I: [: ?: Q7 k6 z( ~
或者是你的spi nor flash出现了故障
) N0 Q) J& p1 }/ K! F--- uboot bubt 命令刷写 SPI FLASH 后会不会校验呢,如果有校验,证明 FLASH 本身读写应该没问题,而是否后续 FLASH 数据出问题待确定
2 g* O0 \: Q9 j1 Y% @8 f/ e$ S. K1 j4 k
在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?# u. l: k3 \# _/ C- a4 K
--- 原来的 uboot 就会,并非你的修改导致的,是在 emmc 装了 debian 之后出现的(没改 uboot 启动顺序),不知道是不是巧合
" w; T0 k0 g' @. [, S% s
$ ^# l* B( w% S在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?; C% p! W# j# T9 h9 @& [5 J( v
--- 能,引导群晖卡在 Starting kernel ...,而按住 RESET 5S 重新上电引导 Debian 能正常进系统
! k: W3 M# w4 v
* c& \6 `" q) |- ?+ l请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?.
: K. E8 ^3 A5 B- H3 @; X--- 卡 Starting kernel ... 前后的 uboot 环境变量我对比过,是一样的。而整个 spi 的 flash 8M 镜像没有前后对比过,按理说除了环境变量以外其它部分应该是只读的?
9 s& P0 j1 L8 |( S: g% T; H/ a5 _$ C# Y0 P0 N
请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表
" m7 |! ]. j, J% W$ \8 }--- 好的,晚上回家备份

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
发表于 2022-4-29 02:34:38 | 显示全部楼层
mynetdisk 发表于 2022-4-27 09:13- {: K! W4 ]2 B7 ~$ S  K" \$ P
谢谢 F 大
) z, n1 Q% e4 A; x( g; j我前面没描述清楚,我的情况是这样:

: S, f$ ~; F2 A! y3 [/ T我之前说:! h# n8 E7 y1 M6 i! e
一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能
4 ?8 o  n7 ?7 q* y
' d0 W9 R& Q( A& C- A  B$ F现在我又不确定了,今天试了刷 uboot 重启几次正常启动群晖的情况下,saveenv 后重启就卡 Starting kernel ... 了,也许真像你说的是 uboot 分区表有问题(从而导致 saveenv 破坏了什么东西?)

46

主题

617

回帖

2765

积分

中级渣柚V3

积分
2765
发表于 2022-4-29 06:31:27 | 显示全部楼层
mynetdisk 发表于 2022-4-27 10:50
  v0 O9 ~- k1 r% r. s8 N$ n: ~看上去像是u-boot中分区表配置错误
7 k9 I2 u+ {5 R% |5 e9 m* C: r' v--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ...  ...
* E3 ?* i0 S0 @2 f# ?
做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。- `: _  k+ _" g4 \1 O5 u: `7 N
这个应该可以排除。

46

主题

617

回帖

2765

积分

中级渣柚V3

积分
2765
发表于 2022-4-29 06:39:18 | 显示全部楼层
fhh 发表于 2022-4-26 18:08) _8 U( \4 h, {
U-boot有一部分问题。
+ E7 l* f5 ]5 o/ k  f# E# s; ^我的做法是修改设备树,让Linux在重新初始化网卡的时候把功率拉到最大。
  C/ L0 r" M9 f5 N因为没有 ...

  j6 G1 ^/ z* ~8 O  C+ u9 K* wsoul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查找哪里出的问题,慢慢来试试。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-29 08:06:14 | 显示全部楼层
QQ66566 发表于 2022-4-29 06:39
, `* S& M/ Y( V; M1 j- y, u3 bsoul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查 ...
) |: }2 b, G- M& F
是的。
/ {1 Y& \8 \9 E9 P, }7 H6 c3 n只要u-boot不初始化PHY,其上电以后的默认配置不被覆盖,就不会掉IP。
' {2 _# Z  D8 z+ D但是代价就是U-boot无法使用网卡,以及这其实算是一种……“鸵鸟”解法?
* r5 i0 c- N- P. I: b. s我的解法是修改设备树,使得它被初始化后,再次把信号增益数据填入。
( ~2 T/ s) s5 O8 h: g我认为这样才算是这个问题的真正正确解法。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-29 08:07:28 | 显示全部楼层
本帖最后由 fhh 于 2022-4-29 08:16 编辑 # D4 z$ u: C/ q2 F' p  h" ?9 M
QQ66566 发表于 2022-4-29 06:31
0 w8 @4 t% f5 C做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。6 ?. L0 G2 f5 d' `& w
这个应该可 ...
8 R8 g1 t3 g* J
我的意思是,设备树中关于spi的分区配置错误,导致群晖把数据写入了其他的分区中。我在观察他的分区表的时候,发现u-boot中的分区配置,与手动dd出来的分区表……并不一致。
- N, G2 ?' R& |# ^! q3 e6 g按照设备树中定义的分区表dd出来的分区,全都是无效数据。& b5 ?; m5 R' g% J0 X! w6 {
换而言之,u-boot通过设备树暴露给群晖的分区,本身就是错误的。
' y. Y  R  n& b+ J7 U) _' l. M* Y我现在希望通过他的dump来分析u-boot和群晖究竟采取了哪一份分区表,以此来进行修复。, M: l1 q0 I% J, P9 c
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-9 07:49 , Processed in 0.073457 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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