Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Darren Hart <dvhart@linux.intel.com>
To: Dexuan Cui <dexuan.cui@intel.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [RFC PATCH 1/1][v2] self-hosted-image: generate the .hdddirect and .vmdk image files
Date: Wed, 18 Jan 2012 08:32:11 -0800	[thread overview]
Message-ID: <4F16F40B.8080706@linux.intel.com> (raw)
In-Reply-To: <84776a87449ee57fcf3a568562cb0957da04f8bc.1326894448.git.dexuan.cui@intel.com>



On 01/18/2012 06:18 AM, Dexuan Cui wrote:
> The self-hosted-image work needs a live-bootable and r/w-able image format.
> The existing .iso isn't ok since it's readonly.
> The existing .hddimg is not a good choice, since it has a two-option(boot,
> install) syslinux function that we don't need: we don't hope a user to be
> potentially able to "install", and I think it may be not suitble to hack
> build_hddimg to hide the "install"?

bootimg.bbclass should probably be renamed liveimg.bbclass to keep it's
meaning clear.

> Moreever, .hddimg is not that
> compatibible with some devices and we hope to have the most compatibility.
> 
> So I think the .hdddirect format is a good choice and I made this patch to
> adopt it and also enhanced boot-directdisk.bbclass to generate .vmdk image so
> we can run it on vmware, too.
> BTW, currently self-hosted-image is the only user of boot-directdisk.bbclass;
> with the adoption of .hdddirect and .vmdk formats, a user can still use
> "IMAGE_FSTYPES += 'live'" to generate the .iso and .hddimg format.
> 
> Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
> ---
>  meta/classes/boot-directdisk.bbclass          |    8 ++++++++
>  meta/conf/machine/include/qemu.inc            |    2 ++
>  meta/recipes-core/images/self-hosted-image.bb |   11 +++++++++--
>  3 files changed, 19 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/classes/boot-directdisk.bbclass b/meta/classes/boot-directdisk.bbclass
> index 8879ba8..7f14225 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"

As a point of style, just add the new dependencies to the preceding
assignment rather than creating a new assignment.

>  
>  PACKAGES = " "
>  EXCLUDE_FROM_WORLD = "1"
> @@ -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/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc
> index 3cebfab..a5b563b 100644
> --- a/meta/conf/machine/include/qemu.inc
> +++ b/meta/conf/machine/include/qemu.inc
> @@ -5,6 +5,8 @@ MACHINE_FEATURES = "kernel26 apm alsa pcmcia bluetooth irda usbgadget screen"
>  
>  IMAGE_FSTYPES ?= "tar.bz2 ext3"
>  
> +APPEND_${MACHINE} = "root=/dev/hda2"
> +

This concerns me. How does this interact with other recipes and configs
that may set this? What happens if the machine config adds a console
parameter to the APPEND? For example, the meta-intel n450 does the
following:

APPEND += "console=ttyS0,115200 console=tty0"

If I understand correctly, your assignment above will override this.

>  ROOT_FLASH_SIZE = "280"
>  
>  # Don't include kernels in standard images
> 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



  parent reply	other threads:[~2012-01-18 16:40 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-18 14:18 [RFC PATCH 0/1] [RFC][PATCH][v2] enhance boot-directdisk.bbclass to generate .vmdk image Dexuan Cui
2012-01-18 14:18 ` [RFC PATCH 1/1][v2] self-hosted-image: generate the .hdddirect and .vmdk image files Dexuan Cui
2012-01-18 16:10   ` Saul Wold
2012-01-19  1:21     ` Cui, Dexuan
2012-01-19  1:30     ` Cui, Dexuan
2012-01-18 16:32   ` Darren Hart [this message]
2012-01-19  1:49     ` Cui, Dexuan
2012-02-07 18:52       ` Saul Wold

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F16F40B.8080706@linux.intel.com \
    --to=dvhart@linux.intel.com \
    --cc=dexuan.cui@intel.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox