From: Joao Henrique Ferreira de Freitas Date: Thu, 23 Jan 2014 06:50:14 +0000 (-0800) Subject: boot-directdisk: fix the support of vmdk X-Git-Tag: 2015-4~3952 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=2fe667afbdc6880c377657b5ff27e6db3b6cbe77;p=openembedded-core.git boot-directdisk: fix the support of vmdk Previous change (086ce22b88f5ef5f75a83119a32c8b3fdcfa296d) broke the creating of vmdk images. This protects shell expansion variables and let dd generate the image to be transformed to vmdk by image-vmdk.class. Signed-off-by: Joao Henrique Ferreira de Freitas [edit to change the usage of IMAGE_FSTYPE to IS_VMDK] Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- diff --git a/meta/classes/boot-directdisk.bbclass b/meta/classes/boot-directdisk.bbclass index 32776669d7..42b341536a 100644 --- a/meta/classes/boot-directdisk.bbclass +++ b/meta/classes/boot-directdisk.bbclass @@ -61,6 +61,8 @@ DISK_SIGNATURE ?= "${DISK_SIGNATURE_GENERATED}" SYSLINUX_ROOT ?= "root=/dev/sda2" SYSLINUX_TIMEOUT ?= "10" +IS_VMDK = '${@base_contains("IMAGE_FSTYPES", "vmdk", "true", "false", d)}' + boot_direct_populate() { dest=$1 install -d $dest @@ -88,10 +90,10 @@ build_boot_dd() { grubefi_hddimg_populate $HDDDIR fi - if [ ${IMAGE_FSTYPE} = "vmdk" ]; then - if [ x${AUTO_SYSLINUXMENU} = x1 ] ; then + if [ "${IS_VMDK}" = "true" ]; then + if [ "x${AUTO_SYSLINUXMENU}" = "x1" ] ; then install -m 0644 ${STAGING_DIR}/${MACHINE}/usr/share/syslinux/vesamenu.c32 ${HDDDIR}${SYSLINUXDIR}/vesamenu.c32 - if [ x${SYSLINUX_SPLASH} != x ] ; then + if [ "x${SYSLINUX_SPLASH}" != "x" ] ; then install -m 0644 ${SYSLINUX_SPLASH} ${HDDDIR}${SYSLINUXDIR}/splash.lss fi fi @@ -129,9 +131,7 @@ build_boot_dd() { parted $IMAGE unit B mkpart primary ext2 ${END2}B ${END3}B parted $IMAGE set 1 boot on - if [ ${IMAGE_FSTYPE} != "vmdk" ]; then - parted $IMAGE print - fi + parted $IMAGE print awk "BEGIN { printf \"$(echo ${DISK_SIGNATURE} | fold -w 2 | tac | paste -sd '' | sed 's/\(..\)/\\x&/g')\" }" | \ dd of=$IMAGE bs=1 seek=440 conv=notrunc @@ -141,10 +141,8 @@ build_boot_dd() { dd if=${STAGING_DATADIR}/syslinux/mbr.bin of=$IMAGE conv=notrunc fi - if [ ${IMAGE_FSTYPE} != "vmdk" ]; then - dd if=$HDDIMG of=$IMAGE conv=notrunc seek=1 bs=512 - dd if=${ROOTFS} of=$IMAGE conv=notrunc seek=$OFFSET bs=512 - fi + dd if=$HDDIMG of=$IMAGE conv=notrunc seek=1 bs=512 + dd if=${ROOTFS} of=$IMAGE conv=notrunc seek=$OFFSET bs=512 cd ${DEPLOY_DIR_IMAGE} rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.hdddirect