UEFI 之 EDK2 环境的搭建

下载代码

下载代码主要是在githun,但需要说明的是,直接克隆的代码是不完整的,少好多的子目录和StdLib等;

  • 克隆代码:
git clone https://github.com/tianocore/edk2.git
  • 克隆子目录代码
cd edk2
git submodule update --init
  • 更新子目录代码
cd edk2
git pull
git submodule update

如果无法更新就加这个参数--recursive

  • 子目录包括
CryptoPkg/Library/OpensslLib/openssl
ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3
MdeModulePkg/Universal/RegularExpressionDxe/oniguruma
MdeModulePkg/Library/BrotliCustomDecompressLib/brotli
BaseTools/Source/C/BrotliCompress/brotli
  • 更新Libc
    19年开始,edk2-filter 就把AppPkg, StdLib, StdLibPrivateInternalFiles分离到edk2-libc了,所以最新的EDK2代码中是不包括这几个包的,如开发中需要这几个包,就需要把他们导进来;
    配置环境变量export PATHS_TO_KEEP="./AppPkg ./StdLib ./StdLibPrivateInternalFiles ./Maintainers.txt ./License* ./Read*"
    进入到上面克隆好的edk文件夹cd edk2-filter
    切换到master分支git checkout master
    移除远程路径git remote rm origin
    执行导入命令,时间比较长
    git filter-branch -f --index-filter "git rm --ignore-unmatch --cached -qr -- . && git reset -q \$GIT_COMMIT -- $PATHS_TO_KEEP" --prune-empty -- "master"

原理:就是UDK的分支中吧之前AppPkg, StdLib, StdLibPrivateInternalFiles了log分离出来;
如Edk工程中需要,自己拷贝即可

编译环境

  • 安装gcc5(根据开发平台定)
    sudo apt-get install gcc-5 g+±5
  • 安装nasm
    sudo apt-get install nasm
  • 安装build
    sudo apt-get install build-essential uuid-dev
  • 安装python
    sudo apt-get install python
    sudo apt-get install python3-distutils

编译

  • BaseTools目录下编译工具
    make
  • edk根目录执行
    source edksetup.sh
    说明:如果提示没有Conf,可以从BaseTools中拷贝一个
  • 然后就可以编译自己的平台了
    以EmulatorPkg为例执行如下命令
    EmulatorPkg/build.sh
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: UEFI开发环境搭建包括以下步骤: 1. 安装必要的软件和工具,包括:GNU工具链(如GCC)、EDK II(EFI开发工具包)、Python 2.7等。这些软件和工具可在官方网站上下载。 2. 配置环境变量。将刚刚下载的软件和工具的安装目录添加到操作系统的环境变量中,以便在任何位置都能够使用这些工具。 3. 编写UEFI应用程序。使用UEFI开发工具包和GNU工具链编写UEFI应用程序,包括C代码、汇编代码等。 4. 编译应用程序。使用UEFI开发工具包中的编译器将应用程序编译成可执行文件。 5. 调试和测试应用程序。使用UEFI开发工具包中的调试器和测试工具对应用程序进行调试和测试,以确保其在UEFI固件中正确运行。 需要注意的是,UEFI开发环境搭建需要一定的编程基础和经验,因此对于初学者来说可能会比较困难。建议在学习之前先了解UEFI的基本原理和概念,以及相关的编程技术和工具。同时,也可以参考官方文档和其他相关资源,以便更好地理解UEFI开发环境搭建和应用程序的编写。 ### 回答2: UEFI(统一的可扩展固件接口Unified Extensible Firmware Interface)开发环境搭建包括以下几个主要步骤: 1. 准备开发工具:首先,需要安装一个支持UEFI开发的编程环境,例如EDK II(开放式UEFI开发工具包)或TianoCore。这些工具包提供了完整的UEFI开发框架和示例代码。 2. 安装编译工具链:UEFI开发需要使用特定的编译工具链,包括GCC编译器和GNU binutils等。可以根据官方文档提供的要求,从合适的源中下载并安装所需的工具链。 3. 获取EDK II或TianoCore代码:从EDK II或TianoCore的官方存储库中获取源代码。这些存储库通常使用Git进行版本控制,因此在获取源代码之前,需要在本地系统中安装Git。 4. 配置开发环境:根据需要,可以在本地系统上设置UEFI开发环境来满足特定的需求。这包括配置编译选项,设置环境变量和路径以及安装所需的依赖项。 5. 构建和调试:通过使用编译工具链,编译源代码并生成UEFI固件映像。这些映像可以通过模拟器或真实的硬件来启动和调试。构建和调试过程中可能会发现一些错误和警告,需要进行适当的调整和修改。 6. 部署和测试:在完成调试和开发后,将生成的UEFI固件映像部署到目标系统上进行测试。可以使用适当的UEFI引导加载器来引导UEFI固件映像。 总之,UEFI开发环境搭建涉及安装开发工具、获取源代码、配置环境、构建和调试、部署和测试等步骤。这些步骤需要一定的技术知识和经验,但通过正确的步骤和实践,可以搭建一个可靠和高效的UEFI开发环境

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值