UEFI学习0——windows 环境搭建记录

环境搭建的过程

  1. 安装开发工具:下载 VS2019(编译C/C++)、python、IASL(Microsoft ACPI 源语言编译器)、NASM 编译器(x86 汇编语言编译器),默认安装到系统盘就好;

  2. 添加环境变量,将上面安装的软件都加入环境变量 path,新建一个环境变量PYTHON_HOME = “python安装目录”。记得路径最后是文件夹的记得加上 ’ \ ',避免后续 error

  3. 下载 edk2 源代码,**可以通过将 github 的代码导入到 gitee ,再用 git 拉取到本地,**避免拉取失败;

  4. 更新子模块,下载好的 edk2 文件并不完整,有些必要的库文件和所需的源文件 edk2 通过 submodule的方式提供,通过在 git 输入以下命令:

    git submodule update --init

    该命令可以将 edk2 中的缺少的文件补充完整,但由于默认是从 github 中拉取,失败率较高,建议先将 github 的代码导入到 gitee ,同时更改 edk2 文件夹下的 .gitmodule 文件中的网址,改为对应 gitee 的网址,再次运行上述命令,速度更快且很容易成功;

  5. 编译 BaseTool,打开 VS2019 命令行,转到 edk2 目录下,运行下列命令

    edksetup.bat rebuild

    编译好的工具在 BaseTools 文件夹中;

  6. 根据需要更改 Conf 目录下的 target.txt 和 tools_def.txt,前者给出了编译时的默认参数,后者规定了所使用的编译工具链,搭建环境过程中通常 tools_def.txt 是不需要修改的,主要修改 target.txt文件;如下:

    TARGET_ARCH = X64 #默认是IA32 ,表示程序运行的目标架构 这里根据自己需要,我这里改成X64

    TOOL_CHAIN_TAG = VS2019 #默认可能是其他值,这里我改成了 VS2019,表示使用的编译工具链是 VS2019,具体可以选择哪些工具,可以看 tools_def.txt 文件中的定义;

    我就改了这两个,可以成功的运行例程,如果有其他需求可自行修改其他参数;

  7. 编译 UEFI 模拟器。打开 VS2019(或者其他版本)命令行,转到 edk2 目录下;运行以下命令:

    edksetup.bat

    build

    build 指令可以带参数,具体编译哪一部分(可以自行百度 build 带参数的指令),这里可以直接 build 执行,不带参数则默认 target.txt 中的参数;

    build 如果成功,无 error 的话,此刻你的文件夹下会多一个 Build 文件夹;

  8. 此时在 build 文件夹中就存在了模拟器的启动文件,执行它就可以打开模拟器,出现启动界面,命令如下:

    cd Build\EmulatorX64\DEBUG_VS2019\X64\ && WinHost.exe

    在 VS2019 命令行中运行以上代码模拟器则被启动,直到出现模拟器界面,则成功。

搭建过程中的error

  1. 编译的时候nmake会报错,出现error 7000: Failed to execute command,

    解决:在PATH中要配置成 NASM_PREFIX=C:\nasm\ ,最后一个反斜杠一定不能忘记。或者命令行没有用管理员方式打开。

折腾了好几天,一直有几个error," failed to execute command " ,没想到是配置环境变量时最后少了一个‘ \ ’;

  1. 每次运行 WinHost.exe 模拟器,启动完成就卡住不动,

    解决:切换输入法,改成英文输入法,重新启动就没问题了。

参考:《UEFI编程实践》——罗冰 && 网上的一些教程

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值