本教程使用的操作系统是Ubuntu Linux 18.04 LTS版本,编译器是GCC5。

首先我们要准备好源代码和工具。

一、到这里下载UEFI SDK 2018(Release版本)并解压(我是解压到Downloads目录),将解压好的目录改名为edk2。

二、安装必备的工具(iasl已经改名为acpica-tools,不过继续用iasl这个旧名字也可以装上):

sudo apt-get install build-essential uuid-dev iasl git gcc-5 nasm qemu-system-x86

三、编译OVMF。执行以下命令:

cd ~/Downloads/edk2

make -C BaseTools

. edksetup.sh

cd ..

make -C edk2/BaseTools

cd edk2

export EDK_TOOLS_PATH=$HOME/Downloads/edk2/BaseTools

. edksetup.sh BaseTools

build -a X64 -p OvmfPkg/OvmfPkgX64.dsc -t GCC5 -b RELEASE

四、测试OVMF。执行以下命令:

cd ~/Downloads

cp edk2/Build/OvmfX64/RELEASE_GCC5/FV/OVMF.fd ./

qemu-system-x86_64 -bios ./OVMF.fd

此时,我们应该看到TianoCore图标在QEMU虚拟机中显示,然后系统会进入UEFI Shell。这代表我们成功地编译了OVMF。

linux 联合编译,在Linux上编译UEFI SDK 2018/OVMF的方法相关推荐

  1. 在Windows上编译UEFI SDK 2018/OVMF的方法

    2019独角兽企业重金招聘Python工程师标准>>> 本教程使用的操作系统是Windows 10 Enterprise 64位版本,编译器是Visual Studio 2017 E ...

  2. c程序在solaris与linux的不同,在Solaris上编译应用程序时,在Linux上使用Valgrind也会有所帮助吗?...

    我编写了一个注定要在Solaris SPARC系统上的C应用程序.但是,我的大部分开发工作都是在Mint Linux 64位计算机上进行的. 我已经看到内存泄漏很小,并且一直在Linux上使用Valg ...

  3. centos编译mysql5.6_centos7上编译安装mysql5.6

    注意,在做实验室统一关闭防火墙做的,在生产环境需要做防火墙规则的,大家要注意,做的时候尽量都是模仿生产环境的,比如服务一般都在/data/soft下面,尽量避免在/usr/local/下面. 安装编译 ...

  4. 在win10和centos7上编译synergy

    在win10和centos7上编译synergy Synergy功能简介 同一局域网中多台机器共享一套键盘鼠标,支持Windows.Linux.MAC设备,鼠标键盘物理连接的机器做服务器端,其他机器做 ...

  5. c 远程编辑linux文件,makefile - 在远程Linux机器上编译C ++ - “检测到时钟偏差”警告...

    makefile - 在远程Linux机器上编译C ++ - "检测到时钟偏差"警告 我通过PuTTY和WinSCP连接到我大学的小型Linux集群,使用后者传输文件,并使用前者编 ...

  6. RH系列linux上编译android2.3(gingerbread)

    在RH系列linux上编译android2.3(gingerbread)的过程如下: 官方源码及ubuntu编译过程在(http://source.android.com/source/index.h ...

  7. printf如何消后续0_Hello World背后的故事:如何在Linux上编译C语言程序

    欢迎访问我的网站查看原文: https://lulaoshi.info/blog/2020/05/31/compile-c-hello-world-on-linux.html​lulaoshi.inf ...

  8. linux编译aborted,Ubuntu Linux上编译kernel出错__stack_chk_fail

    Ubuntu Linux上编译kernel出错__stack_chk_fail 发布时间:2008-02-06 00:02:18来源:红联作者:SMuonon init/built-in.o: In ...

  9. Mac上编译Linux内核时找不到ncurses

    Mac上编译Linux内核时找不到ncurses 前言 Linux源码零零散散看了一些,东西太多.今天突然有兴趣想去编译一下Linux内核,就去网上找了一些资料,由于我是用的Mac,然后并没有找到好的 ...

  10. kaldi在linux上编译,Kaldi的编译过程

    目录 本文介绍Kaldi的编译过程. 在Windows下编译 不建议在Windows下编译. configure脚本是怎么工作的 configure脚本有很多参数,其中一种用法是: ./configu ...

最新文章

  1. Android不是内部或外部指令
  2. 处女座男生颜值测试软件,颜值在线又绅士的星座男(图)
  3. 打造大型直播平台之《PC客户端架构》
  4. gdb x命令_gdb基本命令
  5. STM32使用DMA发送串口数据
  6. python编写应用程序错误_运行简单的Python Flask web应用程序时出错
  7. 欧姆龙rxd指令讲解_欧姆龙cp1h常用指令学习(四)串口无协议读写指令TXD,RXD...
  8. windows下的Zcash钱包(ZEC钱包)-zcash4win 1.0.11
  9. 托马斯微积分 从入门到失望
  10. 清华EMBA课程系列思考之十六(2) -- 领导艺术
  11. php管理智能dns,智能DNS解析与用户定位调度技术
  12. Uva - 1589 - Xiangqi
  13. 【123】linux中 top 解析
  14. 51单片机程序存储器和数据存储器
  15. CSDN无法上传资源解决方法
  16. Java测试工程师技术面试题库【持续补充更新】
  17. 机器学习(五)logistic回归
  18. 阿里云网站备案-备案流程问题解答汇总
  19. Linux下Oracle 11g安装(3)—— Oracle安装篇
  20. 作为技术团队TL,如何运用OKR提高团队产出

热门文章

  1. 第一节补充: 按键操作(CubeMX加HAL库学STM32系列)
  2. VS2015 scanf 函数报错 error C4996: 'scanf'
  3. [JZOJ100026]图--倍增
  4. 模板函数:将string类型变量转换为常用的数值类型和常用的数值类型转String
  5. BMap:JavaScript API
  6. ExtJS2.0.1 ColumnTree控件使用心得
  7. C#利用Process关闭所有的IE窗口
  8. 【干货】《深度学习:Deep Learning》课程PPT下载
  9. 1024大波红包来袭,程序员们请查收
  10. 深度学习TF—13.对抗生成网络—GAN