* [PATCH 1/2] image: Support for qcow2
@ 2015-07-23 14:32 Christian Ziethén
2015-07-23 14:32 ` [PATCH 2/2] boot-directdisk: Make kernel image inclusion conditional Christian Ziethén
2015-08-17 10:54 ` [PATCH 1/2] image: Support for qcow2 Christian Ziethén
0 siblings, 2 replies; 4+ messages in thread
From: Christian Ziethén @ 2015-07-23 14:32 UTC (permalink / raw)
To: openembedded-core
Add support for qcow2 image format. Implemented in the same way as
the previously existing vmdk and vdi solutions.
Signed-off-by: Christian Ziethén <christian.ziethen@linaro.org>
---
meta/classes/boot-directdisk.bbclass | 2 +-
meta/classes/image-vm.bbclass | 12 ++++++++++--
meta/classes/image.bbclass | 2 +-
meta/classes/image_types.bbclass | 5 +++--
meta/classes/sanity.bbclass | 4 ++++
5 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/meta/classes/boot-directdisk.bbclass b/meta/classes/boot-directdisk.bbclass
index c576523..d256fff 100644
--- a/meta/classes/boot-directdisk.bbclass
+++ b/meta/classes/boot-directdisk.bbclass
@@ -63,7 +63,7 @@ DISK_SIGNATURE ?= "${DISK_SIGNATURE_GENERATED}"
SYSLINUX_ROOT ?= "root=/dev/sda2"
SYSLINUX_TIMEOUT ?= "10"
-IS_VM = '${@bb.utils.contains_any("IMAGE_FSTYPES", ["vmdk" ,"vdi"], "true", "false", d)}'
+IS_VM = '${@bb.utils.contains_any("IMAGE_FSTYPES", ["vmdk", "vdi", "qcow2"], "true", "false", d)}'
boot_direct_populate() {
dest=$1
diff --git a/meta/classes/image-vm.bbclass b/meta/classes/image-vm.bbclass
index fdfd14f..28519c8 100644
--- a/meta/classes/image-vm.bbclass
+++ b/meta/classes/image-vm.bbclass
@@ -14,7 +14,8 @@ inherit boot-directdisk
IMAGE_TYPEDEP_vmdk = "ext3"
IMAGE_TYPEDEP_vdi = "ext3"
-IMAGE_TYPES_MASKED += "vmdk vdi"
+IMAGE_TYPEDEP_qcow2 = "ext3"
+IMAGE_TYPES_MASKED += "vmdk vdi qcow2"
create_vmdk_image () {
qemu-img convert -O vmdk ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hdddirect ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.vmdk
@@ -26,11 +27,18 @@ create_vdi_image () {
ln -sf ${IMAGE_NAME}.vdi ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.vdi
}
+create_qcow2_image () {
+ qemu-img convert -O qcow2 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hdddirect ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.qcow2
+ ln -sf ${IMAGE_NAME}.qcow2 ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.qcow2
+}
+
python do_vmimg() {
if 'vmdk' in d.getVar('IMAGE_FSTYPES', True):
bb.build.exec_func('create_vmdk_image', d)
if 'vdi' in d.getVar('IMAGE_FSTYPES', True):
- bb.build.exec_func('create_vdi_image', d)
+ bb.build.exec_func('create_vdi_image', d)
+ if 'qcow2' in d.getVar('IMAGE_FSTYPES', True):
+ bb.build.exec_func('create_qcow2_image', d)
}
addtask vmimg after do_bootdirectdisk before do_build
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index e2995e2..ff2ed0d 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -132,7 +132,7 @@ def build_live(d):
IMAGE_TYPE_live = "${@build_live(d)}"
inherit ${IMAGE_TYPE_live}
-IMAGE_TYPE_vm = '${@bb.utils.contains_any("IMAGE_FSTYPES", ["vmdk", "vdi"], "image-vm", "", d)}'
+IMAGE_TYPE_vm = '${@bb.utils.contains_any("IMAGE_FSTYPES", ["vmdk", "vdi", "qcow2"], "image-vm", "", d)}'
inherit ${IMAGE_TYPE_vm}
python () {
diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass
index 588a474..cc789fc 100644
--- a/meta/classes/image_types.bbclass
+++ b/meta/classes/image_types.bbclass
@@ -13,7 +13,7 @@ def imagetypes_getdepends(d):
deps = []
ctypes = d.getVar('COMPRESSIONTYPES', True).split()
for type in (d.getVar('IMAGE_FSTYPES', True) or "").split():
- if type in ["vmdk", "vdi", "live", "iso", "hddimg"]:
+ if type in ["vmdk", "vdi", "qcow2", "live", "iso", "hddimg"]:
type = "ext3"
basetype = type
for ctype in ctypes:
@@ -187,6 +187,7 @@ IMAGE_TYPES = " \
cpio cpio.gz cpio.xz cpio.lzma cpio.lz4 \
vmdk \
vdi \
+ qcow2 \
elf \
"
@@ -213,5 +214,5 @@ DEPLOYABLE_IMAGE_TYPES ?= "hddimg iso"
IMAGE_EXTENSION_live = "hddimg iso"
# The IMAGE_TYPES_MASKED variable will be used to mask out from the IMAGE_FSTYPES,
-# images that will not be built at do_rootfs time: vmdk, vdi, hddimg, iso, etc.
+# images that will not be built at do_rootfs time: vmdk, vdi, qcow2, hddimg, iso, etc.
IMAGE_TYPES_MASKED ?= ""
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 2855941..6ad620b 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -835,6 +835,10 @@ def check_sanity_everybuild(status, d):
if 'vdi' in d.getVar('IMAGE_FSTYPES', True) and 'live' in d.getVar('IMAGE_FSTYPES', True):
status.addresult("Error, IMAGE_FSTYPES vdi and live can't be built together\n")
+ # Check qcow2 and live can't be built together.
+ if 'qcow2' in d.getVar('IMAGE_FSTYPES', True) and 'live' in d.getVar('IMAGE_FSTYPES', True):
+ status.addresult("Error, IMAGE_FSTYPES qcow2 and live can't be built together\n")
+
# Check /bin/sh links to dash or bash
real_sh = os.path.realpath('/bin/sh')
if not real_sh.endswith('/dash') and not real_sh.endswith('/bash'):
--
2.1.4
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH 2/2] boot-directdisk: Make kernel image inclusion conditional.
2015-07-23 14:32 [PATCH 1/2] image: Support for qcow2 Christian Ziethén
@ 2015-07-23 14:32 ` Christian Ziethén
2015-08-17 10:55 ` Christian Ziethén
2015-08-17 10:54 ` [PATCH 1/2] image: Support for qcow2 Christian Ziethén
1 sibling, 1 reply; 4+ messages in thread
From: Christian Ziethén @ 2015-07-23 14:32 UTC (permalink / raw)
To: openembedded-core
When building for qcow2 and a dummy kernel, avoid installing
a non existing bzImage.
Signed-off-by: Christian Ziethén <christian.ziethen@linaro.org>
---
meta/classes/boot-directdisk.bbclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/meta/classes/boot-directdisk.bbclass b/meta/classes/boot-directdisk.bbclass
index d256fff..600e21a 100644
--- a/meta/classes/boot-directdisk.bbclass
+++ b/meta/classes/boot-directdisk.bbclass
@@ -70,7 +70,9 @@ boot_direct_populate() {
install -d $dest
# Install bzImage, initrd, and rootfs.img in DEST for all loaders to use.
- install -m 0644 ${DEPLOY_DIR_IMAGE}/bzImage $dest/vmlinuz
+ if [ -e ${DEPLOY_DIR_IMAGE}/bzImage ]; then
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/bzImage $dest/vmlinuz
+ fi
# initrd is made of concatenation of multiple filesystem images
if [ -n "${INITRD}" ]; then
--
2.1.4
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH 2/2] boot-directdisk: Make kernel image inclusion conditional.
2015-07-23 14:32 ` [PATCH 2/2] boot-directdisk: Make kernel image inclusion conditional Christian Ziethén
@ 2015-08-17 10:55 ` Christian Ziethén
0 siblings, 0 replies; 4+ messages in thread
From: Christian Ziethén @ 2015-08-17 10:55 UTC (permalink / raw)
To: openembedded-core
ping
On 2015-07-23 16:32, Christian Ziethén wrote:
> When building for qcow2 and a dummy kernel, avoid installing
> a non existing bzImage.
>
> Signed-off-by: Christian Ziethén <christian.ziethen@linaro.org>
> ---
> meta/classes/boot-directdisk.bbclass | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes/boot-directdisk.bbclass b/meta/classes/boot-directdisk.bbclass
> index d256fff..600e21a 100644
> --- a/meta/classes/boot-directdisk.bbclass
> +++ b/meta/classes/boot-directdisk.bbclass
> @@ -70,7 +70,9 @@ boot_direct_populate() {
> install -d $dest
>
> # Install bzImage, initrd, and rootfs.img in DEST for all loaders to use.
> - install -m 0644 ${DEPLOY_DIR_IMAGE}/bzImage $dest/vmlinuz
> + if [ -e ${DEPLOY_DIR_IMAGE}/bzImage ]; then
> + install -m 0644 ${DEPLOY_DIR_IMAGE}/bzImage $dest/vmlinuz
> + fi
>
> # initrd is made of concatenation of multiple filesystem images
> if [ -n "${INITRD}" ]; then
> --
> 2.1.4
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/2] image: Support for qcow2
2015-07-23 14:32 [PATCH 1/2] image: Support for qcow2 Christian Ziethén
2015-07-23 14:32 ` [PATCH 2/2] boot-directdisk: Make kernel image inclusion conditional Christian Ziethén
@ 2015-08-17 10:54 ` Christian Ziethén
1 sibling, 0 replies; 4+ messages in thread
From: Christian Ziethén @ 2015-08-17 10:54 UTC (permalink / raw)
To: openembedded-core
ping
On 2015-07-23 16:32, Christian Ziethén wrote:
> Add support for qcow2 image format. Implemented in the same way as
> the previously existing vmdk and vdi solutions.
>
> Signed-off-by: Christian Ziethén <christian.ziethen@linaro.org>
> ---
> meta/classes/boot-directdisk.bbclass | 2 +-
> meta/classes/image-vm.bbclass | 12 ++++++++++--
> meta/classes/image.bbclass | 2 +-
> meta/classes/image_types.bbclass | 5 +++--
> meta/classes/sanity.bbclass | 4 ++++
> 5 files changed, 19 insertions(+), 6 deletions(-)
>
> diff --git a/meta/classes/boot-directdisk.bbclass b/meta/classes/boot-directdisk.bbclass
> index c576523..d256fff 100644
> --- a/meta/classes/boot-directdisk.bbclass
> +++ b/meta/classes/boot-directdisk.bbclass
> @@ -63,7 +63,7 @@ DISK_SIGNATURE ?= "${DISK_SIGNATURE_GENERATED}"
> SYSLINUX_ROOT ?= "root=/dev/sda2"
> SYSLINUX_TIMEOUT ?= "10"
>
> -IS_VM = '${@bb.utils.contains_any("IMAGE_FSTYPES", ["vmdk" ,"vdi"], "true", "false", d)}'
> +IS_VM = '${@bb.utils.contains_any("IMAGE_FSTYPES", ["vmdk", "vdi", "qcow2"], "true", "false", d)}'
>
> boot_direct_populate() {
> dest=$1
> diff --git a/meta/classes/image-vm.bbclass b/meta/classes/image-vm.bbclass
> index fdfd14f..28519c8 100644
> --- a/meta/classes/image-vm.bbclass
> +++ b/meta/classes/image-vm.bbclass
> @@ -14,7 +14,8 @@ inherit boot-directdisk
>
> IMAGE_TYPEDEP_vmdk = "ext3"
> IMAGE_TYPEDEP_vdi = "ext3"
> -IMAGE_TYPES_MASKED += "vmdk vdi"
> +IMAGE_TYPEDEP_qcow2 = "ext3"
> +IMAGE_TYPES_MASKED += "vmdk vdi qcow2"
>
> create_vmdk_image () {
> qemu-img convert -O vmdk ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hdddirect ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.vmdk
> @@ -26,11 +27,18 @@ create_vdi_image () {
> ln -sf ${IMAGE_NAME}.vdi ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.vdi
> }
>
> +create_qcow2_image () {
> + qemu-img convert -O qcow2 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.hdddirect ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.qcow2
> + ln -sf ${IMAGE_NAME}.qcow2 ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.qcow2
> +}
> +
> python do_vmimg() {
> if 'vmdk' in d.getVar('IMAGE_FSTYPES', True):
> bb.build.exec_func('create_vmdk_image', d)
> if 'vdi' in d.getVar('IMAGE_FSTYPES', True):
> - bb.build.exec_func('create_vdi_image', d)
> + bb.build.exec_func('create_vdi_image', d)
> + if 'qcow2' in d.getVar('IMAGE_FSTYPES', True):
> + bb.build.exec_func('create_qcow2_image', d)
> }
>
> addtask vmimg after do_bootdirectdisk before do_build
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index e2995e2..ff2ed0d 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -132,7 +132,7 @@ def build_live(d):
> IMAGE_TYPE_live = "${@build_live(d)}"
> inherit ${IMAGE_TYPE_live}
>
> -IMAGE_TYPE_vm = '${@bb.utils.contains_any("IMAGE_FSTYPES", ["vmdk", "vdi"], "image-vm", "", d)}'
> +IMAGE_TYPE_vm = '${@bb.utils.contains_any("IMAGE_FSTYPES", ["vmdk", "vdi", "qcow2"], "image-vm", "", d)}'
> inherit ${IMAGE_TYPE_vm}
>
> python () {
> diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass
> index 588a474..cc789fc 100644
> --- a/meta/classes/image_types.bbclass
> +++ b/meta/classes/image_types.bbclass
> @@ -13,7 +13,7 @@ def imagetypes_getdepends(d):
> deps = []
> ctypes = d.getVar('COMPRESSIONTYPES', True).split()
> for type in (d.getVar('IMAGE_FSTYPES', True) or "").split():
> - if type in ["vmdk", "vdi", "live", "iso", "hddimg"]:
> + if type in ["vmdk", "vdi", "qcow2", "live", "iso", "hddimg"]:
> type = "ext3"
> basetype = type
> for ctype in ctypes:
> @@ -187,6 +187,7 @@ IMAGE_TYPES = " \
> cpio cpio.gz cpio.xz cpio.lzma cpio.lz4 \
> vmdk \
> vdi \
> + qcow2 \
> elf \
> "
>
> @@ -213,5 +214,5 @@ DEPLOYABLE_IMAGE_TYPES ?= "hddimg iso"
> IMAGE_EXTENSION_live = "hddimg iso"
>
> # The IMAGE_TYPES_MASKED variable will be used to mask out from the IMAGE_FSTYPES,
> -# images that will not be built at do_rootfs time: vmdk, vdi, hddimg, iso, etc.
> +# images that will not be built at do_rootfs time: vmdk, vdi, qcow2, hddimg, iso, etc.
> IMAGE_TYPES_MASKED ?= ""
> diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
> index 2855941..6ad620b 100644
> --- a/meta/classes/sanity.bbclass
> +++ b/meta/classes/sanity.bbclass
> @@ -835,6 +835,10 @@ def check_sanity_everybuild(status, d):
> if 'vdi' in d.getVar('IMAGE_FSTYPES', True) and 'live' in d.getVar('IMAGE_FSTYPES', True):
> status.addresult("Error, IMAGE_FSTYPES vdi and live can't be built together\n")
>
> + # Check qcow2 and live can't be built together.
> + if 'qcow2' in d.getVar('IMAGE_FSTYPES', True) and 'live' in d.getVar('IMAGE_FSTYPES', True):
> + status.addresult("Error, IMAGE_FSTYPES qcow2 and live can't be built together\n")
> +
> # Check /bin/sh links to dash or bash
> real_sh = os.path.realpath('/bin/sh')
> if not real_sh.endswith('/dash') and not real_sh.endswith('/bash'):
> --
> 2.1.4
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-08-17 10:55 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-23 14:32 [PATCH 1/2] image: Support for qcow2 Christian Ziethén
2015-07-23 14:32 ` [PATCH 2/2] boot-directdisk: Make kernel image inclusion conditional Christian Ziethén
2015-08-17 10:55 ` Christian Ziethén
2015-08-17 10:54 ` [PATCH 1/2] image: Support for qcow2 Christian Ziethén
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.