https://blog.csdn.net/bigzhizhi/article/details/123069235
导言
Linux BSP是一组源代码,可用于为受支持的板卡创建U-Boot引导加载程序、Linux内核映像、根文件系统和可选的ARM Trusted Firmware(TF-A)映像
U-Boot Bootloader(引导加载程序)
Linux BSP包含以下U-Boot引导加载程序二进制文件:
auto_linux_bsp30.0/<板>/u-boot-<板>.s32
此引导加载程序支持:
SD/MMC/eMMC (u-boot-.s32) 和 QSPI (u-boot-.s32)
其中u-boot.s32.qspi是按照“构建u-boot引导加载程序”一节中的步骤生成的。
Linux Kernel Imag(内核映像)
包含一个基于Linux v5.10.41的预编译内核映像。 内核映像和dtb文件位于以下路径:
auto_linux_bsp30.0_/<板>
Root File Syste(根文件系统)
包含以下rootfs文件系统:
binaries_auto_linux_bsp27.0_//fsl-image-[auto/base/flash]-.tar.gz。
这个tar. gz文件系统包括NXP库,其内容可以装载为NFS共享,也可以存储在安全数字(SD)卡等引导媒体上。
提示:以下是本篇文章正文内容
一、Linux BSP 30.0 User Manual for S32G
这个Linux BSP是使用Yocto 3.2"Gatesgarth"发行版中包含的gcc 10.2.0 for ARM64 cross-compiler交叉编译器构建和测试的。
下面描述的所有步骤都已在Ubuntu-18.04 LTS(本机或通过虚拟机)上运行和验证。 建议安装Ubuntu-18. 04 LTS,然后再进行以下部分。
1. 开发环境准备
1.1. 安装Ubuntu-18.04 LTS
镜像地址(清华源): ubuntu-18.04.6-desktop-amd64.iso
启动盘制作
dd命令制作
sudo fdisk -l
sudo umount /dev/sdb
sudo mkfs.vfat /dev/sdb -I
sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb bs=4M
sudo dd if=~/Downloads/ubuntu-18.04-desktop-amd64.iso of=/dev/sdb status=progress
另一种方法:
通过活动搜索栏打开启动盘创建器(Startup Disk Creator)
1.2. 安装依赖
更新包管理器:sudo apt-get update
Python 2.x - 2.6 或更高版本:sudo apt-get install python
git 1.8.3 或更高版本:sudo apt-get install git
curl:sudo apt-get install curl
安装repo
sudo apt install repo
另外一种方法(推荐)
mkdir ~/bin
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
chmod a+x ~/bin/repo
export PATH=~/bin:$PATH
source ~/.bashrc
1.3. 下载源码
Yocto Project Environment:
配置默认REPO_URL(可以添加到 ~/.bashrc 文件末尾)
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
mkdir fsl-auto-yocto-bsp
cd fsl-auto-yocto-bsp
repo init -u https://source.codeaurora.org/external/autobsps32/auto_yocto_bsp -b release/bsp30.0 --repo-url='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
repo sync
U-Boot bootloader source code
git clone https://source.codeaurora.org/external/autobsps32/u-boot -b release/bsp30.0-2020.04
Linux kernel source code
git clone https://source.codeaurora.org/external/autobsps32/linux -b release/bsp30.0-5.10.41-rt
ARM Trusted Firmware(TF-A)
git clone https://source.codeaurora.org/external/autobsps32/arm-trusted-firmware
optee_os component of OP-TEE
git clone https://source.codeaurora.org/external/autobsps32/optee_os -b bsp30.0-3.11
2. 知识储备及学习路线
2.1. repo及manifest格式
参考文章: https://www.jianshu.com/p/d40444267e8d
2.2. yocto
官方文档: https://docs.yoctoproject.org
实用技巧: https://www.kancloud.cn/digest/yocto/138623
3. 构建
3.1. BSP Ubuntu构建
在构建 Ubuntu 目标映像的情况下,此版本包括对版本 18.04.5 LTS 和 20.04.1 LTS 的支持。
要构建 Linux BSP,请按照以下步骤操作:
首次设置
设置免密权限以执行sudo apt-get
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
./sources/meta-alb/scripts/host-prepare.sh
创建构建目录并测试安装
source nxp-setup-alb.sh -m <machine>ubuntu
例如,对于S32G274A RDB2,machine为 s32g274ardb2ubuntu:
source nxp-setup-alb.sh -m s32g274ardb2ubuntu -d /home/ae/nxp/downloads -c /home/ae/nxp/sstate-cache-ubuntu
echo -e "UBUNTU_TARGET_VERSION = \"18.04.5\"\nDL_DIR ?= \"~/Downloads/yocto_downloads\"" >> conf/local.conf
bitbake <imagename>
bitbake fsl-image-ubuntu-base
这将完全构建U-Boot,kernel内核,modules模块,TF-A(可选)和 rootfs 以用于部署。可以在/tmp/deploy/images/目录中找到生成结果。
此版本包括对以下各项的支持:
machine:
s32g274aevbubuntu, s32g274ardb2ubuntu, s32g254aevbubuntu,s32g233aevbubuntu;
Images:
fsl-image-ubuntu-base, fsl-image-ubuntu, fsl-image-ubuntu-ros.
对于 Ubuntu 映像,默认情况下 Ubuntu 目标版本为 20.04.1。
对于 Ubuntu-18.04 映像目标,请在 /conf/local.conf 中添加以下行:
UBUNTU_TARGET_VERSION = "18.04.5"
然后运行 bitbake ,其中 是上面指定的任何受支持的 Ubuntu 映像。
部署 Ubuntu 映像并启动平台后,请使用以下凭据登录:
user: bluebox
password: bluebox
3.2. TF-A-Enabled映像
通过编辑/conf/local.conf 并追加以下行来部署:
DISTRO_FEATURES_append += "atf"
3.3 支持 OP TEE 的映像
通过编辑/conf/local.conf 并附加以下行来部署:
DISTRO_FEATURES_append += "optee"
3.4 支持 Xen 虚拟机管理程序的映像
通过将以下行附加到/conf/local.conf来启用:
DISTRO_FEATURES_append += "xen"
原文链接:https://blog.csdn.net/bigzhizhi/article/details/123069235更多信息:https://www.mouser.cn/new/nxp-semiconductors/nxp-s32g-reference-design-2/