It saves vars in ${DEPLOY_DIR_IMAGE}/qemu-boot, and scritps/runqemu will
invoke it, so that runqemu can work easier.The class will be inherited when QEMU_BOOT_SUPPORTED = "1", default 0 which is set in bitbake.conf. Signed-off-by: Robert Yang <[email protected]> --- meta/classes/image.bbclass | 3 +++ meta/classes/qemu-boot.bbclass | 39 +++++++++++++++++++++++++++++++++++++++ meta/conf/bitbake.conf | 3 +++ 3 files changed, 45 insertions(+) create mode 100644 meta/classes/qemu-boot.bbclass diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 4542e95..2985d5e 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -22,6 +22,9 @@ INHIBIT_DEFAULT_DEPS = "1" TESTIMAGECLASS = "${@base_conditional('TEST_IMAGE', '1', 'testimage-auto', '', d)}" inherit ${TESTIMAGECLASS} +QEMU_BOOT_CLASS = "${@base_conditional('QEMU_BOOT_SUPPORTED', '1', 'qemu-boot', '', d)}" +inherit ${QEMU_BOOT_CLASS} + # IMAGE_FEATURES may contain any available package group IMAGE_FEATURES ?= "" IMAGE_FEATURES[type] = "list" diff --git a/meta/classes/qemu-boot.bbclass b/meta/classes/qemu-boot.bbclass new file mode 100644 index 0000000..efee12c --- /dev/null +++ b/meta/classes/qemu-boot.bbclass @@ -0,0 +1,39 @@ +QEMU_NAME ?= "" +QEMU_MAHINE_SUBTYPE ?= "" +QEMU_CPU_SUBTYPE ?= "" +QEMU_CPU_SUBTYPE_KVM ?= "" +QEMU_MEM ?= "-m 256" +QEMU_SYSTEM_OPTIONS ?= "" +QEMU_SECOND_SERIAL_OPT ?= "-serial mon:stdio -serial null" +QEMU_KERNEL_OPTIONS ?= "" +QEMU_DEFAULT_KERNEL ?= "${KERNEL_IMAGETYPE}-${MACHINE}.bin" +QEMU_DEFAULT_FSTYPE ?= "ext4" +QEMU_DTB ?= "" +QEMU_UI_OPTIONS ?= "-show-cursor -usb -usbdevice tablet" + +QEMU_OPTIONS ?= "${QEMU_SYSTEM_OPTIONS} ${QEMU_MEM} ${QEMU_MAHINE_SUBTYPE}" + +do_qemu_vars[dirs] = "${DEPLOY_DIR_IMAGE}" +do_qemu_vars() { +cat > ${DEPLOY_DIR_IMAGE}/qemu-boot <<_EOF +QEMU_NAME="${QEMU_NAME}" +QEMU_OPTIONS="${QEMU_OPTIONS}" +TUNE_ARCH="${TUNE_ARCH}" +QEMU_DEFAULT_KERNEL="${QEMU_DEFAULT_KERNEL}" +QEMU_DEFAULT_FSTYPE="${QEMU_DEFAULT_FSTYPE}" +QEMU_MEM="${QEMU_MEM}" +QEMU_CPU_SUBTYPE="${QEMU_CPU_SUBTYPE}" +QEMU_CPU_SUBTYPE_KVM="${QEMU_CPU_SUBTYPE_KVM}" +QEMU_SECOND_SERIAL_OPT="${QEMU_SECOND_SERIAL_OPT}" +QEMU_KERNEL_OPTIONS="${QEMU_KERNEL_OPTIONS}" +DEPLOY_DIR_IMAGE="${DEPLOY_DIR_IMAGE}" +MACHINE="${MACHINE}" +STAGING_DIR_NATIVE="${STAGING_DIR_NATIVE}" +STAGING_BINDIR_NATIVE="${STAGING_BINDIR_NATIVE}" +STAGING_DIR_HOST="${STAGING_DIR_HOST}" +QEMU_DTB="${QEMU_DTB}" +QEMU_UI_OPTIONS="${QEMU_UI_OPTIONS}" +_EOF +} + +addtask do_qemu_vars before do_build diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 1c4175f..6e4865c 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -818,3 +818,6 @@ BB_SIGNATURE_EXCLUDE_FLAGS ?= "doc deps depends \ MLPREFIX ??= "" MULTILIB_VARIANTS ??= "" + +# Supported run by qemu or not +QEMU_BOOT_SUPPORTED ?= "0" -- 2.7.4 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
