如何挂载Bitbake构建输出的wic.bz2文件?
挂载Yocto wic.bz2镜像及容器化运行方案
一、wic.bz2镜像的解压与挂载
wic.bz2是压缩后的整盘镜像,虽主打SD卡烧录用途,但完全可以挂载查看内容,步骤如下:
- 解压压缩包:
bunzip2 <your-image-name>.wic.bz2,得到.wic格式的磁盘镜像文件
- 解压压缩包:
- 查看分区信息:
fdisk -l <your-image-name>.wic,输出会显示各分区的起始扇区(比如rootfs分区通常起始于2048扇区)
- 查看分区信息:
- 计算挂载偏移量:扇区默认512字节,偏移量 = 起始扇区数 × 512。例如起始扇区为2048时,偏移量是
2048*512=1048576
- 计算挂载偏移量:扇区默认512字节,偏移量 = 起始扇区数 × 512。例如起始扇区为2048时,偏移量是
- 挂载目标分区:
# 挂载rootfs分区到/mnt/yocto-root sudo mount -o loop,offset=1048576 <your-image-name>.wic /mnt/yocto-root # 挂载boot分区(假设起始扇区为8192) sudo mount -o loop,offset=$((8192*512)) <your-image-name>.wic /mnt/yocto-boot
WSL2环境下若遇到权限问题,直接用sudo执行即可;若loop设备不可用,先执行sudo modprobe loop加载模块。
二、更适合查看/容器化的替代文件
你没选错构建产物,但Yocto在tmp/deploy/images/raspberrypi3-64/目录下还有更便捷的文件:
- rootfs.tar.xz:单独的根文件系统压缩包,无需处理分区即可直接解压查看:
tar -xf rootfs.tar.xz -C /mnt/yocto-root - 若要在Docker中运行,这个文件是最优选择,步骤如下:
- 导入为Docker镜像:
cat rootfs.tar.xz | docker import - yocto-rpi3-64:latest - 解决架构兼容问题(WSL2多为x86_64,树莓派3-64是arm64):
sudo apt install qemu-user-static - 启动容器:
docker run -it --rm yocto-rpi3-64:latest /bin/sh
- 导入为Docker镜像:
三、WSL2专属注意事项
- 挂载镜像前确保loop模块已加载,执行
sudo modprobe loop即可 - 运行arm64容器时,必须提前安装
qemu-user-static,否则会触发架构不兼容错误
内容的提问来源于stack exchange,提问作者Jamie Nicholl-Shelley
相关产品推荐
相关产品推荐

