Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 0/2] qemuarm enable virtio devices
@ 2015-09-29 22:51 Aníbal Limón
  2015-09-29 22:51 ` [PATCH 1/2] linux-yocto_{3.14, 3.19, 4.1}: qemuarm enable virtio drivers Aníbal Limón
  2015-09-29 22:51 ` [PATCH 2/2] runqemu-internal: qemuarm enable usage of virtio devices Aníbal Limón
  0 siblings, 2 replies; 4+ messages in thread
From: Aníbal Limón @ 2015-09-29 22:51 UTC (permalink / raw)
  To: openembedded-core; +Cc: bruce.ashfield, benjamin.esquivel

Use virtio block device into qemuarm for avoid qemu SCSI device problem that
is broken.

I tested (ran testimage) this patches using core-image-sato and core-image-lsb
with kernels 3.14, 3.19 and 4.1.

[YOCTO #8060]

The following changes since commit f78f90240a3041be426c6ba9085849352164ee8b:

  bitbake: prserv/serv.py: Better messaging when starting/stopping the server with port=0 (2015-09-28 12:00:33 +0100)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib alimon/qemuarm_virtio
  http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=alimon/qemuarm_virtio

Aníbal Limón (2):
  linux-yocto_{3.14,3.19,4.1}: qemuarm enable virtio drivers
  runqemu-internal: qemuarm enable usage of virtio devices

 meta/recipes-kernel/linux/linux-yocto_3.14.bb |  1 +
 meta/recipes-kernel/linux/linux-yocto_3.19.bb |  1 +
 meta/recipes-kernel/linux/linux-yocto_4.1.bb  |  1 +
 scripts/runqemu-internal                      | 14 ++++++++++++--
 4 files changed, 15 insertions(+), 2 deletions(-)

-- 
1.9.1



^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/2] linux-yocto_{3.14, 3.19, 4.1}: qemuarm enable virtio drivers
  2015-09-29 22:51 [PATCH 0/2] qemuarm enable virtio devices Aníbal Limón
@ 2015-09-29 22:51 ` Aníbal Limón
  2015-09-30  3:59   ` Bruce Ashfield
  2015-09-29 22:51 ` [PATCH 2/2] runqemu-internal: qemuarm enable usage of virtio devices Aníbal Limón
  1 sibling, 1 reply; 4+ messages in thread
From: Aníbal Limón @ 2015-09-29 22:51 UTC (permalink / raw)
  To: openembedded-core; +Cc: bruce.ashfield, benjamin.esquivel

We are experimenting segfault in qemu arm SCSI driver because
it's broken [1][2] so enable virtio drivers to use as default.

[YOCTO #8060]

[1] https://lists.gnu.org/archive/html/qemu-devel/2007-03/msg00093.html
[2] https://lists.nongnu.org/archive/html/qemu-devel/2010-07/msg01473.html

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
 meta/recipes-kernel/linux/linux-yocto_3.14.bb | 1 +
 meta/recipes-kernel/linux/linux-yocto_3.19.bb | 1 +
 meta/recipes-kernel/linux/linux-yocto_4.1.bb  | 1 +
 3 files changed, 3 insertions(+)

diff --git a/meta/recipes-kernel/linux/linux-yocto_3.14.bb b/meta/recipes-kernel/linux/linux-yocto_3.14.bb
index b6b2e5a..0a37cb6 100644
--- a/meta/recipes-kernel/linux/linux-yocto_3.14.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_3.14.bb
@@ -36,6 +36,7 @@ COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemu
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
 KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES_append_qemuarm=" cfg/virtio.scc"
 KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
 KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
 KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}"
diff --git a/meta/recipes-kernel/linux/linux-yocto_3.19.bb b/meta/recipes-kernel/linux/linux-yocto_3.19.bb
index e8c1640..4143a09 100644
--- a/meta/recipes-kernel/linux/linux-yocto_3.19.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_3.19.bb
@@ -36,6 +36,7 @@ COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemu
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
 KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES_append_qemuarm=" cfg/virtio.scc"
 KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
 KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
 KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}"
diff --git a/meta/recipes-kernel/linux/linux-yocto_4.1.bb b/meta/recipes-kernel/linux/linux-yocto_4.1.bb
index 0645134..f27e0de 100644
--- a/meta/recipes-kernel/linux/linux-yocto_4.1.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_4.1.bb
@@ -36,6 +36,7 @@ COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemu
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
 KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES_append_qemuarm=" cfg/virtio.scc"
 KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
 KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
 KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}"
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] runqemu-internal: qemuarm enable usage of virtio devices
  2015-09-29 22:51 [PATCH 0/2] qemuarm enable virtio devices Aníbal Limón
  2015-09-29 22:51 ` [PATCH 1/2] linux-yocto_{3.14, 3.19, 4.1}: qemuarm enable virtio drivers Aníbal Limón
@ 2015-09-29 22:51 ` Aníbal Limón
  1 sibling, 0 replies; 4+ messages in thread
From: Aníbal Limón @ 2015-09-29 22:51 UTC (permalink / raw)
  To: openembedded-core; +Cc: bruce.ashfield, benjamin.esquivel

We are experiencing occasional segfaults in scsi sym53c8xx driver
on qemuarm boot. There are some old discussions into the mailing
lists [1] about the scsi problem and seems to be isn't fixed.

We use virtio blk/net devices into qemuarm64 also are supported
into qemuarm so change to use it because virtio devices are the best
choice.

[YOCTO #8060]

[1] https://bugzilla.yoctoproject.org/show_bug.cgi?id=8060#c10

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
 scripts/runqemu-internal | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index d6b1102..a77660f 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -364,8 +364,18 @@ if [ "$MACHINE" = "qemuarm" -o "$MACHINE" = "qemuarmv6" -o "$MACHINE" = "qemuarm
     QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS"
     # QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -force-pointer"
     if [ "${FSTYPE:0:3}" = "ext" -o "$FSTYPE" = "btrfs" ]; then
-        KERNCMDLINE="root=/dev/sda rw console=ttyAMA0,115200 console=tty $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY highres=off"
-        QEMUOPTIONS="$QEMU_NETWORK_CMD -M ${MACHINE_SUBTYPE} -drive file=$ROOTFS,format=raw -no-reboot $QEMU_UI_OPTIONS"
+        if [ "$MACHINE" = "qemuarm" ]; then
+            QEMU_NETWORK_CMD="-net nic,model=virtio $QEMU_TAP_CMD"
+            DROOT="/dev/vda"
+            ROOTFS_OPTIONS="-drive file=$ROOTFS,if=virtio,format=raw"
+        else
+            QEMU_NETWORK_CMD="-net nic,vlan=0 $QEMU_TAP_CMD"
+            DROOT="/dev/sda"
+            ROOTFS_OPTIONS="-drive file=$ROOTFS,format=raw"
+        fi
+
+        KERNCMDLINE="root=$DROOT rw console=ttyAMA0,115200 console=tty $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY highres=off"
+        QEMUOPTIONS="$QEMU_NETWORK_CMD -M ${MACHINE_SUBTYPE} $ROOTFS_OPTIONS -no-reboot $QEMU_UI_OPTIONS"
     fi
     if [ "$FSTYPE" = "nfs" ]; then
         if [ "$NFS_SERVER" = "192.168.7.1" -a ! -d "$NFS_DIR" ]; then
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/2] linux-yocto_{3.14, 3.19, 4.1}: qemuarm enable virtio drivers
  2015-09-29 22:51 ` [PATCH 1/2] linux-yocto_{3.14, 3.19, 4.1}: qemuarm enable virtio drivers Aníbal Limón
@ 2015-09-30  3:59   ` Bruce Ashfield
  0 siblings, 0 replies; 4+ messages in thread
From: Bruce Ashfield @ 2015-09-30  3:59 UTC (permalink / raw)
  To: Aníbal Limón, openembedded-core; +Cc: benjamin.esquivel

On 2015-09-29 6:51 PM, Aníbal Limón wrote:
> We are experimenting segfault in qemu arm SCSI driver because
> it's broken [1][2] so enable virtio drivers to use as default.

This looks fine to me, and is consistent with the other features
we are enabling for the default qemu* machines.

What (if any) message is thrown by a kernel that isn't configured
with these features ? I suppose that since we aren't NFS booting,
you simply don't have ethernet, and the user can look at the
target's kernel config to diagnose that issue.

Cheers,

Bruce

>
> [YOCTO #8060]
>
> [1] https://lists.gnu.org/archive/html/qemu-devel/2007-03/msg00093.html
> [2] https://lists.nongnu.org/archive/html/qemu-devel/2010-07/msg01473.html
>
> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
> ---
>   meta/recipes-kernel/linux/linux-yocto_3.14.bb | 1 +
>   meta/recipes-kernel/linux/linux-yocto_3.19.bb | 1 +
>   meta/recipes-kernel/linux/linux-yocto_4.1.bb  | 1 +
>   3 files changed, 3 insertions(+)
>
> diff --git a/meta/recipes-kernel/linux/linux-yocto_3.14.bb b/meta/recipes-kernel/linux/linux-yocto_3.14.bb
> index b6b2e5a..0a37cb6 100644
> --- a/meta/recipes-kernel/linux/linux-yocto_3.14.bb
> +++ b/meta/recipes-kernel/linux/linux-yocto_3.14.bb
> @@ -36,6 +36,7 @@ COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemu
>   # Functionality flags
>   KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
>   KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
> +KERNEL_FEATURES_append_qemuarm=" cfg/virtio.scc"
>   KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
>   KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
>   KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}"
> diff --git a/meta/recipes-kernel/linux/linux-yocto_3.19.bb b/meta/recipes-kernel/linux/linux-yocto_3.19.bb
> index e8c1640..4143a09 100644
> --- a/meta/recipes-kernel/linux/linux-yocto_3.19.bb
> +++ b/meta/recipes-kernel/linux/linux-yocto_3.19.bb
> @@ -36,6 +36,7 @@ COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemu
>   # Functionality flags
>   KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
>   KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
> +KERNEL_FEATURES_append_qemuarm=" cfg/virtio.scc"
>   KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
>   KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
>   KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}"
> diff --git a/meta/recipes-kernel/linux/linux-yocto_4.1.bb b/meta/recipes-kernel/linux/linux-yocto_4.1.bb
> index 0645134..f27e0de 100644
> --- a/meta/recipes-kernel/linux/linux-yocto_4.1.bb
> +++ b/meta/recipes-kernel/linux/linux-yocto_4.1.bb
> @@ -36,6 +36,7 @@ COMPATIBLE_MACHINE = "qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemu
>   # Functionality flags
>   KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
>   KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
> +KERNEL_FEATURES_append_qemuarm=" cfg/virtio.scc"
>   KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
>   KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
>   KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}"
>



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-09-30  3:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-29 22:51 [PATCH 0/2] qemuarm enable virtio devices Aníbal Limón
2015-09-29 22:51 ` [PATCH 1/2] linux-yocto_{3.14, 3.19, 4.1}: qemuarm enable virtio drivers Aníbal Limón
2015-09-30  3:59   ` Bruce Ashfield
2015-09-29 22:51 ` [PATCH 2/2] runqemu-internal: qemuarm enable usage of virtio devices Aníbal Limón

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox