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.

(From OE-Core rev: 2fe667afbdc6880c377657b5ff27e6db3b6cbe77)

Signed-off-by: Joao Henrique Ferreira de Freitas <joaohf@gmail.com>

[edit to change the usage of IMAGE_FSTYPE to IS_VMDK]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Joao Henrique Ferreira de Freitas 2014-01-22 22:50:14 -08:00 committed by Richard Purdie
parent 7b171ed393
commit e40123a062
1 changed files with 8 additions and 10 deletions

View File

@ -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