首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
请不要把任何和邀请码有关的内容发到 NAS 节点。
邀请码相关的内容请使用
/go/in
节点。
如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
V2EX
›
NAS
群晖分区设计和启动的原理
huangya
·
17 天前
· 615 次点击
最近在研究群晖的内部工作原理,研究对象是 ds214play 。这个产品有个 nor flash 。根据启动 log 我们可以看到 nor flash 的分区表:
[ 9.756626] m25p80 spi1.0: found n25q064, expected m25p80
[ 9.762133] m25p80 spi1.0: n25q064 (8192 Kbytes)
[ 9.766993] Creating 6 MTD partitions on "spi1.0":
[ 9.771814] 0x000000000000-0x0000000d0000 : "RedBoot"
[ 9.781681] 0x0000000d0000-0x0000003d0000 : "zImage"
[ 9.797184] 0x0000003d0000-0x0000007d0000 : "rd.gz"
[ 9.823147] 0x0000007d0000-0x0000007e0000 : "vendor"
[ 9.828372] vender Mac0 address : 00:11:32:42:cb:4f
[ 9.834018] vender Mac1 doesn't set ucSum:0x00 Buf:0x00 Sum:0.
[ 9.841107] vender Mac2 doesn't set ucSum:0x00 Buf:0x00 Sum:0.
[ 9.847013] vender Mac3 doesn't set ucSum:0x00 Buf:0x00 Sum:0.
[ 9.852842] serial number='1520LTN597904'
[ 9.860050] 0x0000007e0000-0x0000007f0000 : "RedBoot Config"
[ 9.876496] 0x0000007f0000-0x000000800000 : "FIS directory"
里面有存放 kernel ( zImage)和 ramdisk(rd.gz)。我解压了群晖的官方的 pat 文件,发现结构如图。
checksum.syno
diskaction.tgz
DiskCompatibilityDB.tar
DSM_DS214play_25556.pat
FileStation-i686-1.2.8-0293.spk
hda1.tgz
indexdb.txz
LogCenter-i686-1.1.5-0129.spk
OAuthService-i686-1.0.4-0031.spk
rd.bin
RedBoot.msys
smartctl
strings
synofwupgrade
synohdpack_img.txz
Synology.sig
SynologyUniversalSearch-i686-1.5.1-0316.spk
updater
USBCopy-i686-2.1.1-0081.spk
VERSION
zImage
我的问题是:
1.pat 文件里面的 zImage 和 rd.bin 应该就是对应的 nor flash 分区中的 zImage 和 rd.gz 吧?
2.hda1.tgz 就是安装到硬盘中的第一个分区中 rootfs ,是吧?
3.ds214play 升级的时候,kernel ( nor flash 分区表中的 zImage ) ,ramdisk ( nor flash 分区表中的 rd.gz )也会升级吗?如果中途断电,会怎样?会不会升级 kernel 的时候,断电导致变砖?我似乎也没有看到群晖有什么双分区保险机制。还是群晖在 load kernel 之前的 bootloader 里面做了类似能够进制恢复模式的设计?
目前尚无回复
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
3716 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 116ms ·
UTC 10:36
·
PVG 18:36
·
LAX 02:36
·
JFK 05:36
Developed with
CodeLauncher
♥ Do have faith in what you're doing.