[OE-core] [PATCH] mkefidisk.sh: Allow using a loopback mounted file

Darren Hart dvhart at linux.intel.com
Thu Sep 26 22:45:04 UTC 2013


On Thu, 2013-09-26 at 17:34 -0500, Jason Wessel wrote:
> There is no reason not allow writing of direct boot disk images for

Nit:                    ^ to

> testing with simulators.  The easy way is to add loop back writing
> capabilities.


Just note here that the /dev/loop device has the same partition prefix
as mmc devices and requires special mkfs arguments.

> Example:
>   qemu-img create -f raw bigdisk 4G
>   dev=`sudo losetup -f`
>   sudo losetup $dev bigdisk
>   mkefidisk.sh $dev tmp-eglibc/deploy/images/qemux86/core-image-minimal-qemux86.hddimg /dev/sda
>   sudo losetup -d $dev
> 
> Signed-off-by: Jason Wessel <jason.wessel at windriver.com>
> ---
>  scripts/contrib/mkefidisk.sh |    9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/scripts/contrib/mkefidisk.sh b/scripts/contrib/mkefidisk.sh
> index af06b4b..224a146 100755
> --- a/scripts/contrib/mkefidisk.sh
> +++ b/scripts/contrib/mkefidisk.sh
> @@ -142,7 +142,7 @@ SWAP_START=$((ROOTFS_END))
>  
>  # MMC devices use a partition prefix character 'p'
>  PART_PREFIX=""
> -if [ ! "${DEVICE#/dev/mmcblk}" = "${DEVICE}" ]; then
> +if [ ! "${DEVICE#/dev/mmcblk}" = "${DEVICE}" ] || [ ! "${TARGET_DEVICE#/dev/loop}" = "${DEVICE}" ]; then

I think you meant to use "${DEVICE#/dev/loop}" here? Not TARGET_DEVICE?

--
Darren

>  	PART_PREFIX="p"
>  fi
>  BOOTFS=$DEVICE${PART_PREFIX}1
> @@ -197,7 +197,12 @@ unmount_device
>  #
>  echo ""
>  echo "Formatting $BOOTFS as vfat..."
> -mkfs.vfat $BOOTFS -n "efi"
> +if [ ! "${DEVICE#/dev/loop}" = "${DEVICE}" ]; then
> +	mkfs.vfat -I $BOOTFS -n "efi"
> +else
> +	mkfs.vfat $BOOTFS -n "efi"
> +
> +fi
>  
>  echo "Formatting $ROOTFS as ext3..."
>  mkfs.ext3 $ROOTFS -L "root"

-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel





More information about the Openembedded-core mailing list