[OE-core] [RFC PATCH 1/1] self-hosted-image: generate the .hdddirect and .vmdk image files
Darren Hart
dvhart at linux.intel.com
Thu Jan 12 19:00:34 UTC 2012
On 01/10/2012 10:53 AM, Dexuan Cui wrote:
> Signed-off-by: Dexuan Cui <dexuan.cui at intel.com>
A couple additional thoughts about the boot-directdisk class in general:
So build_boot_dd needs a careful audit to ensure the various dd commands do not
stomp on eachother iirc, the dd of syslinux/mbr.bin was stomping on the
partition table or some such.
Also note that it uses "mkdosfs -d" which we have purged (and it aint coming
back if my NACK is worth anything ;-). Sounds like we need to abstract building
msdos images into an msdosfs.bbclass. No reason to duplicate all the fatfs
overhead calculations I did yesterday (See the patch I sent yesterday to
bootimg.bbclass).
--
Darren
> ---
> meta/classes/boot-directdisk.bbclass | 10 +++++++++-
> meta/recipes-core/images/self-hosted-image.bb | 11 +++++++++--
> 2 files changed, 18 insertions(+), 3 deletions(-)
>
> diff --git a/meta/classes/boot-directdisk.bbclass b/meta/classes/boot-directdisk.bbclass
> index 8879ba8..83ec929 100644
> --- a/meta/classes/boot-directdisk.bbclass
> +++ b/meta/classes/boot-directdisk.bbclass
> @@ -24,6 +24,7 @@ do_bootdirectdisk[depends] += "dosfstools-native:do_populate_sysroot \
> syslinux-native:do_populate_sysroot \
> parted-native:do_populate_sysroot \
> mtools-native:do_populate_sysroot "
> +do_bootdirectdisk[depends] += "qemu-native:do_populate_sysroot"
>
> PACKAGES = " "
> EXCLUDE_FROM_WORLD = "1"
> @@ -38,7 +39,7 @@ BOOTDD_EXTRA_SPACE ?= "16384"
>
> AUTO_SYSLINUXCFG = "1"
> LABELS = "boot"
> -APPEND = "root=/dev/sda2"
> +APPEND = "root=/dev/hda2"
> TIMEOUT = "10"
> SYSLINUXCFG = "${HDDDIR}/syslinux.cfg"
> SYSLINUXMENU = "${HDDDIR}/menu"
> @@ -50,6 +51,7 @@ build_boot_dd() {
>
> install -d ${HDDDIR}
> install -m 0644 ${STAGING_DIR_HOST}/kernel/bzImage ${HDDDIR}/vmlinuz
> + install -m 0644 ${S}/syslinux.cfg ${HDDDIR}/syslinux.cfg
> install -m 444 ${STAGING_LIBDIR}/syslinux/ldlinux.sys ${HDDDIR}/ldlinux.sys
>
> BLOCKS=`du -bks ${HDDDIR} | cut -f 1`
> @@ -83,6 +85,12 @@ build_boot_dd() {
> cd ${DEPLOY_DIR_IMAGE}
> rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.hdddirect
> ln -s ${IMAGE_NAME}.hdddirect ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.hdddirect
> +
> + if [ "${NOVMDK}" != "1" ] ; then
> + ${STAGING_BINDIR_NATIVE}/qemu-img convert -O vmdk \
> + ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.hdddirect \
> + ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.vmdk
> + fi
> }
>
> python do_bootdirectdisk() {
> diff --git a/meta/recipes-core/images/self-hosted-image.bb b/meta/recipes-core/images/self-hosted-image.bb
> index 111c057..df6c81f 100644
> --- a/meta/recipes-core/images/self-hosted-image.bb
> +++ b/meta/recipes-core/images/self-hosted-image.bb
> @@ -6,6 +6,13 @@ POKY_EXTRA_INSTALL = "\
>
> IMAGE_FEATURES += "x11-mini"
>
> -inherit core-image
> +# Needed by boot-directdisk
> +ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_BASENAME}-${MACHINE}.ext3"
>
> -PR = "r2"
> +inherit core-image boot-directdisk
> +
> +do_bootimg[depends] += "${INITRD_IMAGE}:do_rootfs"
> +do_bootimg[depends] += "${IMAGE_BASENAME}:do_rootfs"
> +do_bootdirectdisk[depends] += "${PN}:do_rootfs"
> +
> +PR = "r3"
--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
More information about the Openembedded-core
mailing list