diff options
author | Jason Wessel <jason.wessel@windriver.com> | 2013-09-17 13:32:17 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-09-26 17:27:23 +0100 |
commit | 63d164b755b984021f7e3cdba7280918ded6e821 (patch) | |
tree | d788c10282650ecc6254e74119360f29e83d624e | |
parent | 17d74fbd09e377e100423e1a73b9d4ce761a21d7 (diff) | |
download | openembedded-core-63d164b755b984021f7e3cdba7280918ded6e821.tar.gz openembedded-core-63d164b755b984021f7e3cdba7280918ded6e821.tar.bz2 openembedded-core-63d164b755b984021f7e3cdba7280918ded6e821.zip |
boot-directdisk.bbclass: Fix media generation problems with vmdk
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>
-rw-r--r-- | meta/classes/boot-directdisk.bbclass | 16 | ||||
-rw-r--r-- | meta/classes/bootimg.bbclass | 8 | ||||
-rw-r--r-- | meta/classes/grub-efi.bbclass | 13 | ||||
-rw-r--r-- | meta/classes/syslinux.bbclass | 12 |
4 files changed, 26 insertions, 23 deletions
diff --git a/meta/classes/boot-directdisk.bbclass b/meta/classes/boot-directdisk.bbclass index 4b9d7bd128..c58c6f0c53 100644 --- a/meta/classes/boot-directdisk.bbclass +++ b/meta/classes/boot-directdisk.bbclass @@ -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` diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass index c61c4e985e..395085d0ab 100644 --- a/meta/classes/bootimg.bbclass +++ b/meta/classes/bootimg.bbclass @@ -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 diff --git a/meta/classes/grub-efi.bbclass b/meta/classes/grub-efi.bbclass index 591bee25ef..96fb98b043 100644 --- a/meta/classes/grub-efi.bbclass +++ b/meta/classes/grub-efi.bbclass @@ -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() { diff --git a/meta/classes/syslinux.bbclass b/meta/classes/syslinux.bbclass index 91b973188c..944bd92da2 100644 --- a/meta/classes/syslinux.bbclass +++ b/meta/classes/syslinux.bbclass @@ -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() { |