マウントせずにファイルイメージパーティションでmkfsを実行するには?

マウントせずにファイルイメージパーティションでmkfsを実行するには?

空のファイルを作成しています。

dd if=/dev/zero of=${SDCARD} bs=1 count=0 seek=$(expr 1024 \* ${SDCARD_SIZE})

...その後、ドライブイメージに変換します...

parted -s ${SDCARD} mklabel msdos

...そしてそこにパーティションを作成する

parted -s ${SDCARD} unit KiB mkpart primary fat32 ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED})
parted -s ${SDCARD} unit KiB mkpart primary $(expr  ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ $ROOTFS_SIZE)

どのように使用しますかmkfs.extmkfs.vfat いいえこのイメージをインストールしますか?

ベストアンサー1

高度なツールやルートアクセスを必要としない複数のパーティションを持つイメージを作成するソリューションは、まずファイルシステムを作成してから接続することです。

truncate -s $IMAGE_ROOTFS_ALIGNMENT disk
truncate -s $BOOT_SPACE_ALIGNED part1
mkfs.fat part1
cat part1 >>disk
truncate -s $ROOTFS_SIZE part2
mkfs.ext4 part2
cat part2 >>disk

次に、パーティションを実行partedまたは作成します。fdisk

このアプローチの欠点は、結果画像がリーンではないということである。

おすすめ記事