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....@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