Wind River Support Network

HomeDefectsLIN5-5315
Fixed

LIN5-5315 : wrlinux 5.0.1. - problems building a vmdk type image

Created: Jul 2, 2013    Updated: Dec 19, 2017
Resolved Date: Sep 23, 2013
Found In Version: 5.0.1
Fix Version: 5.0.1.8
Severity: Standard
Applicable for: Wind River Linux 5
Component/s: Build & Config

Description

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

Workaround

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() {
        IMAGE=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hdddirect

        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-
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() {
        IMAGE=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hdddirect
    
        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
Online