一次成功!Windows在WSL中建立EDK2環境

相信許多BIOS工程師,特別是Module Team或者是業餘愛好者,都會有架EDK2環境的需求。這邊就來介紹,我是怎麼在Windows 裡面架環境的。

歸功於WSL,現在在Windows中架各種環境,也適用Linux的方法,這通常比Windows的方法容易許多。WSL全名為Windows Subsystem for Linux,可以把它想像成是一個虛擬機,由於是Microsoft Windows 10、11原生提供的功能,就連kernel似乎都是專為Windows重新編譯過的,運作起來相當地高效。如何安裝WSL? 基本上照著微軟的文件,應該沒什麼困難。

https://learn.microsoft.com/zh-tw/windows/wsl/install

我自己是慣用Debian,安裝完畢以後,就會獲得一個CLI的Linux。同樣地,也可以在VS Code中的Terminal,開啟WSL。

接著就是安裝EDK2相關的工具了,除了Make和GCC(包含在build-essential裡面),還要安裝nasm和iasl,以及uuid-dev。
EDK2許多工具使用Python撰寫,build過程亦會使用到Python。
看吧,這就是Linux架設環境方便的地方,一條apt command就把該裝的工具裝完了。

sudo apt install git python3 build-essential nasm iasl uuid-dev

接下來就是把EDK2 clone下來,切換到stable release,然後把submodule也clone下來。

git clone https://github.com/tianocore/edk2.git
cd edk2
git checkout edk2-stable202511
git submodule update --init

接下來要先建EDK2的BaseTools

make -C BaseTools

接著把BaseTools指定到剛剛編好的BaseTools

source edksetup.sh BaseTools

最後測試看看環境能不能正常編譯,如果成功的話就能在build目錄裡面找到Shell.efi

build -a X64 -t GCC -p ShellPkg/ShellPkg.dsc

爾後,每次開新的Terminal,要記得重新source BaseTools。以下是開新的Terminal要重做的:

source edksetup.sh BaseTools

如果嫌麻煩的話也可以設定成自動:

cp ~/.bashrc ~/.bashrc.bk
echo "if [ -f edksetup.sh ]; then source edksetup.sh BaseTools; fi" >> ~/.bashrc

參考資料:

Getting Started with EDK II · tianocore/tianocore.github.io Wiki · GitHub
EDK2環境架設 - urban06123的創作 - 巴哈姆特


留言

這個網誌中的熱門文章

無法被取代的指針型三用電表(一):前言

關於新唐科技NuMicro ISP的介紹和使用方式

科風 BNT-1000AP 黑武士系列不斷電系統開箱拆解、簡易評測及經驗分享