在虚拟 QEMU 上使用 u-boot 显示 bmp 图像

在虚拟 QEMU 上使用 u-boot 显示 bmp 图像

我在虚拟 QEMU 上使用 u-boot 显示 bmp 图像时遇到问题。我使用 buildroot 构建了 QEMU,并在 u-boot.fragement 文件中添加了以下选项以支持启动屏幕和 virtio gpu:

CONFIG_CMD_BMP=y
CONFIG_DM_VIDEO=y
CONFIG_VIDEO=y
CONFIG_VIDEO_BMP_RLE8=y
CONFIG_VIDEO_BMP_LOGO=y
CONFIG_SPLASH_SCREEN=y
CONFIG_SPLASH_SOURCE=y
CONFIG_SPLASH_SCREEN_ALIGN=y
CONFIG_SYS_WHITE_ON_BLACK=y
CONFIG_VIDEO_LOGO=y
CONFIG_DISPLAY=y
CONFIG_VIDEO_IPUV3=y
CONFIG_BMP_8BPP=y
CONFIG_BMP_16BPP=y
CONFIG_BMP_24BPP=y
CONFIG_BMP_32BPP=y
CONFIG_PANEL=y
CONFIG_BACKLIGHT=y
CONFIG_DRM=y
CONFIG_DRM_VIRTIO_GPU=y

我已经使用 qemu_arm_ebbr_defconfig 构建并启动了 QEMU,如下所示:

qemu-system-arm   -M virt,secure=on  
\-bios output/images/flash.bin -cpu cortex-a15  
\-device virtio-blk-device,drive=hd0  
\-device virtio-net-device,netdev=eth0  
\-device virtio-rng-device,rng=rng0  
\-drive file=output/images/disk.img,if=none,format=raw,id=hd0 -netdev user,id=eth0 
\-object rng-random,filename=/dev/urandom,id=rng0 
\-m 2048 -smp 2 
\-device virtio-gpu-pci,xres=1680,yres=1050 -display sdl -vnc :0 -serial stdio

问题是,当我中断自动启动以进入 u-boot 提示符时,弹出的显示窗口显示以下内容:Qemu显示

当我使用bmp display <addr>带有有效 bmp 图像的命令时,没有显示任何内容。值得一提的是,如果我让它自动启动,则会显示启动日志,并且我认为内核正在初始化显示。我尝试搜索有关从 u-boot 初始化显示的信息,但不幸的是一无所获。

我还尝试了不同类型的显示器,例如 gtk 和除 virtio-gpu-pci 之外的不同类型的设备,例如 -ramfb,但没有帮助。有谁知道为什么它会这样?我将不胜感激任何帮助。谢谢

相关内容