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-world
Add git. Clone flexbuild repo with maaxboard support.
git clone -b maaxboardLSDK-24.06_DEBIAN-12_LF-6.6.3 https://github.com/iohe/flexbuild.git
Build 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 build
optee-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_BASE
Now, 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
Please log in or sign up to comment.