zoukankan      html  css  js  c++  java
  • Ubuntu下EDK2的环境搭建

      本次随笔主要讲的是Ubuntu18.04和20.04的环境搭建

      距离上次Windows下edk2环境搭建已经过去三个月了,现在终于有时间更新Ubuntu下的环境搭建啦。

    Ubuntu1804

      首先需要安装一些必备的软件,这里先在软件和更新里面切换一下源 ,换到阿里云或者华为云都可以。

        先 apt install update 一下,然后开始安装软件

        apt install python3 (最好先检查一下Ubuntu自带的python版本,然后再决定装什么版本)

        apt install iasl   (ubuntu20.04 的话应该会提示 apt install acpica-tools)

        apt install lib32z1

        apt install nasm

        apt install uuid-dev

        apt install build-essential

        apt install make

        apt install git   

      所有东西安装完成之后,开始下载源代码。首先连接到一个可以访问GitHub的网络,然后使用git clone命令来下载: git clone --recursive  https://github.com/tianocore/edk2.git vUDK2018

      注意 recursive 这个参数,这样下载的会更加全面,包括链接在内的所有文件都会下载。比较方便。这一步需要花费一点时间,取决于网速,下载完成之后,在使用git clone命令的目录下会产生一个vUDK的文件夹。

      首先在终端中进入vUDK目录里面 开始编译basetools

      make -C $WORKSPACE/Basetools     以我为例,我vUDK放到了根目录下的lqm文件夹中 那么命令为

      make  -C /lqm/vUDK2018/Basetools

      等待一会如果显示OK说明成功,如果失败说明文件有问题,回头看看下载的文件完整不完整,检查一下git clone的时候有没有加参数。

      

      basetools编译完成了之后就可以开始编译pkg了,跟Windows差不多先 source edksetup.sh Basetools(类似于Windows下的edksetup.bat),第一次执行这个命令还会再Conf文件夹下生成编译配置文件,类似于Windows,可以通过修改配置文件来修改默认的pkg 、编译器、 release or debug 等等。 (最好都改成默认GCC5 X64)

      在Ubuntu1804中,gcc不同的版本需要自行下载  apt install gcc-4.8 apt install gcc5 按照这样的格式

    开始build 

      比如 build -p EmulatorPkg/EmulatorPkg.dsc -a X64 -t GCC5

      当然不出意外是会报错的 错误代码如下图所示

     

      发现是系统的python3缺少了一些东西,使用  apt install python3-distutils 安装上即可解决

      如果编译的是我上述说的pkg,那么最后还会报错,在编译Unix的host虚拟机的时候,暂无解决办法,这里先直接注释掉编译虚拟机的部分,如下图所示

      在EmulatorPkg.dsc里面可以找到,修改它再次编译就可以通过了。

    虚拟机部分:

      自带的host编译不了,可以使用第三方的虚拟环境,这里使用了qemu

      apt install qemu  

      然后去编译edk2专门为虚拟机所需的fd做的pkg

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

      然后使用 qemu -bios Build/OvmfX64/DEBUG_GCC5/FV/OVMF.fd      等待较长的一段时间之后就进入shell了,然后exit就可以进入熟悉的BIOS界面

    Ubuntu 2004

      和1804类似,但是有些许不一样,首先是gcc编译器 ,它不能单独的安装gcc编译器,gcc编译器被集成到别的安装包里面去了,把上述的软件安装完了就会有gcc编译器了。

      编译basetools的时候会提示没有python,在终端输入python也会提示找不到命令。解决方法如下

      先 apt install python2 然后把python链接到python2.7  命令如下

      sudo ln -s /usr/bin/python2.7  /usr/bin/python

      Basetools编译好了之后和1804一样install python3-distutils 注释掉Unix的host 就可以build通过。

    2004和1804最大的区别是qemu版本不同 ,2004的版本比较高运行不了BIOS虚拟环境(我尝试了很久也没有解决)

    问题如下图所示

    that is all

  • 相关阅读:
    GITHUB随笔 15-5月 junit
    github心得
    (转)哪个瞬间让你突然觉得逛知乎真有用?
    0-1背包问题(the knapsack problem)
    对VSCode在安装了Dev-cpp的电脑上的配置
    非全日制考研资料(未完待续)
    CSS那些事读书笔记-2
    CSS那些事读书笔记-1
    前端面试准备-1
    工作日记-一个有趣的定时任务实现
  • 原文地址:https://www.cnblogs.com/zedd/p/13209101.html
Copyright © 2011-2022 走看看