Bug 11661 - runqemu: Could not initialize SDL(No available video device) for core-image-sato on ubuntu-16.04
Summary: runqemu: Could not initialize SDL(No available video device) for core-image-s...
Status: RESOLVED FIXED
Alias: None
Product: Installation
Classification: Runtime
Component: Installation (show other bugs)
Version: 2.3
Hardware: x86 Multiple
: Medium critical
Target Milestone: 2.4
Assignee: Brownson
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2017-06-14 06:58 UTC by Brownson
Modified: 2017-06-16 02:08 UTC (History)
3 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: Don't know


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Brownson 2017-06-14 06:58:48 UTC
Steps:
1. git clone git://git.yoctoproject.org/poky
1. Build a sata image for qemux86-64
3. Run "runqemu qemux86-64" to boot up the qemu image

Build Configuration:
BB_VERSION        = "1.34.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "ubuntu-16.04"
TARGET_SYS        = "i586-poky-linux"
MACHINE           = "qemux86"
DISTRO            = "poky"
DISTRO_VERSION    = "2.3"
TUNE_FEATURES     = "m32 i586"


The image can not boot up and the following error occurs:

runqemu - INFO - Assuming MACHINE = qemux86
runqemu - INFO - Running MACHINE=qemux86 bitbake -e...
runqemu - INFO - MACHINE: qemux86
runqemu - INFO - DEPLOY_DIR_IMAGE: /home/brownson/poky/build/tmp/deploy/images/qemux86
runqemu - INFO - Running ls -t /home/brownson/poky/build/tmp/deploy/images/qemux86/*.qemuboot.conf...
runqemu - INFO - CONFFILE: /home/brownson/poky/build/tmp/deploy/images/qemux86/core-image-sato-qemux86-20170614032017.qemuboot.conf
runqemu - INFO - Continuing with the following parameters:

KERNEL: [tmp/deploy/images/qemux86/bzImage--4.10.9+git0+ad2e885015_fe0fb8da3d-r0-qemux86-20170614032017.bin]
MACHINE: [qemux86]
FSTYPE: [ext4]
ROOTFS: [tmp/deploy/images/qemux86/core-image-sato-qemux86-20170614032017.rootfs.ext4]
CONFFILE: [/home/brownson/poky/build/tmp/deploy/images/qemux86/core-image-sato-qemux86-20170614032017.qemuboot.conf]

runqemu - INFO - Running /sbin/ip link...
runqemu - INFO - Setting up tap interface under sudo
[sudo] password for brownson:
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Created tap: tap0
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=tmp/deploy/images/qemux86/core-image-sato-qemux86-20170614032017.rootfs.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci   -cpu qemu32 -m 256 -serial mon:vc -serial null -kernel tmp/deploy/images/qemux86/bzImage--4.10.9+git0+ad2e885015_fe0fb8da3d-r0-qemux86-20170614032017.bin -append 'root=/dev/vda rw highres=off  mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 '
Could not initialize SDL(No available video device) - exiting
runqemu - INFO - Running sudo /home/brownson/poky/scripts/runqemu-ifdown tap0 tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin/
Set 'tap0' nonpersistent
runqemu - INFO - Releasing lockfile for tap device 'tap0'
Traceback (most recent call last):
  File "/home/brownson/poky/scripts/runqemu", line 1238, in <module>
    ret = main()
  File "/home/brownson/poky/scripts/runqemu", line 1231, in main
    config.start_qemu()
  File "/home/brownson/poky/scripts/runqemu", line 1142, in start_qemu
    raise Exception('Failed to run %s' % cmd)
Exception: Failed to run tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=tmp/deploy/images/qemux86/core-image-sato-qemux86-20170614032017.rootfs.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci   -cpu qemu32 -m 256 -serial mon:vc -serial null -kernel tmp/deploy/images/qemux86/bzImage--4.10.9+git0+ad2e885015_fe0fb8da3d-r0-qemux86-20170614032017.bin -append 'root=/dev/vda rw highres=off  mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 '
Comment 1 Juro Bystricky 2017-06-14 17:44:16 UTC
Can you please describe your steps building the image for qemux86-64?
Based on your error report it seems you built machine for qemux86.
Comment 2 Brownson 2017-06-15 04:10:25 UTC
(In reply to comment #1)
> Can you please describe your steps building the image for qemux86-64?
> Based on your error report it seems you built machine for qemux86.

Yes, in my local conf file, i set machine to qemux86 and built for that only.
I simply followed the Yocto quick start tutorial/manual. 
I didn't build for qemux86-64. I could try to build for x86-64 and see if the error persists or not.
Comment 3 Brownson 2017-06-15 06:33:11 UTC
I have just built and then try to runqemu for qemux86-64. The error message is the same. please see below

brownson@linux1-HP-Z620-workstation:~/poky/build$ bitbake core-image-sato
Parsing recipes: 100% |#################################################################################| Time: 0:00:25
Parsing of 830 .bb files complete (0 cached, 830 parsed). 1299 targets, 48 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION        = "1.34.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "universal"
TARGET_SYS        = "x86_64-poky-linux"
MACHINE           = "qemux86-64"
DISTRO            = "poky"
DISTRO_VERSION    = "2.3"
TUNE_FEATURES     = "m64 core2"
TARGET_FPU        = ""
meta
meta-poky
meta-yocto-bsp    = "pyro:c63903443bab75cda3bfccb8f872985bd7e943c0"

Initialising tasks: 100% |##############################################################################| Time: 0:00:14
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 6060 tasks of which 1639 didn't need to be rerun and all succeeded.
brownson@linux1-HP-Z620-workstation:~/poky/build$ runqemu qemux86-64
runqemu - INFO - Assuming MACHINE = qemux86-64
runqemu - INFO - Running MACHINE=qemux86-64 bitbake -e...
runqemu - INFO - MACHINE: qemux86-64
runqemu - INFO - DEPLOY_DIR_IMAGE: /home/brownson/poky/build/tmp/deploy/images/qemux86-64
runqemu - INFO - Running ls -t /home/brownson/poky/build/tmp/deploy/images/qemux86-64/*.qemuboot.conf...
runqemu - INFO - CONFFILE: /home/brownson/poky/build/tmp/deploy/images/qemux86-64/core-image-sato-qemux86-64-20170615041728.qemuboot.conf
runqemu - INFO - Continuing with the following parameters:

KERNEL: [tmp/deploy/images/qemux86-64/bzImage--4.10.9+git0+ad2e885015_fe0fb8da3d-r0-qemux86-64-20170615041728.bin]
MACHINE: [qemux86-64]
FSTYPE: [ext4]
ROOTFS: [tmp/deploy/images/qemux86-64/core-image-sato-qemux86-64-20170615041728.rootfs.ext4]
CONFFILE: [/home/brownson/poky/build/tmp/deploy/images/qemux86-64/core-image-sato-qemux86-64-20170615041728.qemuboot.conf]

runqemu - INFO - Running /sbin/ip link...
runqemu - INFO - Setting up tap interface under sudo
[sudo] password for brownson:
runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock...
runqemu - INFO - Created tap: tap0
runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0
runqemu - INFO - Running ldd tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64...
runqemu - INFO - Running tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=tmp/deploy/images/qemux86-64/core-image-sato-qemux86-64-20170615041728.rootfs.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci   -cpu core2duo -m 256 -serial mon:vc -serial null -kernel tmp/deploy/images/qemux86-64/bzImage--4.10.9+git0+ad2e885015_fe0fb8da3d-r0-qemux86-64-20170615041728.bin -append 'root=/dev/vda rw highres=off  mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 '
Could not initialize SDL(No available video device) - exiting
runqemu - INFO - Running sudo /home/brownson/poky/scripts/runqemu-ifdown tap0 tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin/
Set 'tap0' nonpersistent
runqemu - INFO - Releasing lockfile for tap device 'tap0'
Traceback (most recent call last):
  File "/home/brownson/poky/scripts/runqemu", line 1238, in <module>
    ret = main()
  File "/home/brownson/poky/scripts/runqemu", line 1231, in main
    config.start_qemu()
  File "/home/brownson/poky/scripts/runqemu", line 1142, in start_qemu
    raise Exception('Failed to run %s' % cmd)
Exception: Failed to run tmp/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-x86_64 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=tmp/deploy/images/qemux86-64/core-image-sato-qemux86-64-20170615041728.rootfs.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci   -cpu core2duo -m 256 -serial mon:vc -serial null -kernel tmp/deploy/images/qemux86-64/bzImage--4.10.9+git0+ad2e885015_fe0fb8da3d-r0-qemux86-64-20170615041728.bin -append 'root=/dev/vda rw highres=off  mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 '
Comment 4 Jussi Kukkonen 2017-06-15 08:16:58 UTC
> Could not initialize SDL(No available video device)

Just to cover the basics:
* Does the host have X running?
* Are you connected in a way that you can run X apps (e.g. if over ssh, then X11  forwarding is enabled)?
Comment 5 Juro Bystricky 2017-06-15 16:30:41 UTC
As pointed out by Jussi, providing your host system runs in X environment (for example NOT in a command line only container), please make sure you have all required host tools installed, please see:

http://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html
3.2. The Build Host Packages
Comment 6 Brownson 2017-06-16 02:08:58 UTC
(In reply to comment #4)
> > Could not initialize SDL(No available video device)
> 
> Just to cover the basics:
> * Does the host have X running?
> * Are you connected in a way that you can run X apps (e.g. if over ssh, then
> X11  forwarding is enabled)?

Yes X11 forwarding is enabled over ssh (using Putty).
when i echo $DISPLAY, the output is localhost:10.0

Found out by googling that i needed to install an xserver (Xming) on my windows PC. Did that and it's all working great now. Thanks for your helping to point me in the right direction