1

我正在使用 Yocto,它是wic构建嵌入式 Linux 映像的工具。

wic配置文件如下所示:

part /boot --source bootimg-partition --ondisk mmcblk --fstype=msdos --label boot --align 1024 --fixed-size 64
part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root_a --fixed-size 256 --active
part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root_b --fixed-size 256
part /permanent-storage --ondisk mmcblk --fstype=ext4 --label permanent-storage --fixed-size 300
part swap --ondisk mmcblk --size 64 --label swap --fstype=swap

我将生成的映像刻录到我的 SD 卡并成功启动,并且有一个意外的小 (1K) 分区:

root@eval:/dev# ls -lrt /dev/mmcblk0*
brw-rw---- 1 root disk 179, 0 Feb 27 21:55 /dev/mmcblk0
brw-rw---- 1 root disk 179, 4 Feb 27 21:55 /dev/mmcblk0p4
brw-rw---- 1 root disk 179, 2 Feb 27 21:55 /dev/mmcblk0p2
brw-rw---- 1 root disk 179, 3 Feb 27 21:55 /dev/mmcblk0p3
brw-rw---- 1 root disk 179, 5 Feb 27 21:55 /dev/mmcblk0p5
brw-rw---- 1 root disk 179, 1 Feb 27 21:55 /dev/mmcblk0p1
brw-rw---- 1 root disk 179, 6 Feb 27 21:55 /dev/mmcblk0p6
root@eval:/dev# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
mmcblk0     179:0    0 59.6G  0 disk
|-mmcblk0p1 179:1    0   64M  0 part
|-mmcblk0p2 179:2    0  256M  0 part /
|-mmcblk0p3 179:3    0  256M  0 part
|-mmcblk0p4 179:4    0    1K  0 part
|-mmcblk0p5 179:5    0  300M  0 part
`-mmcblk0p6 179:6    0   64M  0 part

为什么 wic 创建这个分区,我怎样才能用我的 wic 文件摆脱它?谢谢。

4

1 回答 1

2

( mmcblk0p41K) 分区是扩展分区。当使用主引导记录 (MBR) 将存储分区为 4 个以上的分区时,必须使用 3 个主分区和 1 个扩展分区。这是因为最多有 4 个主分区。扩展分区可以包含多个逻辑分区。

mmcblk0         <- Entire Storage
|--mmcblk0p1    <- Primary Partition 1
|--mmcblk0p2    <- Primary Partition 2
|--mmcblk0p3    <- Primary Partition 3
|--mmcblk0p4    <- Extended Partition
   |--mmcblk0p5 <- Logical Partition 1
   |--mmcblk0p6 <- Logical Partition 2

这不是 Yocto 特有的。我使用 Buildroot 并有类似的布局。共同点是磁盘分区方法而不是 Linux 发行版。

于 2020-03-09T20:13:45.823 回答