重拾UEFI学习。
第一步是搭建开发环境,记录如下:
1. 安装开发工具
Visual Studio 2017
python/ASL/NASM
安装到如下目录:
c:\Python310
c:\ASL
c:\NASM
更新系统变量Path:
新建系统变量PYTHON_HOME
下载EDK2
创建工作目录,起个名字c:\UEFIWorkspace, git bash进入该目录:
git clone https://github.com/tianocore/edi2.git
git clone https://github.com/tianocore/edi2-libc.git
2. 配置开发环境
2.1 更新Submodule(子模块)
进入..\UEFIWorkspace\edk2
git submodule update --init
2.2 编译BaseTools
VS2017 > Tools > VS Command Prompt
C:\UEFIWorkspace\edk2>edksetup.bat Rebuild
2.3 设置开发工具的路径
在C:\UEFIWorkspace路径下创建mybuild.bat:
set WORKSPACE=%CD%
set EDK_TOOLS_PATH=%CD%\edk2\BaseTools
set CONF_PATH=%CD%\edk2\Conf
set PACKAGES_PATH=%CD%\edk2;%CD%\edk2-libc
2.4 检查edk2/Conf下的配置文件
3. 编译UEFI模拟器和UEFI程序
3.1 编译UEFI模拟器
设置环境变量:
VS2017 > Tools > VS Command Prompt
C:\UEFIWorkspace>mybuild.bat
C:\UEFIWorkspace\edk2>edksetup.bat
编译UEFI模拟器:
C:\UEFIWorkspace>build -p edk2\EmulatorPkg\EmulatorPkg.dsc -t VS2017 -a IA32
完成之后可在Build\EmulatorIA32目录下看到对应文件夹(忽略VS2015那个,因为target填错了)
3.2 编译UEFI程序:
C:\UEFIWorkspace>build -p edk2-libc\AppPkg\AppPkg.dsc -t VS2017 -a IA32
运行模拟器:
双击C:\UEFIWorkspace\Build\EmulatorIA32\DEBUG_VS2017\IA32\WinHost.exe
至此,Windows下的UEFI开发环境搭建完毕。