红联Linux门户
Linux帮助

coreboot基础——作为Payload的UEFI

发布时间:2016-08-15 15:11:27来源:linux网站作者:jiangwei0512
1.下载UEFI代码:
git clone https://github.com/tianocore/edk2.git  
如果使用git比较慢,也可以直接在网站上下载源代码打包文件。
 
2.UEFI目录结构大体如下:(随版本更新可能有变,本文源代码在2016年8月14日下载)
coreboot基础——作为Payload的UEFI
 
3.本文主要使用的是CorebootPayloadPkg这个目录,通过其中的dsc来编译生成UEFI Payload。
 
4.首先需要生成编译工具。进入BaseTools目录,运行make命令即可。
不过为了在Ubuntu下编译成功,还需要安装一些工具包:
apt install build-essential uuid-dev  
 
5.BaseTools编译完成后,返回主目录。并source主目录下的edksetup.sh文件:
source edksetup.sh  
注意不能直接执行,而是需要source,因为edksetup.sh中有设置环境变量的操作。
 
6.另外编译的时候会需要用到nasm,所以还需要安装nasm:
apt install nasm  
 
7.通过以上几个步骤,基本的准备工作就做好了。之后可以通过build命令来进行编译了。
方法有两种,一种通过长命令:
build -a IA32 -a X64 -p CorebootPayloadPkg/CorebootPkgIa32X64.dsc  
另外一种是通过修改Conf目录下的target.txt文件,来指定平台和编译文件等信息,之后直接使用build,后面就可以不带参数了。
 
8.编译得到的文件会在Build目录下,默认的名字是UEFIPAYLOAD.fd:
coreboot基础——作为Payload的UEFI
 
注意:
1.文中使用的Ubuntu系统为16.04;
2.上述部分命令可能需要在root下执行。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/23341.html