很久没有更新博客了,之前的博客末尾有提到过要写有关EDK2环境搭建的博客,现在就是完成的时候了,后续博客更新会比较规律(大概每周一篇?)
本人博客仅仅发表于博客园,本人主页为 https://www.cnblogs.com/zedd/
EDK2我自我感觉是学BIOS的基础,也算是比较好的入门手段之一。虽然是基础,但是确很重要。举个例子来说,真正意义上的国产电脑-龙芯,其BIOS界面以及源代码和EDK2模拟器的BIOS界面及源代码有极大的相似之处,甚至于我感觉龙芯的源代码就是在EDK2的基础上添加了属于自己的内容(因为本人曾经着手参与过龙芯的一个项目,对它有过一些研究)。
闲话说的有点多了,接下来正式进入主题。下面提及的安装包可以在GitHub上下载,VS编译器和Python安装包可以在百度上下载。
第一步,安装VS编译器
安装什么版本的编译器应该影响不大,我用VS2015和VS1017都成功搭建出来过编译环境,以VS2015为例:
安装的时候将 编程语言中的C++勾选上,安装路径默认即可(建议不管搭建什么环境,装软件尽量使用默认路径)
第二部,安装python
安装python2.7 注意当出现下面界面的时候,选择add python.exe to pach 为entire feature will be installed on local hard dirve
安装完成之后C盘根目录下Python27文件夹下应该有Scripts
第三步,安装nasm
将nasm安装到C: asm (注意不要有重复的子文件夹)
第四步,解压isal
将iasl.zip解压到C:asl (注意文件夹名字发生了变化,注意不要有重复的子文件夹)
第五步,设置环境变量
我的电脑-->属性-->高级系统设置-->高级-->环境变量 按下图配置
PYTHON_HOME
PYTHON_FREEZER_PATH
NASM_PREFIX
第六步,解压EDK2 sourcecode
将edk2-master.zip解压到C:edk2 (注意文件夹名字,注意不要有重复的子文件夹)
第七步,搭建环境
运行cmd 输入
cd / (进入C盘根目录)
cd edk2 ( 进入edk2目录)
edksetup.bat
cd c:/edk2/BaseTools/Source/C
nmake all (注意中间有空格,nmake all 成功的话会显示以下内容)
如果报错gbk,把basetool/source/c/makefile/nmakesubdirs.py 的第48行 print(message)改成print(message.encode("GBK","ignore"))
cd c:/edk2
build (如果build成功,会显示如下内容)
找到C:edk2BuildEmulatorIA32DEBUG_VS2015x86IA32目录下的WinHost.exe 双击即可运行32位的模拟器。
今天就写到这里,环境已经搭建完成,程序设计明天再补充出来。