Fixed
Created: Jul 2, 2013
Updated: Dec 3, 2018
Resolved Date: Dec 18, 2013
Previous ID: LIN5-5327
Found In Version: 6.0
Fix Version: 6.0.0.2
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.
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).