目录
- 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