You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何扩大Yocto构建的Raspberry Pi CM3+镜像根分区容量?

解决Yocto Dunfell构建RPi CM3+镜像根分区过小及烧录停滞问题

一、确认Yocto根分区配置是否生效

  • 检查local.conf中的参数设置,注意IMAGE_ROOTFS_SIZE单位是KB,比如要设置为2GB,需写:
    IMAGE_ROOTFS_SIZE = "2097152"  # 2*1024*1024 KB = 2GB
    
    直接指定IMAGE_ROOTFS_SIZE更直观,避免单独用IMAGE_ROOTFS_EXTRA_SPACE叠加计算出错。
  • 构建时查看bitbake输出日志,搜索rootfs size相关内容,确认是否采用了你设置的分区大小。
  • 构建完成后,用fdisk -l your-image.sdimg检查镜像内的分区信息,确认根分区(通常是第二个分区)的大小是否符合预期。如果还是173MB左右,说明配置未生效,需排查是否有其他层的配置文件覆盖了该参数。

二、解决balenaEtcher烧录停滞问题

  • 验证镜像完整性:对比构建目录tmp/deploy/images/raspberrypi-cm3/下的*.sdimg.sha256sum文件和本地镜像的校验值,确保镜像未损坏:
    sha256sum your-image.sdimg
    
  • 换用dd命令烧录:balenaEtcher有时会因缓存或设备兼容性问题停滞,改用dd命令更可靠:
    # 先通过lsblk确认eMMC设备路径(如/dev/sdb)
    lsblk
    # 替换为你的镜像和设备路径执行烧录
    sudo dd if=your-image.sdimg of=/dev/sdX bs=4M status=progress conv=fsync
    
  • 检查硬件连接:如果多次烧录失败,重新插拔eMMC模块或读卡器,用fdisk /dev/sdX确认设备是否能正常识别,排除硬件连接问题。

三、备选方案:烧录后手动扩展根分区

如果构建镜像始终无法调整分区大小,可先烧录原镜像,再在RPi CM3+上手动扩展:

  1. 启动设备后,执行fdisk /dev/mmcblk0修改分区表:
    • 输入d删除原根分区(通常是分区2)
    • 输入n创建新的主分区,起始扇区沿用原分区的起始位置,结束扇区选默认(占满剩余空间)
    • 输入w保存分区表
  2. 重启设备后,执行resize2fs /dev/mmcblk0p2扩展文件系统
  3. 用df -h确认根分区大小已扩展到16GB

内容的提问来源于stack exchange,提问作者dpcivl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 17:37:10