从github edk2获取edk2源代码。
___
编译基础工具git
因为以前编译安装过一些GNU的软件,下意识的Configure,make,而后找MakeFile,结果,不用说了。。。因此,必定要看官方文档!!
在图书馆找到了戴正华的《UEFI原理与编程》,有步骤。但版本是2014版,有点老了。书中是编译UnixPkg,下载的代码中这个文件夹里以没有代码,只有一个 Deprecated.txt,也就是这个包已弃用,应当编译Emulator。
进入项目文件夹后有个BaseTools,这是编译须要的基础工具,先编译这个文件夹。
使用命令cd BaseTools
make
我在编译时报错,是strncpy函数的,仔细看是把警告做为错误了,我使用了一个投机取巧的办法,最后编译过了,不知道之后运行会不会出什么问题。。。。就是在出错代码处加入这条指令,忽略该警告:#pragma GCC diagnostic ignored "-Wstringop-truncation"
总感受这么作不太对,正确作法该怎么作,欢迎大佬评论区留言。
github
编译模拟器编程
回到项目主目录,使用命令
. edksetup.sh
或是source edksetup.sh
。注意是source这个文件,而不是直接执行。这时候就有了build命令。
参考这里:
EmulatorPkg/build.sh
编译
EmulatorPkg/build.sh run
运行函数