![使用 wic 创建的磁盘映像的所有权](https://linux22.com/image/137537/%E4%BD%BF%E7%94%A8%20wic%20%E5%88%9B%E5%BB%BA%E7%9A%84%E7%A3%81%E7%9B%98%E6%98%A0%E5%83%8F%E7%9A%84%E6%89%80%E6%9C%89%E6%9D%83.png)
我在尝试在 SD 卡上写入图像时遇到问题。该图像是由 Wic 工具生成的:
wic create sdimage-8G.wks -e gnuradio-dev-image -o images/$MACHINE
其中gnuradio-dev-image
是要使用工件的图像的名称,images/$MACHINE
是输出目录的名称,sdimage-8G.wks
是 kickstart 文件,这里是:
# short-description: Create SD card image with a boot partition
# long-description: Creates a partitioned SD card image. Boot files
# are located in the first vfat partition.
part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 4 --size 16
part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4 --size 5500
这实际上是 Yocto 项目的一部分。映像似乎已正确部署,BOOT 分区 ( /dev/sda1
) 具有内核/设备树/引导加载程序文件,ROOTFS ( /dev/sda2
) 也很好,除非所有权问题。
在将映像添加到 SD 卡之前,我使用磁盘应用程序将其完全擦除,弹出它,重新插入,然后运行以下命令:
sudo dd bs=4M if=my-image.direct of=/dev/sda
工作完成后,如果我使用 检查根文件系统的所有者ls -l
,我可以看到它属于我(用户)而不是 root。
这会导致只读文件系统,然后不可启动......
有人已经遇到同样的问题了吗?
我现在无法使用我的开发机器,所以我无法分享确切的输出,ls -l
但我可以说的是,当我在已安装的 FS 内部更改整个 FS 的所有者时sudo chown -R root:root *
,该卡将变得可引导。