当前位置: 首页 > article >正文

EDK II环境搭建(Windows系统)

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的环境就搭建起来了!!!

此篇仅献给我美丽的女朋友~

http://www.lryc.cn/news/2419570.html

相关文章:

  • Java的ResultSet对象,默认是不可更新的
  • DirectShow 概念介绍
  • bind9新手入门
  • 人本主义流派,罗杰斯人本主义理论,马斯洛的人本主义人格理论
  • CGO中使用ReadProcessMemory读取其他进程内存
  • linux构建widi显示服务,如此简单 Intel WiDi无线高清设置教程
  • Lua userdata详解
  • 典型相关分析 CCA
  • Makefile中常用到的函数总结
  • 2024年最新网络安全人士必备的13个漏洞库_通用漏洞数据库,2024年最新网络安全开发基础机构
  • 在浏览器中输入www.baidu.com后执行的全部过程
  • 博客管理系统设计与实现
  • 第二幕:C语言基础篇之基本数据类型(基本整型、短整型、长整型、双长整型、字符型、单精度浮点型、双精度浮点型、复数浮点型、无符号类型、布尔型、格式符(占位符))
  • 探索Python实用工具库:Boltons
  • VLAN的配置
  • selenium开发环境部署Maven官方依赖porm文件分享
  • 欧美风格网站设计的网页字体风格选择
  • 史上最污技术解读...啊哈~“好变态”~~~
  • AVPlayer 播放在线视频和本地文件(数据库)设置
  • 【RDMA】9. RDMA之Queue Pair
  • C基础-12
  • 书单(含资源链接,快撸!)
  • 网关配置入门:打造连接网络的桥梁
  • Python3.7 运行的时候提示缺少 zlib1.dll 最简单解决办法
  • HDU杭电OJ基础100题2000-2099(C语言版)
  • Win10下Windows Mobile设备中心无法连接斑马PDA 、无法拷贝文件———— Windows 设备中心64位安装包
  • 网站导航颜色停留_良好的网站导航设计有助于提升网站排名
  • 小向まな美
  • YOLO V7网络实现细节(2)—网络整体架构总结
  • PHP函数strip_tags的一个bug浅析