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

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

  [复制链接]

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-27 08:04:02 | 显示全部楼层
mynetdisk 发表于 2022-4-27 01:52$ p, D3 d! W0 f  \6 y2 E( c+ A5 Y
刷这个成功迁移并进入群晖. A/ l1 x+ v! s+ m! u" X8 N# ]$ \

/ v! K" `* v' M/ ?6 x可惜重启后又出现卡 Starting kernel ... 问题
7 w: A& G7 [% C, F* T. g+ j
哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。( x4 ]% U) t# K6 F
你把emmc中的Debian抹掉就好了。

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
发表于 2022-4-27 09:13:43 | 显示全部楼层
本帖最后由 mynetdisk 于 2022-4-29 02:33 编辑 * D- m3 I  b; s/ B4 a
fhh 发表于 2022-4-27 08:04
3 k/ ]+ u8 {! f哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。
- F; e  d2 L' J& y你把emmc中的De ...
5 c6 b* o- [  _+ S; O# k$ ~; R6 t
谢谢 F 大
) y7 O( I0 d# b  z3 C我前面没描述清楚,我的情况是这样:/ Y  ]% x4 m2 @. D3 p/ C5 m  L
1 C2 ]5 D1 F& }6 ?% R$ J1 q" {
1.
5 r. \  D0 K. G# e* Q2 ?+ v* c4 W启动时 TTL 默认显示 syno mode,然后在 Starting kernel ... 卡住# X; e$ p8 i( e0 h9 I3 V- i! Y
按住 RESET 5S 上电启动 TTL 显示 mmc mode,能正常进 Debian7 Q2 t- p# }) u1 I: o4 h
) o) N2 {" Z6 c- |- g
2.
7 _' E& ]. S) Q! h刚刷 u-boot 之后可以进群晖(也有一次刚刷完 uboot 就进不了群晖)
/ R! F# p# x2 A* Q之后某次重启后 syno mode 就卡在 Starting kernel ...(但 mmc mode 仍然可以进 debian); I: n; C) a: {  o& E: h: ]* q: H, L
一旦出现卡 Starting kernel ...,再重启 N 次也还是卡 Starting kernel ...,直到下次刷 uboot 通常可以暂时解决
5 O% P& J3 X6 \! E! h$ V- l/ @- I! `. e% M+ ^$ f
3.
0 s  y! y* h0 `6 B+ z一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能【2022-04-29 修订:我又不确定了,今天试了刷 uboot 重启几次正常启动群晖的情况下,saveenv 后重启就卡 Starting kernel ... 了,也许真像你说的是 uboot 分区表有问题(从而导致 saveenv 破坏了什么东西?)】
7 [2 T  y. g, b$ g+ x) u. [一次进 debian 后重启卡 Starting kernel ...,以为是 debian 自动修改了 uboot 环境变量,之后试验排除了此可能
* [! F# z, S+ L; y2 z/ ]) yU盘、硬盘都拔掉试过,排除了这两种设备问题的可能

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-27 10:15:13 | 显示全部楼层
mynetdisk 发表于 2022-4-27 09:13
5 }4 Q- m8 q, ?; S7 p& w谢谢 F 大
$ Y% m& e( Q9 g, l我前面没描述清楚,我的情况是这样:

& Z/ ^  L. a# a! i$ @3 u看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。
2 A. U; `" }% a. q6 G我想询问一下:- @( v2 f8 T: v, S
1.在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?
' F1 Q; ?2 t, j! d/ A3 t; D  D2.在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?如果能,请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?5 y) O" X7 @4 g9 \
如果可以的话,请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表),我需要根据这些信息进行分析。
1 }! B5 @9 B4 S; e3 G: w谢谢!

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
发表于 2022-4-27 10:50:00 | 显示全部楼层
本帖最后由 mynetdisk 于 2022-4-27 10:53 编辑 9 Q% _- z( k8 X5 S' ]2 _
fhh 发表于 2022-4-27 10:155 b. B) }7 |% k7 X, m2 H
看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。) z: r8 a) d  E6 g1 T; l
我想询问一下:/ N8 z3 r1 y5 U: H9 `2 B7 K
1.在刷我修改之 ...

5 D1 i. N# L( B, H# }8 a: i2 Y看上去像是u-boot中分区表配置错误! I0 @1 P" ~( q) N% G6 }, L! d
--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ... 问题,刚刷 uboot 后通常可以用,第 N 次重启之后可能出现 Starting kernel ...,之后再重启也必然这样,只能重新刷 uboot(注:不代表一定是 uboot 这里出了错,因为每次重刷 uboot 后需要重装群晖 DSM,所以也可能是因为重装 DSM 而暂时解决了问题)
& j2 v4 t3 D' L$ k% `0 E4 E
5 ]  M, y" c9 J0 {或者是你的spi nor flash出现了故障9 c3 O2 O% \* n
--- uboot bubt 命令刷写 SPI FLASH 后会不会校验呢,如果有校验,证明 FLASH 本身读写应该没问题,而是否后续 FLASH 数据出问题待确定
6 f9 ~4 q8 V$ g4 W# _2 g: l, W- t
在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?& H( q& S# |- Y+ ]9 x4 M7 }+ }
--- 原来的 uboot 就会,并非你的修改导致的,是在 emmc 装了 debian 之后出现的(没改 uboot 启动顺序),不知道是不是巧合+ ^: i& W7 m* C( ?
; c  h* P5 f* F+ r, w
在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?
( E/ C! y$ f' V2 |--- 能,引导群晖卡在 Starting kernel ...,而按住 RESET 5S 重新上电引导 Debian 能正常进系统
2 o) p; Y2 J9 P1 p0 }
4 O" h6 H( k' B; y$ X- S9 Z请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?.
- p! P$ i. v9 D2 r--- 卡 Starting kernel ... 前后的 uboot 环境变量我对比过,是一样的。而整个 spi 的 flash 8M 镜像没有前后对比过,按理说除了环境变量以外其它部分应该是只读的?: W' \. A# w+ h1 `* @( u1 u

; j& j; N: T; T. Q( D* b8 c5 l请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表
  E; z! C, {5 t. h$ W) w, i6 f--- 好的,晚上回家备份

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
发表于 2022-4-29 02:34:38 | 显示全部楼层
mynetdisk 发表于 2022-4-27 09:13, W- n$ N, f: {+ w! e4 a8 R; ~
谢谢 F 大
9 J' \( X7 l1 g5 e# W- R我前面没描述清楚,我的情况是这样:
% H4 |4 P+ O$ W. s# v5 `
我之前说:; R4 T' _; U& t$ j$ n
一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能
5 B- s' O- j- T  |
1 Z1 c1 U3 C! l. ?" p9 n7 k1 l& U2 S现在我又不确定了,今天试了刷 uboot 重启几次正常启动群晖的情况下,saveenv 后重启就卡 Starting kernel ... 了,也许真像你说的是 uboot 分区表有问题(从而导致 saveenv 破坏了什么东西?)

46

主题

617

回帖

2764

积分

中级渣柚V3

积分
2764
发表于 2022-4-29 06:31:27 | 显示全部楼层
mynetdisk 发表于 2022-4-27 10:506 T! H4 J2 o& A6 y! r7 I6 P3 a# E
看上去像是u-boot中分区表配置错误
) a' Q, n7 ]  w9 P0 o--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ...  ...
- O5 v8 P, G1 ^( S) L2 L
做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。4 R2 s* F6 F2 G
这个应该可以排除。

46

主题

617

回帖

2764

积分

中级渣柚V3

积分
2764
发表于 2022-4-29 06:39:18 | 显示全部楼层
fhh 发表于 2022-4-26 18:08
% {, r% Q4 R( F: YU-boot有一部分问题。/ ]& D& [% Y9 q+ O0 f
我的做法是修改设备树,让Linux在重新初始化网卡的时候把功率拉到最大。* j$ x5 m' A3 ^6 r* W! \) a1 n+ V
因为没有 ...

' B- E5 y2 p# ^$ {1 {soul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查找哪里出的问题,慢慢来试试。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-29 08:06:14 | 显示全部楼层
QQ66566 发表于 2022-4-29 06:39
! f/ B1 ?3 ~0 K8 ^5 Isoul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查 ...
0 ~: u+ t9 l4 J, \4 k- o
是的。% z1 p* r, }/ s. q8 O
只要u-boot不初始化PHY,其上电以后的默认配置不被覆盖,就不会掉IP。
2 G( e) ^. f8 y) i; @; @* L但是代价就是U-boot无法使用网卡,以及这其实算是一种……“鸵鸟”解法?+ C/ X: M. g/ E5 X
我的解法是修改设备树,使得它被初始化后,再次把信号增益数据填入。" e, J3 F% i& w
我认为这样才算是这个问题的真正正确解法。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| 发表于 2022-4-29 08:07:28 | 显示全部楼层
本帖最后由 fhh 于 2022-4-29 08:16 编辑
1 j9 C/ I4 m1 H; J
QQ66566 发表于 2022-4-29 06:31
$ P$ {0 E7 n  U  J7 ?+ j8 d做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。' Z( c& l' h/ G4 _' s4 q
这个应该可 ...
4 ]' _2 Y% _! l, o) }) W
我的意思是,设备树中关于spi的分区配置错误,导致群晖把数据写入了其他的分区中。我在观察他的分区表的时候,发现u-boot中的分区配置,与手动dd出来的分区表……并不一致。
. t; d* j: q& @/ R5 _按照设备树中定义的分区表dd出来的分区,全都是无效数据。
8 p; U2 d6 ?; W- N5 g3 t换而言之,u-boot通过设备树暴露给群晖的分区,本身就是错误的。0 x2 X6 Y; a3 ]. O3 Z9 e
我现在希望通过他的dump来分析u-boot和群晖究竟采取了哪一份分区表,以此来进行修复。7 i1 W! b0 Z5 d; Z, Y
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-10-4 23:59 , Processed in 0.070740 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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