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


_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to