linux – 如何创建没有root权限的多分区SD磁盘映像?

前端之家收集整理的这篇文章主要介绍了linux – 如何创建没有root权限的多分区SD磁盘映像?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否有可能在没有root权限的情况下在 linux中创建完整的SD映像(即没有环回挂载)?我正在寻找一种自动化嵌入式系统映像创建的方法.该映像应包括特定的分区结构和格式化为FAT的分区,以及使用构建系统中的文件填充的ext2.

解决方法

我正在尝试做同样的事情.我的第一次尝试使用了环回块设备,但我找到了需要环回的两个步骤的解决方法.

环回的步骤

这就是我正在做的事情($1是图像文件名,$2是文件大小):

>使用dd if = / dev / zero of = $1 bs = 512 count = $(($2/512))创建归零磁盘映像文件
>使用parted -s $mklabel msdos创建分区表
>创建具有parted -s $1的分区“mkpart primary 0%100%”
>将分区附加到循环sudo losetup –find $1 –offset $OFFSET_TO_PARTITION_BYTES
>使用mkfs.ext4和mkfs.ext4制作文件系统-I 128 -L BOOT -b 2048 -O ^ has_journal / dev / loop0 $SIZE_IN_2048_BLOCKS
> mount / dev / loop0

使用环回是因为

>在第4步& 5,mkfs没有偏移选项,因此使用losetup来解决该问题
>在步骤6中,mount允许使用操作系统ext4驱动程序

Looback解决方法

对第4步和第2步的狡猾解决方法5:

> xmount –in dd –out vdi disk.img mnt /
> vdfuse -f mnt / disk.vdi -r ./mnt2
> ./mnt2现在将有两个文件:EntireDisk和Partition1
>在./mnt2/Partition1处指向mkfs.ext4

第6步的解决方案:

>按照步骤5的所有步骤进行操作
>使用fuseext2挂载./mnt2/Partition1

警告

警告:ext4支持不会在他们的文档中公布,并且尝试mount会发出警告:

This is experimental code,opening rw a real file system could be
dangerous for your data. Please add "-o ro" if you want to open the file
system image in read-only mode,or "-o rw+" if you accept the risk to test
this module

更新

vdfuse应该能够在没有xmount帮助的情况下挂载原始映像,但是有一个错误忽略了RAW选项.

我在这里跟踪并修复了一个补丁:

https://bugs.launchpad.net/ubuntu/+source/virtualbox-ose/+bug/1019075

猜你在找的Linux相关文章