フリースケールのVariscite VAR-SOM-MX6用に私自身のIMAGE_FSTYPES=sdcard
イメージを生成することを検討しています。私はmeta-fsl-arm/classes/image_types_fsl.bbclass
クラスをコピーし、2つではなく3つのパーティションになるように少し修正しました。私は、ファイルがブートパーティションまたはルートファイルシステムのファイルと並んでいないようにsdcardにファイルを追加できるように、FAT(vfat)としてフォーマットされた3番目のパーティションを含めることを検討しています。Vaultcite iMX6のYocto sdcardイメージのパーティションをフォーマットする方法
私は新しいパーティションを作成generate_imx_sdcard()
機能への追加を行いました:私は、新しいパーティションサイズ${THIRD_PARTITION}
を追加する場所の合計SDカード側は、これを含めることで、これを収納することを保証している
generate_imx_sdcard() {
# Create partition table
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)
# Line below is the new partition I have added
parted -s ${SDCARD} unit KiB mkpart primary fat32 $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ $ROOTFS_SIZE) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ $ROOTFS_SIZE \+ ${THIRD_PARTITION})
parted ${SDCARD} print
総SDカード(デバイス)サイズ:
IMAGE_CMD_sdcard() {
if [ -z "${SDCARD_ROOTFS}" ]; then
bberror "SDCARD_ROOTFS is undefined. To use sdcard image from Freescale's BSP it needs to be defined."
exit 1
fi
# Align boot partition and calculate total SD card image size
BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - ${BOOT_SPACE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT})
SDCARD_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + $ROOTFS_SIZE + ${IMAGE_ROOTFS_ALIGNMENT} + ${THIRD_PARTITION})
私は私の層をbitbakeし、SDカードに出力SDカードイメージを書き込む場合は、パーティションが適切なサイズと利用可能ですが、私が持っている質問/問題は、Hであります私はこの新しく作成されたパーティションをフォーマットしますか?
これを行う通常の方法は、私がデバイスを提供するmkfs.vfat -n "Partition Name" /dev/sdd
の行に沿ったものであると理解していますが、デバイス識別子がないので、Yoctoでこれをどのように行うべきかわかりません。${SDCARD}
変数。パーティションがext4ファイルシステムとしてフォーマットされていれば、フォーマットを行うためにオフセットを提供することは可能ですが、vfatとしてフォーマットしたければこれを行うオプションがないように思えます。
ご協力いただければ幸いです。