UEFI开发探索03 – 环境搭建2

栏目: Python · 发布时间: 5年前

内容简介:从上次写完博客,过去了一个多月。中间到深圳出差,解决一个硬盘加密的项目,时间就这么过去了。等回过神来,发现写博客的计划又往后拖了。下定决心,我想在这周搞定编译环境。以前我是在XP下,使用UDK2010来编译的,比如这个:

从上次写完博客,过去了一个多月。中间到深圳出差,解决一个硬盘加密的项目,时间就这么过去了。等回过神来,发现写博客的计划又往后拖了。

下定决心,我想在这周搞定编译环境。

以前我是在XP下,使用UDK2010来编译的,比如这个:

UEFI开发探索03 – 环境搭建2
图1 VS2008+UDK2010开发的uefi application

我原本的计划是用Ubuntu 16来搭建环境。最近正习惯在上面用vim和vscode编程,戒掉用了多年的UE和sublime。尝试了一天,总是遇到各种问题,特别是到现在也没有也没搞明白,GCC在安装过程中不知怎么变为了7.x。

这么下去,这周的计划又完成不了。我回到了用windows安装的老路,预备安装UDK2018。

还是折腾了一天,搞定了。把安装步骤和中途遇到的问题记录下来吧。

这是参考用的几个网址:

https://github.com/tianocore/edk2/releases

https://github.com/tianocore/tianocore.github.io/wiki/UDK2018-How-to-Build#how-to-build-windows-system

先吐槽一下,文档写得并不友好,我的时间全花在了编译Base Toosls上。实际上可以不用自己去编译Base Tools,直接下载就可以了。地址如下:

https://github.com/tianocore/edk2-BaseTools-win32

我是在读UDK2017的文档UDK2017 How to Build时发现的。

安装步骤(Win10下安装):

1. 安装 VS2015。我安装了图中所示的项,Python Tools for Visual Studio我觉得应该是不需要的,当时顺手选上了。

UEFI开发探索03 – 环境搭建2
图2 VS2015的安装

2. 安装 Python 2.7.16,同时选择将Python加入Path(安装的时候需要选择);

3. 安装Nasm 2.12.01,注意选择安装路径为C:\Nasm。在我的电脑-属性-高级系统设置-高级-环境变量…-系统变量-Path中添加此路径;

4. 安装Openssl工具和ASL工具(应该不需要,这是用来生成Base Tools用的);

5. 解压edk2-vUDK2018.zip到C:\MyWorkspace;

6. 添加系统变量PYTHON_HOME=c:\Python27;(补充一句,添加编译 工具 路径以及系统变量,可以在edksetup.bat中添加,比如:

Path = c:\nasm;%path%

Set PYTHON_HOME=c:\python27

这样就不需要像步骤3和6一样操作了,对我这种强迫症比较合适);

7. 打开“ VS2015 x64 Native Tools Command Prompt” ,运行edksetup.bat –nt32,会生成/Conf下所需的一些文件; 8. 执行build -p NT32Pkg\Nt32Pkg.dsc -a IA32 -t VS2015x86 run,启动SecMain.exe。

8. 执行build -p NT32Pkg\Nt32Pkg.dsc -a IA32 -t VS2015x86 run,启动SecMain.exe。

UEFI开发探索03 – 环境搭建2
图3 UDK2018的模拟器

我的安装过程并不顺利,遇到了两个问题,记录如下:

问题1:python编译中找不到cxFreeze的module,无法通过编译。

解决:cmd打开,输入pip install cx_freeze。(注意Path中要包含Python的路径,否则无法执行)。

问题2:提示 File “GenFds\GenFds.py”, line 24, in
ValueError: Attempted relative import in non-package

解决:将路径BaseTools\Bin\Win32下GenFds.exe更名为GenFds.LABZ,并将BaseTools\BinWrappers\WindowsLike;添加到Path路径中。

(此问题的解决参照 http://www.lab-z.com/udk2018coming/https://github.com/tzz1996/Blog/blob/master/compile_udk2018_in_windows.md ,感谢!)

至此,终于可以继续探索UEFI了。明天开始将之前写过的例子一个个编译运行,加深理解。至于Ubuntu的开发环境,找时间再做吧。毕竟ubuntu更轻量级点,windows上光VS2015就占了12G。我都是在虚拟机下开发,这么多开发环境,空间严重不足了。

4 total views, 4 views today


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Thinking Recursively

Thinking Recursively

Eric S. Roberts / Wiley / 1986-1-17 / USD 85.67

The process of solving large problems by breaking them down into smaller, more simple problems that have identical forms. Thinking Recursively: A small text to solve large problems. Concentrating on t......一起来看看 《Thinking Recursively》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具