栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

UEFI开发环境搭建

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

UEFI开发环境搭建

1 环境搭建所需工具
  1. VS2015/2017/2019 //我用的是2017
  2. EDKII资源包+EDKII-LIBC(C标准库开发包) //EDKII每个版本的支持是不一样的

//我用的是edk2-edk2-stable201911

    3.NASM

    4.ASL

    5.PYTHON

1.1 安装VS2019

勾选安装SDK安装包

安装完成将cl编译器加入环境变量PATH中

路径:D:Program Files (x86)Microsoft Visual Studio2017EnterpriseVCToolsMSVC14.16.27023binHostx64x64

//我是装在了D盘

1.2 安装ASL

下载ASL解压到C:ASL

在环境变量PATH中添加路径

下载地址:Windows Binary Tools | The ACPI Component Architecture Project

1.3 安装NASM

下载NASM安装到C:NASM

在环境变量中新增

NAME_PREFIX

下载地址:Index of /pub/nasm/releasebuilds

1.4 下载EDKII开发资源包

Git下载的开发资源包不包含baseTool中的win32工具,以及OPENSLL库

Win32工具可以使用rebuild指令自己生成创建

OPENSLL库需要自己下载导入到D:edk2CryptoPkgLibraryOpensslLibopenssl 中

下载地址:GitHub - tianocore/edk2: EDK II

找到对应的stable201911 版本

1.5 下载EDKII-LIBC

EDKII-LIBC 可以理解是C标准库的库支持包

下载以后直接解压到EDK的目录中即可

包含有StdLibPrivateInternalFiles,StdLib,AppPkg这三个包

下载地址:GitHub - tianocore/edk2-libc: Port of libc to EDK II with applications that depend on libc

1.6 安装Python3.x

只要是3.0以上的版本都支持

安装完成将Python目录在环境变量中创建

PYTHON_HOME

二、搭建虚拟机测试环境

2.1进入到EDK文件目录中,在地址栏输入CMD并运行

PS1:没有构建之前的目录

edksetup.bat rebuild    //因为没有提前添加win32文件夹和工具 这里可以重新构建

//提示没有这个文件夹,提示之后会重新构建

  2.2 提示如下界面即为构建成功 Bin文件夹下会多出win32的目录

工具构建完成之后生成配置文件

//继续CMD 输入指令
edksetup.bat    //生成配置文件
    		//配置文件目录在 edk/Conf目录下
 2.3 会在目录下生产一个target和一个tools_def文件

target文件中包含了build的信息

①默认编译包名称

②编译生成的模式 Debug/Realse

③编译生成的程序位数 32/64 (IA32/X64)

④编译器版本号 VS2013-2019以及老版本VS都支持 (我是用的VS,所以只列举出VS相关)

tools_def中包含了编译器的版本路径等相关信息

//2017版本 将配置文件修改为如下

//target 参数解析

ACTIVE_PLATFORM       = EmulatorPkg/EmulatorPkg.dsc  //默认build的包路径

TARGET                = DEBUG   //编译的版本是发布还是调试

TARGET_ARCH           = IA32  //程序是多少位 32/64  IA32-->32  X64-->64

TOOL_CHAIN_TAG        = VS2017  //编译器版本  //我是2017

三、准备工作做好编译虚拟机

在CMD中输入Build指令 (不要关闭刚刚的CMD 如果关闭了 要重新执行1.3的步骤)

edk:> build

编译时间会长一些,耐心等

PS1:

有的教程是使用edksetup --nt 新的资源包不支持该指令 直接使用edksetup.bat 就可以了

虽然直接使用edksetup.bat会初始化数据 但是只要生产了target配置文件就不会覆盖

下次打开的时候直接edksetup.bat

//正确的样子

//生产的虚拟机文件在

C:edk2BuildEmulatorIA32DEBUG_VS2015x86IA32WinHost.exe

//疑问1 为什么是在EmulatorIA32

Q: tar配置文件第一个就是默认构建的包 这里是包名+exe位数

//运行即可

//出现该界面即为搭建完成

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/744620.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号