开发环境

虚拟器:Ubuntu 18.04
主机:Win10

下载EDK2

从github下载

git clone https://github.com/tianocore/edk2.git

但是github下载太慢,可以从码云下载。

git clone https://gitee.com/mirrors/edk2.git

如果直接下载下来的话,是2020的版本,还有sub module的问题,此时想要快速开始的话其实可以使用UDK2018的版本。
进入到下载好的代码目录,先用git branch -a 查看一下有多少个分支
我们想要切换到UDK2018,可以使用下面的命令来切换到UDK2018

git checkout UDK2018

编译

我们需要先编译好工具才能编译代码,只用编译一次就好

make -C BaseTool/Source/C

然后就是编译代码了

./OvmfPkg/build.sh -D DEBUG_ON_SERIAL_PORT

等待编译完成后,能在下面的目录中找到这个编译好的BIOS
Build/OvmfX64/DEBUG_GCC5/FV/OVMF.fd

QEMU 运行

到OVMF.fd的目录下,在ubuntu的图形目录下运行下面的命令

qemu-system-x86_64 -bios OVMF.fd -serial stdio

其中- serial stdio表示将会把串口信息传递给终端。
如果想退出在终端按下ctrl+c即可。或者先按ctrl+a,再按下x。
如果不想要出现qemu的图形界面,可以使用-nographic。

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

我用的是win10系统+ubuntu虚拟机。如果想要实现ubuntu下的qemu的bios串口打印输出到win10系统下的话。需要用到vspd这个虚拟串口软件。
首先安装vspd软件,进入到软件后添加一对com口,这里我选择的是COM11、COM12。
然后在vmware的ubuntu虚拟机添加上串口设备。

使用下面命令将信息输出到/dev/ttyS0中

qemu-system-x86_64 -bios OVMF.fd -serial /dev/ttyS0

注意必须要为root权限的时候才能生效。
这样串口打印就打印到win10的串口软件了。

UEFI学习 (一) ——下载与编译相关推荐

  1. *迟来的爱*——《Foursquare》应用源码学习(一) 下载、编译、运行

    做Android项目做到好几年的程序,发现技术进步很慢,逐渐往管理发展..于是, 要看开源项目,学习别人的成功经验,来解决项目中遇到的棘手问题. 于是看到了别人推荐的android的开源源码,找了一个 ...

  2. cmake编译多个文件夹_VTK学习笔记 (一)——下载和编译

    因为工作需要,需要用到一些三维可视化的东西.经过调研,VTK容易上手而且效果很好.于是乎,开启了痛苦的VTK学习之路. 这次准备在一个qt开发的系统中集成vtk做的三维可视化的相关内容.先到官网上去了 ...

  3. SELinux零知识学习四、Audit应用层源码下载、编译和安装

    接前一篇文章:SELinux零知识学习三.SELinux应用层源码下载.编译和安装 在前篇文章中编译SELinux源码时,出现了如下错误: seusers_local.c:11:10: 致命错误:li ...

  4. Linux内核学习①:内核的下载、编译及过程中的问题处理

    Linux内核学习①:内核的下载.编译及过程中的问题处理 Linux内核文件下载 内核下载网址: http://ftp.sjtu.edu.cn/sites/ftp.kernel.org/pub/lin ...

  5. SELinux零知识学习六、swig源码下载、编译和安装

    接前一篇文章:SELinux零知识学习五.libcap-ng源码下载.编译和安装 在前篇文章中编译libcap-ng源码时,出现了如下错误: swig -o capng_wrap.c -python ...

  6. 【kernel学习】内核下载与编译

    内核下载与编译 文章目录 内核下载与编译 1.内核下载 2.验证kernel签名 3.编译选项配置 总结 1.内核下载 可以直接在官网下载:https://www.kernel.org ~/Deskt ...

  7. Android深度探索(卷1)HAL与驱动开发 第四章 源代码的下载和编译 读书笔记

    Android深度探索(卷1)HAL与驱动开发 第四章 源代码的下载和编译 读书笔记     本章学习了使用git下载两套源代码并搭建两个开发环境.分别为Android源代码和Linux内核源代码.A ...

  8. android 例子源码_AOSP系列文章(一)-Android系统源码下载和编译

    前期准备 从这里开始,我们就去做android系统的修改,相信会有更多的同学有更多的玩法. android是开源的,在源代码里没有秘密. 同学们可以去修改系统,做成自己喜欢的样子.做汽车的车机,到家里 ...

  9. VLC for Android源码下载和编译

    Project Hosting on 点击打开链接 最受欢迎的开源项目 点击打开链接 由Android的核心开发团队提供了15个优秀的示例项 目,包含了游戏.图像处理.时间显示.开始菜单快捷方式等. ...

  10. Android12 源码下载、编译、刷机、单编调试Framework

    文章目录 说明 1. 代码下载 1.1 下载Repo工具 1.2 安装和配置Git 1.3 创建工程目录 1.4 初始化Repo仓库 1.5 同步代码 2. 驱动下载 2.1 下载对应机型的驱动 2. ...

最新文章

  1. Spring中@Pattern的使用
  2. 031_div和span
  3. /opt/hbase/conf 中不能启动hbase_Hbase从入门到入坑
  4. 微信OAuth2.0网页授权设置一个域名需多个域名使用的问题
  5. C# WPF:初识布局容器
  6. 杀掉查询的死锁的mysql的链接
  7. Sublime text2空格替换tab键
  8. bzoj1861[Zjoi2006]Book 书架
  9. java之设计模式工厂三兄弟之简单工厂模式
  10. PCL中的ICP算法(Registration模块之IterativeClosestPoint点云配准)
  11. @@HOW TO:检查 MDAC 版本
  12. 福昕高级PDF 专业版程序安装及注意事项
  13. 为什么远程计算机后会黑屏,解决Win10电脑远程桌面黑屏的问题
  14. 数据结构 Hash表(哈希表)
  15. Python 实现Tracert追踪TTL值
  16. mini programe
  17. DHTMLX Grid Crack
  18. Java学习笔记:案例:计算公司财务报表
  19. 什么才是【Python】中的鸭子类型和猴子补丁
  20. java 初始化数组_java如何实现数组初始化

热门文章

  1. 生成26个大小写字母加0-9数字的密码字典文件(python3.X)
  2. idea oracle 工具,IntelliJ IDEA的数据库管理工具实在太方便了
  3. stm32f103c8t6开发版点亮oled屏幕工程文件_OLED液晶屏如何显示中文呢
  4. 【我的Android进阶之旅】Realm数据库学习资料汇总(持续更新)
  5. MVC 《web考勤管理系统》 项目研发文献
  6. 8音度dsp调音教程_特伦诗DSP电脑调音教程 8音度DSP调音软件使用认知连载一
  7. 圈圈教你玩usb第一版件电子资源使用说明
  8. 微信小程序+java后台
  9. android游戏开发学习笔之九 (学习书籍 Android游戏编程之从零开始)
  10. 《高质量程序设计指南——C++/C》重印啦!