]> code.ossystems Code Review - openembedded-core.git/commitdiff
boot-directdisk.bbclass: Fix media generation problems with vmdk
authorJason Wessel <jason.wessel@windriver.com>
Tue, 17 Sep 2013 13:32:17 +0000 (13:32 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 26 Sep 2013 16:27:23 +0000 (17:27 +0100)
The various populate methods need to accept a path as an argument vs
using hard expanded variables.  In the case of the boot-directdisk
class it uses a different path for HDDDIR but it gets eclipsed by the
the class definition at the point in time ${HDDDIR} gets expanded.

The logical fix is to pass the arguments to the functions as opposed
to using globally expanded variables from the class definitions.

This patch changes 3 things:
1) syslinux_hddimg_populate takes an argument for the destination
2) syslinux_iso_populate takes an argument for the destination
3) populate is changed to boot_direct_populate because there
   was a conflict with it overriding the populate in bootimg.bbclass

[YOCTO #3994]

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/boot-directdisk.bbclass
meta/classes/bootimg.bbclass
meta/classes/grub-efi.bbclass
meta/classes/syslinux.bbclass

index 4b9d7bd128d80befd54064a70decbb6eb32f409f..c58c6f0c53bd34017acb6a0535bd9eb00cf8a637 100644 (file)
@@ -61,15 +61,15 @@ DISK_SIGNATURE ?= "${DISK_SIGNATURE_GENERATED}"
 SYSLINUX_ROOT ?= "root=/dev/sda2"
 SYSLINUX_TIMEOUT ?= "10"
 
-populate() {
-       DEST=$1
-       install -d ${DEST}
+boot_direct_populate() {
+       dest=$1
+       install -d $dest
 
        # Install bzImage, initrd, and rootfs.img in DEST for all loaders to use.
-       install -m 0644 ${STAGING_KERNEL_DIR}/bzImage ${DEST}/vmlinuz
+       install -m 0644 ${STAGING_KERNEL_DIR}/bzImage $dest/vmlinuz
 
        if [ -n "${INITRD}" ] && [ -s "${INITRD}" ]; then
-               install -m 0644 ${INITRD} ${DEST}/initrd
+               install -m 0644 ${INITRD} $dest/initrd
        fi
 
 }
@@ -79,13 +79,13 @@ build_boot_dd() {
        HDDIMG="${S}/hdd.image"
        IMAGE=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hdddirect
 
-       populate ${HDDDIR}
+       boot_direct_populate $HDDDIR
 
        if [ "${PCBIOS}" = "1" ]; then
-               syslinux_hddimg_populate
+               syslinux_hddimg_populate $HDDDIR
        fi
        if [ "${EFI}" = "1" ]; then
-               grubefi_hddimg_populate
+               grubefi_hddimg_populate $HDDDIR
        fi
 
        BLOCKS=`du -bks $HDDDIR | cut -f 1`
index c61c4e985edecee1efe3a02a9978c9723935d0b6..395085d0ab8598085916ea3b32ef3b26b14d0d1b 100644 (file)
@@ -86,10 +86,10 @@ build_iso() {
        populate ${ISODIR}
 
        if [ "${PCBIOS}" = "1" ]; then
-               syslinux_iso_populate
+               syslinux_iso_populate ${ISODIR}
        fi
        if [ "${EFI}" = "1" ]; then
-               grubefi_iso_populate
+               grubefi_iso_populate ${ISODIR}
                build_fat_img ${EFIIMGDIR} ${ISODIR}/efi.img
        fi
 
@@ -203,10 +203,10 @@ build_hddimg() {
                populate ${HDDDIR}
 
                if [ "${PCBIOS}" = "1" ]; then
-                       syslinux_hddimg_populate
+                       syslinux_hddimg_populate ${HDDDIR}
                fi
                if [ "${EFI}" = "1" ]; then
-                       grubefi_hddimg_populate
+                       grubefi_hddimg_populate ${HDDDIR}
                fi
 
                build_fat_img ${HDDDIR} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hddimg
index 591bee25ef357f906dae5e9a77510bda630a6c8a..96fb98b043eaca9697dede2ca5b8d73fb2bc654f 100644 (file)
@@ -42,19 +42,20 @@ grubefi_populate() {
 }
 
 grubefi_iso_populate() {
-       grubefi_populate ${ISODIR}
+       iso_dir=$1
+       grubefi_populate $iso_dir
        # Build a EFI directory to create efi.img
        mkdir -p ${EFIIMGDIR}/${EFIDIR}
-       cp ${ISODIR}/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}
-       cp ${ISODIR}/vmlinuz ${EFIIMGDIR}
+       cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}
+       cp $iso_dir/vmlinuz ${EFIIMGDIR}
        echo "EFI\\BOOT\\${GRUB_IMAGE}" > ${EFIIMGDIR}/startup.nsh
-       if [ -f "${ISODIR}/initrd" ] ; then
-               cp ${ISODIR}/initrd ${EFIIMGDIR}
+       if [ -f "$iso_dir/initrd" ] ; then
+               cp $iso_dir/initrd ${EFIIMGDIR}
        fi
 }
 
 grubefi_hddimg_populate() {
-       grubefi_populate ${HDDDIR}
+       grubefi_populate $1
 }
 
 python build_grub_cfg() {
index 91b973188c330ac5097935f04e616945905a418b..944bd92da256930c92c2fde0892e945a2ac055ca 100644 (file)
@@ -53,14 +53,16 @@ syslinux_populate() {
 }
 
 syslinux_iso_populate() {
-       syslinux_populate ${ISODIR} ${ISOLINUXDIR} isolinux.cfg
-       install -m 0644 ${STAGING_DATADIR}/syslinux/isolinux.bin ${ISODIR}${ISOLINUXDIR}
-       install -m 0644 ${STAGING_DATADIR}/syslinux/ldlinux.c32 ${ISODIR}${ISOLINUXDIR}
+       iso_dir=$1
+       syslinux_populate $iso_dir ${ISOLINUXDIR} isolinux.cfg
+       install -m 0644 ${STAGING_DATADIR}/syslinux/isolinux.bin $iso_dir${ISOLINUXDIR}
+       install -m 0644 ${STAGING_DATADIR}/syslinux/ldlinux.c32 $iso_dir${ISOLINUXDIR}
 }
 
 syslinux_hddimg_populate() {
-       syslinux_populate ${HDDDIR} ${SYSLINUXDIR} syslinux.cfg
-       install -m 0444 ${STAGING_DATADIR}/syslinux/ldlinux.sys ${HDDDIR}${SYSLINUXDIR}/ldlinux.sys
+       hdd_dir=$1
+       syslinux_populate $hdd_dir ${SYSLINUXDIR} syslinux.cfg
+       install -m 0444 ${STAGING_DATADIR}/syslinux/ldlinux.sys $hdd_dir${SYSLINUXDIR}/ldlinux.sys
 }
 
 syslinux_hddimg_install() {