分区表介绍
分区表简介
eMMC 包含 BOOT1、BOOT2、UDA (User Data Area)等物理分区。GPT 分区表是建立在 UDA 物理分区之上的逻辑结构,可通过该结构进一步划分出多个逻辑分区。用户通过了解分区表,可掌握系统基本组成和资源情况。
确认分区表配置
分区表配置保存在 buildroot/board/zhihe/common/images/ 路径中。用户可通过以下方法查看分区表配置。
-
打开镜像预处理脚本
buildroot/board/zhihe/common/post-build.sh,查看开发板和分区表的对应关系。 分区表现有 8G 和 32G 两种配置,分别对应gpt和gpt32g目录。if [ "$UBOOT_BOARD" = "a200-evb" ]; then
GPT_DIR="gpt"
elif [ "$UBOOT_BOARD" = "a210-evb" ]; then
GPT_DIR="gpt32g"
else
#The partition table supported by the board must be confirmed.
false
fi -
构建完成后,用户可在打印信息中确认当前的分区表配置。
>>> Create GPT image
Create disk(30064803840)
Write gpt to disk
Dump gpt.img
Update output.yml
Disk dev_mmc0blkp: 28 GiB, 30064803840 bytes, 58720320 sectors
分区表详细说明
文件说明
下面以 32G 配置为例,介绍配置文件各字段的功能,对应分区表文件buildroot/board/zhihe/common/images/gpt32/gpt_emmc.txt。
label: gpt
device: dev_mmc0blkp
unit: sectors
first-lba: 512KiB
last-lba: 28GiB
name=factory, start=512KiB, size= 32KiB, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4
name=uboot_env, start= 1MiB, size= 32KiB, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4
name=boot_a, start= 2MiB, size= 256MiB, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=04fb8c79-34ec-403e-ad5d-db205c76eff1
name=boot_b, size= 256MiB, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=999c1c6d-eb10-4656-a4ea-0bd5a88fa4e2
name=system_a, size= 3GiB, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=ff2a7ab6-5290-4d1c-bcb4-2b60f62ea961
name=system_b, size= 3GiB, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=3ee62a15-2457-4b7a-9e8e-785e1a9867f2
name=app_a, size= 19GiB, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=c2d963d5-5601-4f0b-9959-c6b543b40a41
name=app_b, size= 1GiB, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=d52e57e6-8bb7-4974-9282-fdecd05c7c92
name=home, type=933AC7E1-2EB4-4F13-B844-0E14E2AEF915, uuid=b8753fb5-3a4c-4de7-b6c0-4fd4a705f750
描述文件格式说明
-
label: gpt分区表为 GPT 模式。 -
device:设备名。 -
unit: sectors默认容量单位。 -
first-lba: 512KiB第一个分区可用的起点。 -
last-lba:7GiB可用最大容量。 -
name分区名称。 -
uuid分区标识符。 -
start分区开始字节。 -
size分区大小。
分区功能说明
-
factory工厂参数,主要保存产品化需要固定的参数,如产品序列号、MAC 地址等。保存数据格式与U-Boot相同,但提供更多的配置命令。 -
uboot_envU-Boot 环境变量。 -
boot_a启动分区。支持 AB 方式升级功能,实现零中断无缝升级,快速回滚,减少等待时间。 -
boot_b启动分区。支持 AB 方式升级功能,实现零中断无缝升级,快速回滚,减少等待时间。 -
system_a根文件系统。采用只读的 erofs 格式。通过 OverlayFS 技术与 app 分区合并为支持任意读写的根文件系统。清除 app 分区即可恢复 system 分区原始状态,保证系统可靠性。 -
system_b根文件系统。采用只读的 erofs 格式。通过 OverlayFS 技术与 app 分区合并为支持任意读写的根文件系统。清除 app 分区即可恢复 system 分区原始状态,保证系统可靠性。 -
app_aOverlay 分区。 -
app_bOverlay 分区。 -
home用户分区。
自定义分区表
用户可根据实际需求自定义分区表,适配不同的容量或调整分区大小,优化资源利用,提升灵活性。