目录
ubuntu2022 下载
虚拟机的安装方法
Linux的相关配置
Linux 源的替换
将所需要的GitHub上的资源导入到gitee上面。
相关配置的安装
ubuntu2022 下载
????????[阿里云系统镜像](阿里云系统镜像)
虚拟机的安装方法
????????虚拟机安装,可以用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的开发环境的搭建。
?
|