Note: This project was written in Nov of 2024 using NXPFlexbuildLSDK-24.06_DEBIAN-12_LF-6.6.3 (Linux kernel 6.6.3)but should continue to be applicable to newer releases
Build environmentStart by creating a machine where to run Flexbuild. It could be Ubuntu 20.04 or 22.04.
Add docker as in steps from https://docs.nxp.com/bundle/UG10155/page/topics/build_environment.html.
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Add the repository to Apt sources:
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run hello-worldAdd git. Clone flexbuild repo with maaxboard support.
git clone -b maaxboardLSDK-24.06_DEBIAN-12_LF-6.6.3 https://github.com/iohe/flexbuild.gitBuild packagescd flexbuild
. setup.env
# create docker build image or connect to it if it is already created
bld docker
# your prompt should now be root@fbdebian
# unless directed, all steps are run into docker container
. setup.env
apt install python3-cryptography
apt install python3-pyelftools
apt-get install libssl-dev flex bison uuid-dev gnutls-dev zlib1g-dev
# build all
bld -m imx8mqmaaxboard
# expect to fail, at optee-os buildoptee-os build will error since it does not know imx8mqmaaxboard variant. We need to add it. Below is the patch, please apply it.
root@maaxboard:/home/debian/flexbuild/components_lsdk2406/apps/security/optee_os# git diff
diff --git a/core/arch/arm/plat-imx/conf.mk b/core/arch/arm/plat-imx/conf.mk
index 64e04ed20..a10b9052a 100644
--- a/core/arch/arm/plat-imx/conf.mk
+++ b/core/arch/arm/plat-imx/conf.mk
@@ -60,7 +60,8 @@ mx7ulp-flavorlist = \
mx7ulpevk
mx8mq-flavorlist = \
- mx8mqevk
+ mx8mqevk \
+ mx8mqmaaxboard
mx8mm-flavorlist = \
mx8mmevk \
@@ -376,6 +377,11 @@ CFG_DDR_SIZE ?= 0xc0000000
CFG_UART_BASE ?= UART1_BASE
endif
+ifneq (,$(filter $(PLATFORM_FLAVOR),mx8mqmaaxboard))
+CFG_DDR_SIZE ?= 0x80000000
+CFG_UART_BASE ?= UART1_BASE
+endif
+
ifneq (,$(filter $(PLATFORM_FLAVOR),mx8mmevk))
CFG_DDR_SIZE ?= 0x80000000
CFG_UART_BASE ?= UART2_BASENow, after it is patched, re-run command to build it.
All images are to be found under flexbuild/build_lsdk2406 folder.
Adjustments required:
as boot partition is now ext4fs, command in uboot env like fatload need to be adjusted to ext4load. You might want to check around here






Comments