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

EDK2从搭建到运行

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

EDK2从搭建到运行

参考书籍:UEFI编程实践

安装开发工具 安装VS2015
  1. 默认安装路径;
  2. 选择功能:选择Visual C++
  3. 安装时间大约一小时(出现如下报错只因我断网安装)
安装 Python27
  1. 打开python-2.7.15.msi安装文件,点击Next;
  2. 找到Add python.exe to path 点击前面的×,选择Will be installed on local hard drive
  3. 点击Advanced 勾选Compile .py files byte code after installation
  4. 继续安装,直到完成
NASM

下载完成之后,解压 并 改名 至

C:nasm
IASL

下载完成之后,解压 并 改名 至:

C:ASL
环境变量

系统变量 -> Path 下添加:

C:Python27
C:ASL
C:nasm

系统变量 下新建:

PYTHON_HOME=C:Python27
EDKII

在C盘根目录下面新建目录:C:UEFI,进入此目录,右键 “GIT Bash Here”,执行如下指令下载EDKII:

git clone https://github.com/tianocore/edk2.git
git clone https://github.com/tianocore/edk2-libc.git

(下载可能会失败,多试几次,或者开启VPN下载)
完成之后会在C:UEFI目录下面生成 edk2 和 edk2-libc

配置开发环境 更新submodule:

GIT Bash进入C:UEFIedk2 目录,执行如下指令:

git submodule update --init

执行完这次操作之后,以后更新submodule时,就不用添加–init,直接执行 git submodule update 。
(下载可能会失败,多试几次,或者开启VPN下载;submodule的控制文件位于edk2.gitmodules)

编译 BaseTools
  1. 进入windows开始菜单,找到 VS2015 工具中的:VS2015 x86 本机工具命令指示符

  2. 进入C:UEFIedk2 目录,执行如下指令:

edksetup.bat Rebuild


3. 编译好的工具在:C:UEFIedk2BaseTools

设置开发工具路径

为方便后续开发,设置如下脚本 以配置环境变量,内容如下:
C:UEFImybuild.bat

set WORKSPACE=%CD%
set EDK_TOOLS_PATH=%CD%edk2BaseTools
set CONF_PATH=%CD%edk2conf
set PACKAGES_PATH=%CD%edk2;%CD%edk2-libc
设置EDKII配置文件:

配置文件位于:C:UEFIedk2Conf,分别是 target.txt 和 tools_def.txt

  1. C:UEFIedk2Conftarget.txt (确保TOOL_CHAIN_TAG正确)
ACTIVE_PLATFORM       = EmulatorPkg/EmulatorPkg.dsc
TARGET                = DEBUG
TARGET_ARCH           = IA32
TOOL_CHAIN_CONF       = Conf/tools_def.txt
**TOOL_CHAIN_TAG        = VS2015x86**
  1. C:UEFIedk2Conftools_def.txt
    主要确定工具路径,如果使用默认路径安装VS2015则不用更改路径(如果安装的其他版本,则确认对应版本的路径)
编译指令

(前面环境配置完之后,以后重新运行edk2只用运行以下指令,不用重复执行上面步骤)

编译前准备:

C:UEFI,执行如下指令:

mybuild.bat
edk2edksetup.bat
编译环境已准备,输入指令编译模块:
c:UEFI>build -p ***模块路径*** -t VS2015x86 -a IA32

example1:编译 EmulatorPkg 模块(edk2EmulatorPkgEmulatorPkg.dsc):
build -p edk2EmulatorPkgEmulatorPkg.dsc -t VS2015x86 -a IA32

example2:编译 Hello.inf 包(AppPkgApplicationsHelloHello.inf)
build -p edk2-libcAppPkgAppPkg.dsc -a X64 -m edk2-libcAppPkgApplicationsHelloHello.inf -b DEBUG
BUILD 常用参数

模拟器运行 .efi 文件 编译EmulatorPkg 模块-模拟器模块:
edk2EmulatorPkgEmulatorPkg.dsc
运行模拟器:
C:UEFIBuildEmulatorIA32DEBUG_VS2015x86IA32WinHost.exe

将 .efi 程序 放到 WinHost.exe 目录,进入 shell 之后即可在当前目录找到 .efi 程序

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

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

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