EDK II环境搭建(Windows系统)
一、搭建前的准备好安装包
二、软件安装
1、安装VS2019 社区版
1. 目前edk2最新版本的20230628只支持到VS2019;
2. 安装路径最好是不要加入空格,否则编译时有概率会报错;
右键管理员运行vs_community__b7442c1d5a9e4279b62a8afb04be73cd.exe
之后,会到如下这个界面。在下面界面里面选择(使用C++的桌面开发、通用Windows平台开发)。不要急着点安装!!!
点击单个组件,搜索cmake,确认有没有勾选,没有则勾上(一定要确认勾选否则环境搭建会失败!!!)
再点击语言包,勾选中文(简体)。
安装位置,最好选择C盘,它默认的位置。
(······也可以选择安装到其他盘,我没试过还不知道有没有影响······)
最后点击右下角的安装,安装完成后,不用运行。(没有截图哈哈哈哈哈哈哈)
2、安装Python
以管理员的身份运行Python安装包,注意要把Python的path添加进去,勾选上。然后点击自定义安装位置。
再点击next
安装文件位置修改为C:Python311
等待安装完成点击close即可完成安装。
3、安装git
首先右键管理员运行git安装包,点击next。
然后勾选添加到桌面(其实这个就右键菜a单里的bash,我也不知道这东西创建桌面快捷方式有啥用)
然后一直next,不要勾选或取消其他设置,直到出现install点击安装!!!
点击install后等待安装即可。
4、安装Nasm
右键管理员启动nasm安装包。点击next即可。
修改安装目录为C:\NASM
点击install等待安装即可完成。
5、安装IASL
解压IASL压缩包,修改文件名为ASL(为什么要少个I,我也不知道哈哈哈哈),然后将整个文件夹移植到C盘根目录。
6、安装OpenSSL
1、下载Zip后缀的Openssl文件
2、下载之后解压到 C:\openssl 下
7、安装Qemu
右键管理员运行qemu安装包。没有中文,选择默认英文即可,点击ok。
点击next后点击i agree再点击next。
修改安装路径为C:\qemu,再点击install等待安装即可。
三、如何使用git下载edk2源码
1、首先检查git是否正常安装
打开cmd,输入git,弹出以下内容表示安装成功。
2、 环境配置
1、去GitHub上注册账号,注册好后桌面右键,点击:Git Bash Here,然后进行账号配置;
(git命令窗口使用粘贴快捷键是shift+ins,或者右键paste)
git config --global user.name “name” //Git账号
git config --global user.email “123@email.com” //Git注册邮箱
tips:注册账号时可能会提示无法验证,建议用谷歌浏览器(最新),游客模式进行注册。
2、查询配置:git config --global --list
3、生成ssh文件夹(输入ssh-keygen -t rsa,敲击三次回车键),文件目录-C:\Users\用户名.ssh;(图是偷的,大概长这样)
4、将ssh文件夹中的公钥( id_rsa.pub)用记事本打开,将里面的内容全部复制粘贴到GitHub管理平台中(添加后会收到邮件提示)setting-ssh
3、创捷本地仓库
本地新建文件夹edk2(根据项目命名),内容空;
mkdir edk2 # //创建一个空目录
cd edk2 # //进入到空目录中
pwd # //显示当前目录
(没有截图哈哈哈哈哈哈)
完成后edk2下会多一个.git目录,表示本地仓库已建好。
4、下载edk2的源码
1、进入在C盘根目录下的edk2,(没有则在C盘根目录新建文件夹edk2),右键点击“Open Git Bash here”
2、 输入以下代码:
git clone https://github.com/tianocore/edk2
敲下回车,即可下载edk2的源码。下载速率有快有慢,慢慢等待完成即可。
等待Git下载完成即可。(注意下载完成后不要关闭这个界面,后续还需要用到)(图是偷的嘻)
5、设置环境变量(重点!!!)
左下角输入环境变量,点击编辑系统环境变量,在点击环境变量。
1、设置Python环境变量;点击新建系统变量输入,PYTHON_HOME = C:\Python311,点击确定。
2、设置nasm环境变量;点击新建系统变量输入,NASM_PREFIX = C:\NASM\,点击确定。
3、在path变量内添加 C:\openssl;C:\NASM\;C:\IASL\;C:\Python311
4、解压openssl-OpenSSL_1_1_0g,将文件夹内的所有文件放在C:\edk2\CryptoPkg\Library\OpensslLib\openssl路径下
6、继续下载更新edk2子模块
在刚才未关闭的edk2的Git界面里输入以下代码:
git submodule update --init
等待下载更新子模块完成,即可关闭该界面。
四、编译edk2
1、编译base tools(编译工具)
在edk2文件中,点击地址栏,输入cmd,敲击回车。
在cmd中输入edksetup.bat //编译初始化环境
接着打开VS2019 x86 Native Tools Command Prompt(注意千万不要用x64的去编译,会失败的),进入到edk2文件夹里面,输入edksetup.bat,然后回车。
接着输入edksetup.bat rebuild(注意bat后面有一个空格)
2、修改配置文件(target.txt)
1、打开edk2源码文件夹->conf->target.txt
修改下面代码的属性选项,保存即可;
TARGET_ARCH = X64 // 修改属性选项为X64 根据电脑属性配置
TOOL_CHAIN_TAG = VS2019 // 编译器选项 这里安装是VS2019的编译器
3、编译edk2源码
使用cmd控制台进入到EDK 2源码根目录后执行以下代码:
edksetup.bat rebuild
完成后继续输入build
(没图)
当出现done则表示编译成功。
五、运行EmulatorPkg模拟器
以EmulatorX64为例,编译后,找到edk2文件夹中的build,通过后在build文件夹中会生成相应的EmulatorX64文件夹,里面存放着该平台对应的生成结果。C:\edk2\Build\EmulatorX64\DEBUG_VS2019\X64
找到WinHost.exe的可执行文件,双击运行后如下:
注意:如果此时GOP平台点击不了,可能因为不是英文模式;build的时候最好系统输入法最好切换到英文模式,否则可能会出现模拟器失去焦点问题。
完结,EDK2的环境就搭建起来了!!!
此篇仅献给我美丽的女朋友~