启动 GNU-EFI 操作系统后 qemu 挂起

问题描述

我试图根据一篇文章使用 GNU-EFI 编写“hello world”x86_64 操作系统:https://wiki.osdev.org/GNU-EFI,但我遇到了一些问题。

当我使用以下命令启动 img 时

sudo qemu-system-x86_64 -drive file=$(BUILD_DIR)/$(OSNAME).img -m 256M -cpu qemu64 \
    -drive if=pflash,format=raw,unit=0,file="$(OVMF_DIR)/OVMF_CODE.fd",readonly=on \
    -drive if=pflash,unit=1,file="$(OVMF_DIR)/OVMF_VARS.fd" \
    -net none

Qemu 在打印 Found bootloader on fs0: 后挂起

我不知道是什么原因造成的。 我怀疑我在 Makefile 中犯了一些错误。 下面是代码仓库:https://github.com/xubury/myos 用于重现。

顺便说一句,您可能需要在 Makefile 中指定 gnu-efiovmf 的路径。

我在 OS: Arch Linux x86_64 和 Kernel: 5.11.1-arch1-1 下运行代码

非常感谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)