为什么嵌入式linux(yocto)不能使用rootfs分区的全部内存?

为什么嵌入式linux(yocto)不能使用rootfs分区的全部内存?

我已经使用 yocto 构建了 Linux 映像并将其部署在 IMX6qpsabreauto 板上。

文件系统部署在格式化为 ext4 的 SD 卡的第二个分区上。

一切似乎都运行良好,除了我有 15GB 的 rootfs 分区和系统实际上只使用了大约 1GB 并且已经耗尽空间。

我不明白为什么会这样。Imx6 似乎可以看到分区上的所有内存。

root@imx6qpsabreauto:~# fdisk -l

Disk /dev/mmcblk2: 15.9 GB, 15931539456 bytes
4 heads, 16 sectors/track, 486192 cylinders
Units = cylinders of 64 * 512 = 32768 bytes

        Device Boot      Start         End      Blocks  Id System
/dev/mmcblk2p1              33       15296      488448   c Win95 FAT32 (LBA)
Partition 1 does not end on cylinder boundary
/dev/mmcblk2p2           15297      486192    15068672  83 Linux
Partition 2 does not end on cylinder boundary

root@imx6qpsabreauto:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root               976.6M    906.5M    384.0K 100% /
devtmpfs                847.3M         0    847.3M   0% /dev
tmpfs                  1007.7M    172.0K   1007.5M   0% /run
tmpfs                  1007.7M    240.0K   1007.4M   0% /var/volatile

root@imx6qpsabreauto:~# cat /etc/mtab 
/dev/root / ext4 rw,relatime,data=ordered 0 0
devtmpfs /dev devtmpfs rw,relatime,size=867636k,nr_inodes=216909,mode=755 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
tmpfs /run tmpfs rw,nosuid,nodev,mode=755 0 0
tmpfs /var/volatile tmpfs rw,relatime 0 0
devpts /dev/pts devpts rw,relatime,gid=5,mode=620 0 0

UPD:问题是我复制了整个图像,但最好只复制图像中的文件

 mkdir ~/mnt
 mkdir ~/mnt/target
 mkdir ~/mnt/yocto
 sudo mount /dev/sdf2 ~/mnt/target/
 sudo mount -o loop tmp/deploy/images/imx6qpsabreauto/fsl-image-machine-test-imx6qpsabreauto.ext4 ~/mnt/yocto/
 sudo cp -a ~/mnt/yocto/* ~/mnt/target
 sudo umount ~/mnt/target
 sudo umount ~/mnt/yocto

答案1

您是如何在 SD 卡上部署 rootfs 的?您复制的是 EXT4 映像吗/dev/mmcblkp2

SD 卡分区大小为 15 GB,但您在其上复制的实际 EXT4 文件系统映像可能只有 1 GB?

相关内容