BIOS学习1.hello world

本文记录了一位新手在Ubuntu18.04环境下使用EDK2/OVMF和Qemu实现BIOS HelloWorld应用的过程。首先编译OVMF和安装Qemu,然后创建UEFI shell app,编写main.c和Melo.inf文件,通过修改OvmfPkg配置并编译生成melo.efi。在实现过程中,注意返回值需加EFIAPI修饰符以避免错误。最后,通过挂载虚拟硬盘和调整BIOS启动参数,成功显示Hello World。

    作为新的学习,上手之后第一件事是想来个helloworld。记录一下整个过程吧。

开发环境:Ubuntu18.04虚拟机 + EDK2/OVMF + Qemu

 

1.第一步是OVMF的编译,以及Qemu的安装,这个之前也提过了,不再叙述

2.第二步,自定义一个hello world的shell app:

  2.1 在edk2主目录下新建uefi/melo目录

  2.2  进入melo目录,新建资源文件main.c以及工程文件Melo.inf

  2.3 main.c:

#include <Uefi.h>
EFI_STATUS 
EFIAPI Melo
(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE * SystemTable)
{
	SystemTable->ConOut->OutputString(SystemTable->ConOut, L"Hello World!! I'm melo**********\n");
	return EFI_SUCCESS;
}

2.4 Melo.inf:

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = Melo
  FILE_GUID                      = 9023AB23-ED34-ffdb-AE97-1FA5E4ED2117
  MODULE_TYPE                    = UEFI_APPLICATION
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = Melo

#
# The following information
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值