[OE-core] [PATCH 2/3] boot-directdisk: Scope HDDDIR and HDDIMG variables to avoid conflicts
Darren Hart
dvhart at linux.intel.com
Fri Jun 7 23:31:15 UTC 2013
On 05/08/2013 08:24 PM, Jonathan Liu wrote:
> These variables should not be shared with other image classes.
> The bootimg class also has an HDDDIR variable that could be overwritten
> if executing concurrently in the same image recipe.
>
Nice catch. Would you considering sending a patch against the bootimg
class as well?
Thanks,
Darren
> Signed-off-by: Jonathan Liu <net147 at gmail.com>
> ---
> meta/classes/boot-directdisk.bbclass | 25 ++++++++++++-------------
> 1 file changed, 12 insertions(+), 13 deletions(-)
>
> diff --git a/meta/classes/boot-directdisk.bbclass b/meta/classes/boot-directdisk.bbclass
> index aa172c6..9673760 100644
> --- a/meta/classes/boot-directdisk.bbclass
> +++ b/meta/classes/boot-directdisk.bbclass
> @@ -28,9 +28,6 @@ do_bootdirectdisk[depends] += "dosfstools-native:do_populate_sysroot \
> PACKAGES = " "
> EXCLUDE_FROM_WORLD = "1"
>
> -HDDDIR = "${S}/hdd/boot"
> -HDDIMG = "${S}/hdd.image"
> -
> BOOTDD_VOLUME_ID ?= "boot"
> BOOTDD_EXTRA_SPACE ?= "16384"
>
> @@ -43,14 +40,16 @@ SYSLINUX_TIMEOUT ?= "10"
> inherit syslinux
>
> build_boot_dd() {
> + HDDDIR="${S}/hdd/boot"
> + HDDIMG="${S}/hdd.image"
> 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_DATADIR}/syslinux/ldlinux.sys ${HDDDIR}/ldlinux.sys
> + 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_DATADIR}/syslinux/ldlinux.sys $HDDDIR/ldlinux.sys
>
> - BLOCKS=`du -bks ${HDDDIR} | cut -f 1`
> + BLOCKS=`du -bks $HDDDIR | cut -f 1`
> BLOCKS=`expr $BLOCKS + ${BOOTDD_EXTRA_SPACE}`
>
> # Ensure total sectors is an integral number of sectors per
> @@ -59,11 +58,11 @@ build_boot_dd() {
> # done in blocks, thus the mod by 16 instead of 32.
> BLOCKS=$(expr $BLOCKS + $(expr 16 - $(expr $BLOCKS % 16)))
>
> - mkdosfs -n ${BOOTDD_VOLUME_ID} -S 512 -C ${HDDIMG} $BLOCKS
> - mcopy -i ${HDDIMG} -s ${HDDDIR}/* ::/
> + mkdosfs -n ${BOOTDD_VOLUME_ID} -S 512 -C $HDDIMG $BLOCKS
> + mcopy -i $HDDIMG -s $HDDDIR/* ::/
>
> - syslinux ${HDDIMG}
> - chmod 644 ${HDDIMG}
> + syslinux $HDDIMG
> + chmod 644 $HDDIMG
>
> ROOTFSBLOCKS=`du -Lbks ${ROOTFS} | cut -f 1`
> TOTALSIZE=`expr $BLOCKS + $ROOTFSBLOCKS`
> @@ -83,7 +82,7 @@ build_boot_dd() {
>
> OFFSET=`expr $END2 / 512`
> dd if=${STAGING_DATADIR}/syslinux/mbr.bin of=$IMAGE conv=notrunc
> - dd if=${HDDIMG} of=$IMAGE conv=notrunc seek=1 bs=512
> + dd if=$HDDIMG of=$IMAGE conv=notrunc seek=1 bs=512
> dd if=${ROOTFS} of=$IMAGE conv=notrunc seek=$OFFSET bs=512
>
> cd ${DEPLOY_DIR_IMAGE}
>
--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Technical Lead - Linux Kernel
More information about the Openembedded-core
mailing list