樹莓派(raspberry) 是基於arm架構的單板機,憑藉著低廉的**,豐富的社群資源風靡全球。
在iot 大行其道的今天,微軟也在樹莓派上面開發了windows iot 的作業系統。為支援windows,微軟請intel為樹莓派開發了32位的uefi 韌體(專案位址)。但是微軟的這個韌體非常簡陋,支援的功能也很有限。國外有位大神基於微軟的專案又開發了64 位的uefi 韌體raspberrypipkg(專案位址),可以啟動arm 版的windows/linux/bsd等。微軟的方案在windows 下面編譯起來非常簡單,就不再贅述。這裡只記錄一下如何編譯64位的raspberrypipkg 。
os:這裡要求用linux環境,例如用的是ubuntu 18.04.2 lts x64
step1:安裝edk2 build 所需的基本工具集,乙個命令搞定:
sudo apt-get install build-essential git uuid-dev acpica-tools nasm python
tar xvjf gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu.tar.xz
git clone
git clone git:
cd edk2
git reset --hard 66127011a544b90e800eb3619e84c2f94a354903
git config --global user.email "[email protected]"
git config --global user.name "charles"
git am --ignore-whitespace ../raspberrypipkg/edk2patches/*.patch
step6:複製「raspberrypipkg\scripts\build5」到工作目錄下。並且執行它:
#最終的目錄結構應該是像下面一樣:
# \# \edk2
# \raspberrypipkg
# \gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu
# \build5
#修改build5裡面的編譯工具路徑:
#export path=$path:$pwd/gcc-linaro-5.5.0-2017.10-i686_aarch64-linux-gnu/bin
export path=$path:$pwd/gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu/bin
執行build5,注意不要用root 許可權來執行:
./build5
可以看到最終順利生成 rpi_efi.fd,這就是樹莓派的uefi 韌體檔案。這個檔案加上閉源的gpu 韌體和配置檔案,放到sd卡裡面就可以順利進入uefi shell。
補充:1.關於aarch64-linux-gnu,使用「sudo apt-get install gcc-aarch64-linux-gnu」 來安裝的話,安裝的版本是最新7.4版本。也可以正常編譯,但是release 版的檔案會有奇怪的問題。所以採用raspberrypipkg 一致的5.5.0版本。
sudo apt-get install gcc-5
#鏈結gcc 5到gcc
cd /usr/bin
sudo rm gcc
sudo ln -s gcc-5 gcc
樹莓派3B 核心編譯
1.1開發環境系統 ubuntu 16 64 位 linux 樹莓派核心原始碼 tools 樹莓派的交叉編譯工具 儲存路徑為 raspberry 下2.1檢視當前樹莓派編譯器的資訊 root raspberrypi cat proc version linux version 4.4.13 v7 d...
樹莓派3B 核心編譯
選著linux工程 版本分支選擇rpi 4.14.y 如果已經有核心配置檔案則不需要此步驟。在當前執行系統中執行如下命令可以獲取config.gz配置檔案,pi raspberrypi sudo modprobe configs pi raspberrypi ls proc con proc con...
樹莓派3B 編譯EMQX
emq是一款國產的高效能訊息 伺服器。功能也挺強大,使用也挺簡單。但是,emq是一款商業軟體,高階功能是需要購買license的。官方 上有詳細的介紹。類別效能 license emq x broker 十萬級開源免費 emq x enterprise 百萬級官網免費30天 emq x platfo...