Wind River Support Network


LIN6-2576 : wrlinux 5.0.1. - problems building a vmdk type image

Created: Jul 2, 2013    Updated: Dec 3, 2018
Resolved Date: Dec 18, 2013
Previous ID: LIN5-5327
Found In Version: 6.0
Fix Version:
Severity: Standard
Applicable for: Wind River Linux 6
Component/s: Build & Config


please refer to the steps to reproduce section for details and fixes


apply the suggested modifications.

Steps to Reproduce

when attempting to build the vmdk image (by enabling the IMAGE_FSTYPE=vmdk in local.conf), the build failed. This was resolved as follows:

diff --git a/meta/classes/boot-directdisk.bbclass b/meta/classes/boot-directdisk.bbclass

index 4ae2dbe..d265485 100644

--- a/meta/classes/boot-directdisk.bbclass
+++ b/meta/classes/boot-directdisk.bbclass
@@ -46,7 +46,7 @@ build_boot_dd() {

        install -d ${HDDDIR}
-       install -m 0644 ${STAGING_DIR_HOST}/kernel/bzImage ${HDDDIR}/vmlinuz
+       install -m 0644 ${STAGING_KERNEL_DIR}/bzImage ${HDDDIR}/vmlinuz

(And later on in the file)

boot-installdisk.bbclass-	parted $IMAGE print
boot-installdisk.bbclass:	OFFSET=`expr $END2 / 512`
boot-installdisk.bbclass-	dd if=${STAGING_DATADIR}/syslinux/mbr.bin of=$IMAGE conv=notrunc
boot-installdisk.bbclass-	dd if=${HDDIMG} of=$IMAGE conv=notrunc seek=1 bs=512

Secondly, vesamenu.32c did not copy to the image. We had to make some modifications to the buildsystem as follows:

Add missing lines to layers/oe-core/meta/classes/boot-directdisk.bbclass in the build_boot_dd() function:

build_boot_dd() {
        install -d ${HDDDIR}
        install -m 0644 ${STAGING_KERNEL_DIR}/bzImage ${HDDDIR}/vmlinuz
        install -m 0644 ${S}/syslinux.cfg ${HDDDIR}/syslinux.cfg
        install -m 444 ${STAGING_LIBDIR}/syslinux/ldlinux.sys ${HDDDIR}/ldlinux.sys

+        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
     install -m 0644 ${SYSLINUX_SPLASH} ${HDDDIR}${SYSLINUXDIR}/splash.lss
+                fi
+        fi

Finally, when we tried to boot the image using qemu, qemu would not boot as it was looking for sda2 instead of hda2 for the root partition. The root partition was not in sda2 as syslinux.cfg defined it as being in hda2. We were able to fix this issue by first copying image-vmdk.bbclass to layers/local/classes and then modifying the file to use sda instead of hda. It should be noted that we were passing the -hda option to qemu before this and it was still not booting from the hda disktype (and was still looking for the sda disktype).

Other Downloads

Live chat