qemu upgrade to 2.4.0-rc0
v4 cover qemu upgrade to 2.4.0-rc0
There is a long list of issues affecting qemu 2.3.0 (current version) in combination with tests performed on YP autobuilders, situation that seriously impacts the way our project evolves and can be managed.
As such, we are proposing an upgrade to qemu 2.4.0 RC0, as much better behavior has been seen with this upgrade.
Patchset V4 sets qemu PV to a higher version, to make sure it sorts higher than any 2.3.* version (e.g. if someone is using some newer revision from 2.3 branch).
Patchset V3 adds a proper upgrade versioning scheme for qemu, so that the upgrade to final version won't hinder the upgrade path for it.
Patchset V2 adds a better commit message for "runqemu-internal: add temporary disk interface to qemuarm64" fix.
The following changes since commit ba07a69f3dc8fb798e372130bf665d059fed9d42:
dpkg: Fix for Fedora22 and new versions of tar (2015-07-13 13:47:28 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib ciorga/qemu-upg-3
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ciorga/qemu-upg-3
Cristian Iorga (3):
qemu: upgrade to 2.4.0-rc0
runqemu-internal: add temporary disk interface to qemuarm64 bitbake.conf: fix qemu user mode linux for qemuarm64
meta/conf/bitbake.conf | 1 + meta/recipes-devtools/qemu/qemu.inc | 3 -- .../qemu/qemu/larger_default_ram_size.patch | 22 --------------- meta/recipes-devtools/qemu/qemu_2.3.0.bb | 32 ---------------------- meta/recipes-devtools/qemu/qemu_2.4.0-rc0.bb | 22 +++++++++++++++ scripts/runqemu-internal | 2 +- 6 files changed, 24 insertions(+), 58 deletions(-) delete mode 100644 meta/recipes-devtools/qemu/qemu/larger_default_ram_size.patch delete mode 100644 meta/recipes-devtools/qemu/qemu_2.3.0.bb create mode 100644 meta/recipes-devtools/qemu/qemu_2.4.0-rc0.bb
Signature · 1 line
2.1.4
PATCH v4 1/3 qemu: upgrade to 2.4.0-rc0
- Get rid of direct use of gnutls APIs in quorum
blockdrv in favour of using the crypto APIs.
- Convert VNC websockets to use crypto APIs.
- quorum and vnc-ws packageconfig options no
longer exist, removed.
- All previous CVE are now included.
- larger_default_ram_size.patch patch removed,
no longer necessary.
--- meta/recipes-devtools/qemu/qemu.inc | 3 -- .../qemu/qemu/larger_default_ram_size.patch | 22 --------------- meta/recipes-devtools/qemu/qemu_2.3.0.bb | 32 ---------------------- meta/recipes-devtools/qemu/qemu_2.4.0-rc0.bb | 22 +++++++++++++++ 4 files changed, 22 insertions(+), 57 deletions(-) delete mode 100644 meta/recipes-devtools/qemu/qemu/larger_default_ram_size.patch delete mode 100644 meta/recipes-devtools/qemu/qemu_2.3.0.bb create mode 100644 meta/recipes-devtools/qemu/qemu_2.4.0-rc0.bb
meta/recipes-devtools/qemu/qemu.inc +0 -3
@@ -15,7 +15,6 @@ QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el ppc sh4 x86_64" SRC_URI = "\ file://powerpc_rom.bin \ - file://larger_default_ram_size.patch \ file://disable-grabs.patch \ file://exclude-some-arm-EABI-obsolete-syscalls.patch \ file://wacom.patch \
@@ -89,9 +88,7 @@ PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr,--disable-virtfs,libcap a PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio," PACKAGECONFIG[xfs] = "--enable-xfsctl,--disable-xfsctl,xfsprogs," PACKAGECONFIG[xen] = "--enable-xen,--disable-xen,xen,xen-libxenstore xen-libxenctrl xen-libxenguest" -PACKAGECONFIG[quorum] = "--enable-quorum, --disable-quorum, gnutls," PACKAGECONFIG[vnc-tls] = "--enable-vnc --enable-vnc-tls,--disable-vnc-tls, gnutls," -PACKAGECONFIG[vnc-ws] = "--enable-vnc --enable-vnc-ws,--disable-vnc-ws, gnutls," PACKAGECONFIG[vnc-sasl] = "--enable-vnc --enable-vnc-sasl,--disable-vnc-sasl,cyrus-sasl," PACKAGECONFIG[vnc-jpeg] = "--enable-vnc --enable-vnc-jpeg,--disable-vnc-jpeg,jpeg," PACKAGECONFIG[vnc-png] = "--enable-vnc --enable-vnc-png,--disable-vnc-png,libpng,"
meta/recipes-devtools/qemu/qemu/larger_default_ram_size.patch deleted +0 -22
@@ -1,22 +0,0 @@ -This patch is taken from debian. 128M is too less sometimes if distro -with lot of packages is booted so this patch raises the default to 384M - -It has not been applied to upstream qemu - -Khem Raj <[email protected]> - -Upstream-Status: Pending - -Index: qemu-0.14.0/vl.c -=================================================================== ---- qemu-0.14.0.orig/vl.c -+++ qemu-0.14.0/vl.c -@@ -168,7 +168,7 @@ int main(int argc, char **argv) - //#define DEBUG_NET - //#define DEBUG_SLIRP - --#define DEFAULT_RAM_SIZE 128 -+#define DEFAULT_RAM_SIZE 384 - - #define MAX_VIRTIO_CONSOLES 1 -
meta/recipes-devtools/qemu/qemu_2.3.0.bb deleted +0 -32
@@ -1,32 +0,0 @@ -require qemu.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ - file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913" - -SRC_URI += "file://configure-fix-Darwin-target-detection.patch \ - file://qemu-enlarge-env-entry-size.patch \ - file://Qemu-Arm-versatilepb-Add-memory-size-checking.patch \ - file://qemu-CVE-2015-3456.patch \ - file://01-xen-properly-gate-host-writes-of-modified-PCI-CFG-contents-CVE-2015-4103.patch \ - file://02-xen-dont-allow-guest-to-control-MSI-mask-register-CVE-2015-4104.patch \ - file://03-xen-MSI-X-limit-error-messages-CVE-2015-4105.patch \ - file://04-xen-MSI-dont-open-code-pass-through-of-enable-bit-mod-CVE-2015-4106.patch \ - file://05-xen-pt-consolidate-PM-capability-emu_mask-CVE-2015-4106.patch \ - file://06-xen-pt-correctly-handle-PM-status-bit-CVE-2015-4106.patch \ - file://07-xen-pt-split-out-calculation-of-throughable-mask-CVE-2015-4106.patch \ - file://08-xen-pt-mark-all-PCIe-capability-bits-read-only-CVE-2015-4106.patch \ - file://09-xen-pt-mark-reserved-bits-in-PCI-config-space-fields-CVE-2015-4106.patch \ - file://10-xen-pt-add-a-few-PCI-config-space-field-descriptions-CVE-2015-4106.patch \ - file://11-xen-pt-unknown-PCI-config-space-fields-should-be-readonly-CVE-2015-4106.patch \ - file://qemu-fix-CVE-2015-3209.patch \ - " -SRC_URI_prepend = "http://wiki.qemu-project.org/download/${BP}.tar.bz2" -SRC_URI[md5sum] = "2fab3ea4460de9b57192e5b8b311f221" -SRC_URI[sha256sum] = "b6bab7f763d5be73e7cb5ee7d4c8365b7a8df2972c52fa5ded18893bd8281588" - -COMPATIBLE_HOST_class-target_mips64 = "null" - -do_install_append() { - # Prevent QA warnings about installed ${localstatedir}/run - if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi -}
meta/recipes-devtools/qemu/qemu_2.4.0-rc0.bb new file +22 -0
@@ -0,0 +1,22 @@ +require qemu.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ + file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913" + +SRC_URI += "file://configure-fix-Darwin-target-detection.patch \ + file://qemu-enlarge-env-entry-size.patch \ + file://Qemu-Arm-versatilepb-Add-memory-size-checking.patch \ + " +SRC_URI_prepend = "http://wiki.qemu-project.org/download/${BPN}-${REALPV}.tar.bz2" +SRC_URI[md5sum] = "0c890db3811f2ad9cc7bb2a5afe08e4c" +SRC_URI[sha256sum] = "8dda3e0f9baffbe29b524c03fd46d611afed1dfb5da1becec033beaf76a1bc6d" +S="${WORKDIR}/${BPN}-${REALPV}" +REALPV = "2.4.0-rc0" +PV = "2.3.99+${REALPV}" + +COMPATIBLE_HOST_class-target_mips64 = "null" + +do_install_append() { + # Prevent QA warnings about installed ${localstatedir}/run + if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi +}
Signature · 1 line
2.1.4
PATCH v4 2/3 runqemu-internal: add temporary disk interface to qemuarm64
In reply to Cristian IorgaStarting with qemu 2.4, a disk needs be attached via a specified interface, even if that interface is none. In case of qemuarm64 machine, the board is virtual, so a none interface it works correctly.
--- scripts/runqemu-internal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
scripts/runqemu-internal +1 -1
@@ -270,7 +270,7 @@ else if [ "$MACHINE" = "qemuarm64" ]; then QEMU_NETWORK_CMD="-netdev tap,id=net0,ifname=$TAP,script=no,downscript=no -device virtio-net-device,netdev=net0 " DROOT="/dev/vda" - ROOTFS_OPTIONS="-drive id=disk0,file=$ROOTFS,format=raw -device virtio-blk-device,drive=disk0" + ROOTFS_OPTIONS="-drive id=disk0,file=$ROOTFS,if=none,format=raw -device virtio-blk-device,drive=disk0" fi KERNCMDLINE="mem=$QEMU_MEMORY"
Signature · 1 line
2.1.4
PATCH v4 3/3 bitbake.conf: fix qemu user mode linux for qemuarm64
In reply to Cristian IorgaOLDEST_KERNEL is invalid for aarch64, it didn't exist back in our current version. Use a more recent version for aarch64 to allow user mode qemu to work correctly.
--- meta/conf/bitbake.conf | 1 + 1 file changed, 1 insertion(+)
meta/conf/bitbake.conf +1 -0
@@ -397,6 +397,7 @@ SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}" ################################################################## OLDEST_KERNEL = "2.6.32" +OLDEST_KERNEL_aarch64 = "3.14" STAGING_KERNEL_DIR = "${TMPDIR}/work-shared/${MACHINE}/kernel-source" STAGING_KERNEL_BUILDDIR = "${TMPDIR}/work-shared/${MACHINE}/kernel-build-artifacts"
Signature · 1 line
2.1.4