* [RFC PATCH 0/1] [RFC][PATCH][v2] enhance boot-directdisk.bbclass to generate .vmdk image @ 2012-01-18 14:18 Dexuan Cui 2012-01-18 14:18 ` [RFC PATCH 1/1][v2] self-hosted-image: generate the .hdddirect and .vmdk image files Dexuan Cui 0 siblings, 1 reply; 8+ messages in thread From: Dexuan Cui @ 2012-01-18 14:18 UTC (permalink / raw) To: openembedded-core, dvhart Please review the following changes for suitability for inclusion. If you have any objections or suggestions for improvement, please respond to the patches. If you agree with the changes, please provide your Acked-by. The following changes since commit 468998cddbe1a803096c9b357e1b5daa3b7e8c2e: command.py: add parseConfigurationFiles API (2012-01-06 16:01:44 +0000) are available in the git repository at: git://git.pokylinux.org/poky-contrib dcui/self-hosted-v7 http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dcui/self-hosted-v7 Dexuan Cui (1): self-hosted-image: generate the .hdddirect and .vmdk image files 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(-) -- 1.7.6 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [RFC PATCH 1/1][v2] self-hosted-image: generate the .hdddirect and .vmdk image files 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 ` Dexuan Cui 2012-01-18 16:10 ` Saul Wold 2012-01-18 16:32 ` Darren Hart 0 siblings, 2 replies; 8+ messages in thread From: Dexuan Cui @ 2012-01-18 14:18 UTC (permalink / raw) To: openembedded-core, dvhart 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"? 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" 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" + 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" -- 1.7.6 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [RFC PATCH 1/1][v2] self-hosted-image: generate the .hdddirect and .vmdk image files 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 1 sibling, 2 replies; 8+ messages in thread From: Saul Wold @ 2012-01-18 16:10 UTC (permalink / raw) To: Patches and discussions about the oe-core layer; +Cc: dvhart 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"? Moreever, .hddimg is not that > compatibible with some devices and we hope to have the most compatibility. > Please use a spell checker here suitable Moreover compatible > 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" > > 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 Why make this a "double negative", Why not have a CREATE_VMDK check? > + ${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" > + I thought this was to become ?= > 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" ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [RFC PATCH 1/1][v2] self-hosted-image: generate the .hdddirect and .vmdk image files 2012-01-18 16:10 ` Saul Wold @ 2012-01-19 1:21 ` Cui, Dexuan 2012-01-19 1:30 ` Cui, Dexuan 1 sibling, 0 replies; 8+ messages in thread From: Cui, Dexuan @ 2012-01-19 1:21 UTC (permalink / raw) To: Saul Wold, Patches and discussions about the oe-core layer Cc: dvhart@linux.intel.com Saul Wold wrote on 2012-01-19: > 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"? Moreever, .hddimg is not that >> compatibible with some devices and we hope to have the most >> compatibility. >> > Please use a spell checker here > suitable > Moreover > compatible I'm very sorry about this... I'll be more careful in future. :-) >> 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" >> >> 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 > Why make this a "double negative", Why not have a CREATE_VMDK check? > >> + ${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" >> + > I thought this was to become ?= There is some side effort with ?=. Darren expressed his concern in a later mail. I have to think more about 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" Thanks, -- Dexuan ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [RFC PATCH 1/1][v2] self-hosted-image: generate the .hdddirect and .vmdk image files 2012-01-18 16:10 ` Saul Wold 2012-01-19 1:21 ` Cui, Dexuan @ 2012-01-19 1:30 ` Cui, Dexuan 1 sibling, 0 replies; 8+ messages in thread From: Cui, Dexuan @ 2012-01-19 1:30 UTC (permalink / raw) To: Saul Wold, Patches and discussions about the oe-core layer Cc: dvhart@linux.intel.com Saul Wold wrote on 2012-01-19: >> + if [ "${NOVMDK}" != "1" ] ; then > Why make this a "double negative", Why not have a CREATE_VMDK check? > >> + ${STAGING_BINDIR_NATIVE}/qemu-img convert -O vmdk \ >> + ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.hdddirect \ >> + ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.vmdk >> + fi >> } Hi Saul, I thought it's better to create .vmdk by default. So do you think this is better? if [ "${CREATE_VMDK}" == "1" ] ; then #create the .vmdk image. fi In this way we don't create .vmdk by default and I'll define CREATE_VMDK = "1" in self-hosted-image.bb to generate the .vmdk. Thanks, -- Dexuan ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [RFC PATCH 1/1][v2] self-hosted-image: generate the .hdddirect and .vmdk image files 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-18 16:32 ` Darren Hart 2012-01-19 1:49 ` Cui, Dexuan 1 sibling, 1 reply; 8+ messages in thread From: Darren Hart @ 2012-01-18 16:32 UTC (permalink / raw) To: Dexuan Cui; +Cc: openembedded-core 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 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [RFC PATCH 1/1][v2] self-hosted-image: generate the .hdddirect and .vmdk image files 2012-01-18 16:32 ` Darren Hart @ 2012-01-19 1:49 ` Cui, Dexuan 2012-02-07 18:52 ` Saul Wold 0 siblings, 1 reply; 8+ messages in thread From: Cui, Dexuan @ 2012-01-19 1:49 UTC (permalink / raw) To: Darren Hart; +Cc: openembedded-core@lists.openembedded.org Darren Hart wrote on 2012-01-19: > 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. Good suggestion. >> 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. Ok, I'll add the new dependency into the existing do_bootdirectdisk[depends] rather than creating a new += line. >> >> 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. My change (the below line) is only in qemu.inc + APPEND_${MACHINE} = "root=/dev/hda2" So n450 is not affected here. However, I do need to think more about the interact with others, e.g., in the case of n450, the APPEND in boot-directdisk.bbclass actually overrides the value assigned in atom-pc.conf -- this is an existing issue. I think nobody tested this before, so we didn't notice this. I'll try to work out a new version. > >> 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" > Thanks, -- Dexuan ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [RFC PATCH 1/1][v2] self-hosted-image: generate the .hdddirect and .vmdk image files 2012-01-19 1:49 ` Cui, Dexuan @ 2012-02-07 18:52 ` Saul Wold 0 siblings, 0 replies; 8+ messages in thread From: Saul Wold @ 2012-02-07 18:52 UTC (permalink / raw) To: Patches and discussions about the oe-core layer; +Cc: Darren Hart Dexuan, Will you an updated patch for this sometime soon? Thanks Sau! On 01/18/2012 05:49 PM, Cui, Dexuan wrote: > Darren Hart wrote on 2012-01-19: >> 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. > Good suggestion. > >>> 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. > Ok, I'll add the new dependency into the existing > do_bootdirectdisk[depends] rather than creating a new += line. > >>> >>> 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. > My change (the below line) is only in qemu.inc > + APPEND_${MACHINE} = "root=/dev/hda2" > So n450 is not affected here. > However, I do need to think more about the interact with others, e.g., > in the case of n450, the APPEND in boot-directdisk.bbclass actually > overrides the value assigned in atom-pc.conf -- this is an existing issue. > I think nobody tested this before, so we didn't notice this. > > I'll try to work out a new version. > >> >>> 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" >> > > Thanks, > -- Dexuan > > > > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core > ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2012-02-07 19:00 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 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 2012-01-19 1:49 ` Cui, Dexuan 2012-02-07 18:52 ` Saul Wold
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox