Yocto“无法运行qemu:无法初始化SDL(x11不可用)”

10

所以我在本地构建服务器上安装了Yocto,因为谁想让庞大的构建占用他们的工作空间呢?

主机和服务器都是Arch Linux 4.19.44-1-lts版本。

无论如何,我只是按照快速构建页面上找到的示例运行它,链接在这里,但当我尝试时...

 $ runqemu qemux86 

通过启用X11转发的ssh连接,我只能得到这个糟糕的输出:

runqemu - INFO - Running MACHINE=qemux86 bitbake -e... runqemu - INFO 
- Continuing with the following parameters: 

KERNEL: [/home/bob/poky/build/tmp/deploy/images/qemux86/bzImage--5.0.3+git0+f0b575cda6_3df4aae607-r0-qemux86-20190520164453.bin] MACHINE: [qemux86] FSTYPE: [ext4] ROOTFS: [/home/bob/poky/build/tmp/deploy/images/qemux86/core-image-sato-qemux86-20190520164453.rootfs.ext4] CONFFILE: [/home/bob/poky/build/tmp/deploy/images/qemux86/core-image-sato-qemux86-20190520164453.qemuboot.conf] 

runqemu - INFO - Setting up tap interface under sudo [sudo] password for bob: runqemu - INFO - Network configuration: 
192.168.7.2::192.168.7.1:255.255.255.0 runqemu - INFO - Running /home/bob/poky/build/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=/home/bob/poky/build/tmp/deploy/images/qemux86/core-image-sato-qemux86-20190520164453.rootfs.ext4,if=virtio,format=raw 
-vga vmware -show-cursor -usb -device usb-tablet -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0 -cpu pentium2 -m 256 -serial mon:vc -serial null -kernel /home/bob/poky/build/tmp/deploy/images/qemux86/bzImage--5.0.3+git0+f0b575cda6_3df4aae607-r0-qemux86-20190520164453.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 ' 

runqemu - ERROR - Failed to run qemu: Could not initialize SDL(x11 not available) - exiting 

runqemu - INFO - Cleaning up Set 'tap0' nonpersistent 

这部分明显是一个问题:

runqemu - ERROR - Failed to run qemu: Could not initialize SDL(x11 not available) - exiting

很奇怪,因为X实际上正在机器上运行,我可以正常运行qemu。

 $ qemu-system-x86_64 

在本地机器上打开一个qemu虚拟机

这里我有遗漏的东西吗?SDL需要重新编译以支持X吗?那些选项呢:" -vga vmware"," uvesafb.mode_option=640x480-32"。也许这是一个SSH的问题?或者是SDL的构建配置选项,我还没有接触到....

澄清一下,它可以从服务器的终端和使用“nographic”选项的tty中正常工作。只是不支持带图形化界面的tty,想知道是否可能。

谢谢。

1个回答

24

我在Ubuntu 18.04服务器上为最小镜像构建时遇到了同样的问题。

尝试使用:runqemu qemux86 nographic


这最终成为了答案。在网络上运行它需要一个无图形选项。 - BitShift
1
实际上,这取决于你正在构建/运行的是core-image-sato(而不是minimal,例如),你实际上希望用户界面显示出来,而通过传递“nographic”或“serial”来运行qemu将允许你启动,但你将无法测试/查看用户界面上的任何内容,在无头设置中,你可以设置一个VNC服务器来创建虚拟显示器,这不仅可以摆脱你提到的错误,还会生成QEMU窗口,你可以在其中查看UI(如果当然通过VNC连接)。 - ah008a

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接