仮想QEMUでu-bootを使用してbmpイメージを表示するのに問題があります。 buildrootを使用してQEMUを構築し、起動画面とvirtio GPUをサポートするために、u-boot.fragementファイルに次のオプションを追加しました。
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プロンプトに移動するために自動起動を中止したときに表示されるポップアップウィンドウに次のメッセージが表示されることです。
bmp display <addr>
有効なbmpイメージでコマンドを使用すると、何も表示されません。自動的に起動すると、起動ログが表示され、カーネルがディスプレイを初期化しているように見えることに注意する価値があります。 u-bootでディスプレイの初期化に関する情報を検索してみましたが、残念ながら何も見つかりませんでした。
また、gtkなどのさまざまな種類のモニターと-ramfbなどのvirtio-gpu-pci以外のさまざまな種類のデバイスを試しましたが、役に立ちませんでした。なぜこのように動作するのか知っている人はいますか?助けてくれてありがとう。ありがとう