首页 > 系统相关 >UEFI学习——windows 环境搭建记录

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

时间:2023-02-18 16:11:27浏览次数:52  
标签:编译 VS2019 windows 模拟器 edk2 UEFI build txt 搭建

环境搭建的过程

  1. 安装开发工具:下载 VS2019(编译C/C++)、python、IASL(Microsoft ACPI 源语言 (ASL) 编译器、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编程实践》——罗冰 && 网上的一些教程

标签:编译,VS2019,windows,模拟器,edk2,UEFI,build,txt,搭建
From: https://www.cnblogs.com/L-xiaohu/p/17132835.html

相关文章

  • Windows下面查看python安装路径的快捷方法
    在Windows(Win10-Win11)下面,查看python的安装路径,比较快捷的方法是:打开CMD窗口,运行wherepython便可以查看python安装路径,不同机器不一样:C:\Users\WinUser01\AppData\Loca......
  • Windows系统下安装MySQL8高版本(已安装MySQL5)
    Windows系统下安装MySQL8高版本(已安装MySQL5)​​一、MySQL安装包下载地址​​​​二、安装步骤​​​​三、参考资料​​一、MySQL安装包下载地址MySQL国内镜像安装地址:htt......
  • Windows黑客编程之运行单一实例
    描述学习了下windows编程的知识,写了一个用于判断系统中只有一个进程的demo预备知识句柄win32api中定义了多种句柄,本质上是指针,用于访问线程、文件、图片等系统资源......
  • Windows常用快捷键
    Tab(切换上下行)Shift()Ctrl()Alt()Enter()Window(菜单)Ctrl+C复制Ctrl+V粘贴Ctrl+A全选Ctrl+X剪切Ctrl+Z撤销Ctrl+S保存Alt+F4关闭窗口Shift+Del(永久删除)window+R+输入cmd(打开......
  • zookeeper可视化界面zkui搭建与配置
    一、初始化环境zkui是基于java语言开发,首先就要我们安装jdk环境。因为zkui需要我们手工进行编译、构建和打包,所以还需要安装maven环境。有关maven的安装和配置,可以参考这篇......
  • react项目搭建
    前提:安装Nodejs环境 #全局安装脚手架npmicreate-react-app-g#project-name项目名称create-react-appproject-name方式二:使用npx替代npm 推荐使用......
  • FFmpeg:搭建rstp/rtmp/HLS服务器(测试推流)
    在日常开发中,有些时候需要做一些推拉流测试,但又找不到可以测试的拉流地址,这个时候,可以使用rtsp-simple-server来搭建rtsp/rtmp/HLS服务器。1.服务器搭建rstp-simple-ser......
  • windows消息ID
    消息范围说明0~ WM_USER –1系统消息WM_USER ~0x7FFF自定义窗口类整数消息WM_APP ~0xBFFF应用程序自定义消息0xC000~0xFFFF......
  • 9.逆向工程的搭建和使用
    renren-generator代码生成器 renren-generator使用复制到bianen-shop项目下逆向生成代码以bianen_shop_pms为例        配置renren-fast的数据库......
  • 8.人人开源搭建后台管理系统
    在Gitee找到人人开源在Gitee找到人人开源  我们的后台管理系统的后端代码使用renren-fast,前端代码使用renren-fast-vuegit下载这两个项目代码renren-fast后端使用......