按SolidRun教程烧录Yocto镜像到SD卡遇错求助
问题分析与解决步骤
1. dd 报错:/mnt/F 是目录
dd的of参数需要指向SD卡的块设备文件(比如/dev/sdb),而不是你挂载SD卡的目录。挂载目录是文件系统的访问入口,不能直接用来写入镜像。- 修复步骤:
- 先卸载SD卡:
sudo umount /mnt/F - 用
lsblk命令确认SD卡对应的块设备(注意区分系统盘,避免误写),比如结果里的/dev/sdb - 修改命令指向块设备:
bunzip2 -c tmp/deploy/images/imx8mpsolidrun/core-image-minimal-imx8mpsolidrun.wic.bz2 | sudo dd of=/dev/sdb bs=1M status=progress - 写入完成后可重新挂载SD卡验证:
sudo mount /dev/sdb1 /mnt/F
- 先卸载SD卡:
2. bunzip2 报错:文件不是普通文件
- Yocto构建完成后,
tmp/deploy/images下的镜像文件通常是软链接,指向带有版本号的实际镜像文件,bunzip2默认无法直接处理软链接。 - 修复方法:
- 先查看软链接指向的真实文件:
ls -l tmp/deploy/images/imx8mpsolidrun/core-image-minimal-imx8mpsolidrun.wic.bz2 - 直接使用真实文件路径执行命令,或者用
cat读取链接内容后再解压:cat tmp/deploy/images/imx8mpsolidrun/core-image-minimal-imx8mpsolidrun.wic.bz2 | bunzip2 -c | sudo dd of=/dev/sdb bs=1M status=progress - 如果是WSL权限问题,可在命令前加
sudo确保读取权限。
- 先查看软链接指向的真实文件:
内容的提问来源于stack exchange,提问作者Juanma
相关产品推荐
相关产品推荐

