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 <[email protected]> > --- > 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 _______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
