IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 从零开始搭建UEFI开发环境(EDK2) -> 正文阅读

[开发工具]从零开始搭建UEFI开发环境(EDK2)

目录

ubuntu2022 下载

虚拟机的安装方法

Linux的相关配置

Linux 源的替换

将所需要的GitHub上的资源导入到gitee上面。

相关配置的安装


ubuntu2022 下载

????????[阿里云系统镜像](阿里云系统镜像)

虚拟机的安装方法

????????虚拟机安装,可以用VMware 进行安装,比较简单就不赘述。

VMware

Linux的相关配置

Linux 源的替换

?首先需要先更换下源,Software & Update,这个方法更新的更快些。点击Download from .然后再选择Choose Server, Close 之后会弹出一个框,选择Reload。完成源的替换。

将所需要的GitHub上的资源导入到gitee上面。

首先列出需要导入到gitee的。

https://github.com/tianocore/edk2.git
https://github.com/tianocore/edk2-libc.git
https://github.com/acpica/acpica.git

https://github.com/openssl/openssl
https://github.com/ucb-bar/berkeley-softfloat-3.git
https://github.com/tianocore/edk2-cmocka.git
https://github.com/kkos/oniguruma
https://github.com/google/brotli
https://github.com/akheron/jansson

?选择从Github/GitLab导入仓库,导入完成后。将链接一一复制下来。

git clone https://(你的账号):(你的密码)@gitee.com/supersonggggg/edk2.git
git clone https://(你的账号):(你的密码)@gitee.com/supersonggggg/edk2-libc.git
git clone https://(你的账号):(你的密码)@gitee.com/supersonggggg/acpica.git

相关配置的安装

sudo apt update && apt upgrade -y
sudo apt install git vim nasm iasl uuid-dev bison flex gcc-12 g++-12 make libx11-dev libx11-dev:i386 libxext-dev libxext-dev:i386 -y

cd /usr/bin/
sudo ln -s gcc-12 gcc 
sudo ln -s g++-12 g++
sudo ln -s python3 python
mkdir -p /home/admin/uefi_workspace && cd /home/admin/uefi_workspace
git clone https://(你的账号):(你的密码)@gitee.com/supersonggggg/edk2.git
git clone https://(你的账号):(你的密码)@gitee.com/supersonggggg/edk2-libc.git
git clone https://(你的账号):(你的密码)@gitee.com/supersonggggg/acpica.git

cd ./edk2
# 修改.gitmodule
vim .gitmodule

# 修改每个submodule下的url,改成你自己的链接。

[submodule "CryptoPkg/Library/OpensslLib/openssl"]
	path = CryptoPkg/Library/OpensslLib/openssl
	url = https://(你的账号):(你的密码)@gitee.com/supersonggggg/openssl
[submodule "SoftFloat"]
	path = ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3
	url = https://(你的账号):(你的密码)@gitee.com/supersonggggg/berkeley-softfloat-3.git
[submodule "UnitTestFrameworkPkg/Library/CmockaLib/cmocka"]
	path = UnitTestFrameworkPkg/Library/CmockaLib/cmocka
	url = https://(你的账号):(你的密码)@gitee.com/supersonggggg/edk2-cmocka.git
[submodule "MdeModulePkg/Universal/RegularExpressionDxe/oniguruma"]
	path = MdeModulePkg/Universal/RegularExpressionDxe/oniguruma
	url = https://(你的账号):(你的密码)@gitee.com/supersonggggg/oniguruma.git
[submodule "MdeModulePkg/Library/BrotliCustomDecompressLib/brotli"]
	path = MdeModulePkg/Library/BrotliCustomDecompressLib/brotli
	url = https://(你的账号):(你的密码)@gitee.com/supersonggggg/brotli.git
[submodule "BaseTools/Source/C/BrotliCompress/brotli"]
	path = BaseTools/Source/C/BrotliCompress/brotli
	url = https://(你的账号):(你的密码)@gitee.com/supersonggggg/brotli.git
	ignore = untracked
[submodule "RedfishPkg/Library/JsonLib/jansson"]
	path = RedfishPkg/Library/JsonLib/jansson
	url = https://(你的账号):(你的密码)@gitee.com/supersonggggg/jansson.git

# 修改完成后,需要在edk2目录下执行
git submodule sync 
git submodule update --init

# 执行完成后,切到上层目录
make -C ./acpica/
make -C ./edk2/BaseTools 

等待编译完成。

mv edk2-libc edk2 
mv acpica edk2

然后就可以在edk2目录中创建脚本文件用于配置环境。

touch uefi_export.sh

脚本里面的内容如下

export WORKSPACE=$PWD
export PACKAGES_PATH=$PWD:$PWD/edk2-libc
export IASL_PREFIX=$PWD/acpica/generate/unix/bin/
export PYTHON_COMMAND=/usr/bin/python

创建完成后执行如下命令

sudo chmod +x uefi_export.sh
source uefi_export.sh
source edksetup.sh

执行完成后,在命令行中就可以看到build命令。

编译32位模拟器的方法。

build -p EmulatorPkg/EmulatorPkg.dsc -t GCC5 -a IA32 

编译64位模拟器的方法。

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

然后就可以编译UEFI程序了。

build -p edk2-libc/AppPkg/AppPkg.dsc -t GCC5 -a IA32 
build -p EmulatorPkg/EmulatorPkg.dsc -m EmulatorPkg/Application/HelloWorld/HelloWorld.inf -a IA32 -t GCC5 

然后就可以运行模拟器了

cd Build/EmulatorIA32/DEBUG_GCC5/IA32/ && ./Host  

?

?至此完成UEFI的开发环境的搭建。

?

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:40:00  更:2022-04-09 18:42:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 15:03:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码