3588 Ubuntu 重新分配分区指南
1 需求
改系统分区为:
EMMC:根分区20G,Swap8G,home10G,var20G
mSATA: data分区

2 思路
之前是整个根文件系统,使用打包脚本打包,编译时,根据参数表,将根分区打包到完整的镜像中。
现在需要修改打包脚本,将要分出来的各个分区分别打包,然后修改参数表,将这些img一起打包到完整的镜像中。
3 具体做法
3.1 修改根文件系统打包工具
- 修改完成的脚本 https://github.com/Witheart/hw_export_rootfs/tree/HomeAndVarSeparately
3.2 修改分区表和打包文件列表
diff --git a/device/rockchip/rk356x/parameter-buildroot-fit.txt b/device/rockchip/rk356x/parameter-buildroot-fit.txt
index 25fdc0248..f0e1f68bb 100644
--- a/device/rockchip/rk356x/parameter-buildroot-fit.txt
+++ b/device/rockchip/rk356x/parameter-buildroot-fit.txt
@@ -8,5 +8,5 @@ MACHINE: 0xffffffff
CHECK_MASK: 0x80
PWR_HLD: 0,0,A,0,1
TYPE: GPT
-CMDLINE: mtdparts=rk29xxnand:0x00002000@0x00004000(uboot),0x00002000@0x00006000(trust),0x00002000@0x00008000(misc),0x00020000@0x0000a000(boot),0x00020000@0x0002a000(recovery),0x00010000@0x0004a000(baseparameter),0x00020000@0x0005a000(resource),-@0x0007a000(rootfs:grow)
+CMDLINE: mtdparts=rk29xxnand:0x00002000@0x00004000(uboot),0x00002000@0x00006000(trust),0x00002000@0x00008000(misc),0x00020000@0x0000a000(boot),0x00020000@0x0002a000(recovery),0x00010000@0x0004a000(baseparameter),0x00020000@0x0005a000(resource),0x02800000@0x0007a000(var),0x01400000@0x0287a000(home),0x01000000@0x03c7a000(swap),-@0x04c7a000(rootfs:grow)
uuid:rootfs=614e0000-0000-4b53-8000-1d28000054a9
diff --git a/tools/linux/Linux_Pack_Firmware/rockdev/rk356x-package-file b/tools/linux/Linux_Pack_Firmware/rockdev/rk356x-package-file
index b5bc81296..37b10dd61 100644
--- a/tools/linux/Linux_Pack_Firmware/rockdev/rk356x-package-file
+++ b/tools/linux/Linux_Pack_Firmware/rockdev/rk356x-package-file
@@ -9,6 +9,8 @@ resource Image/resource.img
boot Image/boot.img
recovery Image/recovery.img
rootfs Image/rootfs.ext4
+home Image/home.img
+var Image/var.img
#oem Image/oem.img
#userdata Image/userdata.img
#backup RESERVED
这样打包出来的镜像,swap所在分区还未格式化为swap格式,只做了占位;同理,该分区表无法决定msata的内容,需要烧录开机后进行处理。
4 文件系统自动扩展
参考《Ubuntu根文件系统分区扩展指南 - 修订版》
5 开机初始化 mSATA 数据盘和 EMMC Swap 分区
参考《Linux 开机初始化 mSATA 数据盘和 EMMC Swap 分区》
6 修改fstab
$ cat /etc/fstab
PARTLABEL=home /home ext4 defaults 0 2
PARTLABEL=var /var ext4 defaults 0 2
PARTLABEL=swap none swap sw,nofail,x-systemd.device-timeout=5s 0 0
LABEL=data /data ext4 defaults,nofail,x-systemd.device-timeout=5s 0 2
留下评论