目錄
- 1 實驗目的及環境
-
- 1.1 實驗目的
- 1.2 實驗環境
-
- 1.2.1 拉取代碼
- 1.2.2搭建交叉編譯環境
- 2 相關鏡像編譯
-
- 2.1 TF-A鏡像編譯
- 2.2 U-Boot鏡像編譯
- 2.3 Linux Kernel鏡像編譯
- 2.4 構建跟文件系統
- 3 啟動linux內核
-
- 3.1 啟動腳本構建
- 3.2 啟動Linux內核
1 實驗目的及環境
1.1 實驗目的
通過FVP加載TF-A,用uboot作為TF-A的BL33,然后使用uboot加載linux內核。
1.2 實驗環境
1.2.1 拉取代碼
需要拉去的代碼為:Linux源碼、TF-A源碼、Uboot源碼。
1.2.2搭建交叉編譯環境
(1)安裝依賴
sudo apt-get update
sudo apt-get install -y \gcc-aarch64-linux-gnu make git flex bison bc \libssl-dev device-tree-compiler dwarves \libncurses-dev python3
(2)設置環境變量
export CROSS_COMPILE=aarch64-linux-gnu-
export ARCH=arm64
2 相關鏡像編譯
2.1 TF-A鏡像編譯
(1)獲取源碼
git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
cd trusted-firmware-a
(2)編譯鏡像
編譯生成BL1、BL2、BL31并生成FIP包,指定Uboot作為BL33。
make PLAT=fvp DEBUG=1 RESET_TO_BL31=1 \BL33=/abs/path/to/u-boot.bin \all fip