首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启动GNU-EFI os后qemu挂起

启动GNU-EFI os后qemu挂起
EN

Stack Overflow用户
提问于 2021-02-27 22:22:33
回答 1查看 93关注 0票数 0

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

当我使用以下命令引导img时

代码语言:javascript
复制
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,format=raw,unit=1,file="$(OVMF_DIR)/OVMF_VARS.fd" \
    -net none

打印Found bootloader on fs0:后Qemu挂起

我找不出是什么引起的。我怀疑我在Makefile中犯了一些错误。下面是代码代码库:用于再现的https://github.com/xubury/myos

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

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

首先要感谢大家!

EN

回答 1

Stack Overflow用户

发布于 2021-03-02 17:32:37

所以,很明显,当我把-lgnuefi -lefi放在链接的末尾时,问题就解决了。但我不知道为什么。此外,对于某些ABI兼容性问题,应该使用uefi_call_warpper调用gnu-efi函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66399748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档