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

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

  [复制链接]

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| fhh 发表于 2022-4-27 08:04:02 | 显示全部楼层 IP:–浙江–杭州 移动
mynetdisk 发表于 2022-4-27 01:52
7 P! Y, q8 o; a! f% l1 w( \刷这个成功迁移并进入群晖# c/ Q& {+ W0 d& G1 p
; [" R6 f* u2 e- t: S" D
可惜重启后又出现卡 Starting kernel ... 问题

% e5 J1 R  V' A/ m, t5 P& K0 m哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。
+ e* \3 S/ A7 L( M( E, {( l* y$ X, h你把emmc中的Debian抹掉就好了。

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
mynetdisk 发表于 2022-4-27 09:13:43 | 显示全部楼层 IP:–福建–厦门 电信
本帖最后由 mynetdisk 于 2022-4-29 02:33 编辑
. U1 W5 I* k0 f
fhh 发表于 2022-4-27 08:04* L# Z$ P: v4 U/ l: Y: v' }
哦,那应该是因为emmc引导顺序在群晖之前,但是群晖的u-boot提供的设备树与Linux不兼容。
, e4 j8 {" N$ [. _% _4 p' F你把emmc中的De ...

) r' H/ z9 W  a- q  Z. p- T谢谢 F 大
) ]; ~, M/ {3 `4 }6 |/ h我前面没描述清楚,我的情况是这样:) k- P9 {3 x% s9 {4 t" W- y2 f
- \' W/ ]0 a( X
1.0 o. b( b/ h. q/ C$ ?9 u
启动时 TTL 默认显示 syno mode,然后在 Starting kernel ... 卡住
+ }4 d4 Y4 f) z, P3 I( Y. W按住 RESET 5S 上电启动 TTL 显示 mmc mode,能正常进 Debian3 N, J! p" q" ^4 s
" O! ]( p8 t' H8 s! \
2.
" h+ _( u, a2 Z+ M/ |, G% T刚刷 u-boot 之后可以进群晖(也有一次刚刷完 uboot 就进不了群晖)
' W. f8 M- J+ h: ]之后某次重启后 syno mode 就卡在 Starting kernel ...(但 mmc mode 仍然可以进 debian)( e- W& [- f' q  ]" l6 \
一旦出现卡 Starting kernel ...,再重启 N 次也还是卡 Starting kernel ...,直到下次刷 uboot 通常可以暂时解决
; I, T" n. g0 G. x2 Y) _# U3 }& }5 D6 ^# J8 p
3.
! L( t( O5 L* ]# X一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能【2022-04-29 修订:我又不确定了,今天试了刷 uboot 重启几次正常启动群晖的情况下,saveenv 后重启就卡 Starting kernel ... 了,也许真像你说的是 uboot 分区表有问题(从而导致 saveenv 破坏了什么东西?)】/ a% M5 U' k7 ]7 t3 X
一次进 debian 后重启卡 Starting kernel ...,以为是 debian 自动修改了 uboot 环境变量,之后试验排除了此可能( P+ [! L# f  {8 P
U盘、硬盘都拔掉试过,排除了这两种设备问题的可能

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| fhh 发表于 2022-4-27 10:15:13 | 显示全部楼层 IP:–浙江–杭州 移动
mynetdisk 发表于 2022-4-27 09:13
$ Y1 [) M" B1 |: z谢谢 F 大
+ `3 a  C& o7 x; P( p+ M$ n我前面没描述清楚,我的情况是这样:

, i6 ~% X& {3 c9 m9 c看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。5 ^1 b  x4 V2 `: B8 E+ j
我想询问一下:
, v, i6 D1 ?% \1 l; |7 v1.在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?1 p4 W0 v0 e% [" W1 U* y! u7 d, S
2.在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?如果能,请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?
( f7 n* {: {5 C& N如果可以的话,请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表),我需要根据这些信息进行分析。+ ?/ T  M% y0 [; R  f" r! s/ x
谢谢!

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
mynetdisk 发表于 2022-4-27 10:50:00 | 显示全部楼层 IP:–福建–厦门 电信
本帖最后由 mynetdisk 于 2022-4-27 10:53 编辑   H5 k6 F6 w) J# l- X* ^0 N
fhh 发表于 2022-4-27 10:15
/ V, O4 U0 N* }: P看上去像是u-boot中分区表配置错误,或者是你的spi nor flash出现了故障。
* j7 a- }/ w+ \0 b' K- k# I我想询问一下:
9 m2 H& H7 G4 Z) t2 W8 F" B1.在刷我修改之 ...
6 A, |1 J+ j1 I
看上去像是u-boot中分区表配置错误
4 R$ q8 Q- z2 ?5 g# j" V: @8 |--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ... 问题,刚刷 uboot 后通常可以用,第 N 次重启之后可能出现 Starting kernel ...,之后再重启也必然这样,只能重新刷 uboot(注:不代表一定是 uboot 这里出了错,因为每次重刷 uboot 后需要重装群晖 DSM,所以也可能是因为重装 DSM 而暂时解决了问题)
& T* }$ @0 W. k5 B
- }1 A+ o* @. ^/ r或者是你的spi nor flash出现了故障2 N1 E+ `& |6 j& u. c6 U) k0 w
--- uboot bubt 命令刷写 SPI FLASH 后会不会校验呢,如果有校验,证明 FLASH 本身读写应该没问题,而是否后续 FLASH 数据出问题待确定
- c  Q2 y# c! k0 |. \
" q( d! b3 w9 p在刷我修改之前的u-boot之前(也就是在使用Soul的U-boot的时候),你会遇到这个情况吗?# I* W8 f: F- `' j4 w
--- 原来的 uboot 就会,并非你的修改导致的,是在 emmc 装了 debian 之后出现的(没改 uboot 启动顺序),不知道是不是巧合5 r6 U' a3 B) n( b" h
/ W" ^, v8 B- F8 `4 I+ a2 F- ~2 P
在你卡在Starting kernel的时候,还能够进入emmc环境下的Debian吗?* A7 v0 d% c! K8 l
--- 能,引导群晖卡在 Starting kernel ...,而按住 RESET 5S 重新上电引导 Debian 能正常进系统  M) ~" j" O" W9 }

9 U; w: c0 d3 R6 m3 Y$ a  Q请问你能够在Debian下把spi flash的数据读取出来,以分析一下是否出现了错误吗?.
* }$ ^4 l  j7 C+ K--- 卡 Starting kernel ... 前后的 uboot 环境变量我对比过,是一样的。而整个 spi 的 flash 8M 镜像没有前后对比过,按理说除了环境变量以外其它部分应该是只读的?0 U. D. T! u1 S% v0 K  p9 m
$ d# E0 ^, w- Q9 `& j) k
请提供一下无法正常启动时期的spi nor flash的备份镜像(应该是/dev目录下的各个mtdblock,以及/proc/mtd分区表
0 @9 I! A. {# G& A) Y: a& K3 \--- 好的,晚上回家备份

0

主题

32

回帖

50

积分

初级渣柚V2

积分
50
QQ
mynetdisk 发表于 2022-4-29 02:34:38 | 显示全部楼层 IP:–福建–厦门 电信
mynetdisk 发表于 2022-4-27 09:13/ n( U& D' z4 X7 s- O; L
谢谢 F 大& f8 G* M6 E8 E$ J+ Y
我前面没描述清楚,我的情况是这样:

2 W, n) Q5 s" a, Q, f- q# i) j7 u我之前说:. a0 L0 |, m4 V7 e
一次 saveenv 后重启卡 Starting kernel ...,以为跟这个有关,之后试验排除了此可能" y- W7 r* ]* G$ R1 f; {
9 M0 k7 K3 k/ t- ?2 q3 C1 V) K
现在我又不确定了,今天试了刷 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
; @5 T% V# Y# v& ]7 l9 b8 `1 o* \看上去像是u-boot中分区表配置错误, e1 g+ @8 R' [) L  [
--- 应该不是,因为并不是换了 uboot 之后出现卡 Starting kernel ...  ...
$ r& M0 {0 ^( ?% |, p" B$ o
做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。1 D6 k% y& j* a# f8 L+ E9 x: {
这个应该可以排除。

46

主题

617

回帖

2765

积分

中级渣柚V3

积分
2765
QQ66566 发表于 2022-4-29 06:39:18 | 显示全部楼层 IP:–天津–天津 联通
fhh 发表于 2022-4-26 18:08
8 I3 J) U  k3 U( |* c5 pU-boot有一部分问题。
  r, R% H8 T; \5 p9 J我的做法是修改设备树,让Linux在重新初始化网卡的时候把功率拉到最大。6 K) [7 o% \3 m- a1 x
因为没有 ...

" i; H4 P( W5 S5 i5 U) b3 ?soul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查找哪里出的问题,慢慢来试试。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| fhh 发表于 2022-4-29 08:06:14 | 显示全部楼层 IP:–浙江–杭州 移动
QQ66566 发表于 2022-4-29 06:39
, E4 V$ K1 _; P( S1 o. B4 w- L- {soul确实通过uboot修改了掉IP问题。不过没有开放。当时我测试过。具体改了啥不太清楚。还是要通过手册来查 ...

; c$ k6 b7 e7 T8 f. K是的。
5 M' h, B' E  D% S只要u-boot不初始化PHY,其上电以后的默认配置不被覆盖,就不会掉IP。
. K" F1 k5 @4 `4 V4 G  }; \但是代价就是U-boot无法使用网卡,以及这其实算是一种……“鸵鸟”解法?
) _  j5 A9 b5 Y' a我的解法是修改设备树,使得它被初始化后,再次把信号增益数据填入。9 q, v- U$ \& |9 ]# T2 t, _
我认为这样才算是这个问题的真正正确解法。

4

主题

71

回帖

280

积分

中级渣柚V1

积分
280
QQ
 楼主| fhh 发表于 2022-4-29 08:07:28 | 显示全部楼层 IP:–浙江–杭州 移动
本帖最后由 fhh 于 2022-4-29 08:16 编辑
3 T9 ?* {) K, K' E% ~' _) U
QQ66566 发表于 2022-4-29 06:314 h% `9 u, x8 X: P+ R& V
做设计这么多年,spi flash 从来没有出现过问题。所有spi flash故障都可以用其他问题来解释。
4 y5 T9 E  g3 C) ~; y3 t  x: T这个应该可 ...
# {6 h4 R# g% c" `  b
我的意思是,设备树中关于spi的分区配置错误,导致群晖把数据写入了其他的分区中。我在观察他的分区表的时候,发现u-boot中的分区配置,与手动dd出来的分区表……并不一致。
0 b# x0 g/ }2 \7 [$ j按照设备树中定义的分区表dd出来的分区,全都是无效数据。
% n3 n# w$ k; I, V$ q换而言之,u-boot通过设备树暴露给群晖的分区,本身就是错误的。( A3 A+ Z* l0 Y- l
我现在希望通过他的dump来分析u-boot和群晖究竟采取了哪一份分区表,以此来进行修复。
8 z* F6 f5 G! p1 {3 K, u# r
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-8-26 17:16 , Processed in 0.071530 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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