This repository contains two Yocto layers designed to support Arduino hardware platforms:
This layer provides Board Support Package (BSP) configurations for Arduino hardware platforms based on nxp processor. It includes:
- Device tree overlays.
- Kernel module recipes for Arduino-supported peripherals.
- U-Boot configurations for Arduino boards.
This layer provides specific customizations targeting the Linux Micro Platform (LMP) distribution from Foundries.io (Qualcomm). It includes:
- Custom configurations for LMP.
- Recipes for integrating Arduino-specific features with LMP.
- Initialize and sync the Yocto manifest:
repo init -u https://source.foundries.io/factories/arduino/lmp-manifest.git -m arduino.xml -b devel repo sync -j1 --fail-fast 
- Build the Docker image for the Yocto environment:
cd .repo/manifests docker build -t yocto-lmp-v93 . cd ../.. 
- Set up the Docker environment:
docker run -it -u $UID -v $PWD:/workdir -w /workdir --name yocto-lmp yocto-lmp-v93 bash 
- Configure the build environment for mfgtool-files:DISTRO=lmp-mfgtool MACHINE=portenta-x9 . setup-environment echo "ACCEPT_FSL_EULA = \"1\"" >> conf/local.conf echo "MFGTOOL_FLASH_IMAGE = \"lmp-devel-arduino-image\"" >> conf/local.conf 
- Build the mfgtool-files:bitbake mfgtool-files 
- Configure the build environment for the image:
DISTRO=lmp-base-xwayland MACHINE=portenta-x9 . setup-environment echo "ACCEPT_FSL_EULA = \"1\"" >> conf/local.conf 
- Build the image:
bitbake lmp-devel-arduino-image 
- lmp-devel-arduino-image
- lmp-factory-image
- Initialize and sync the Yocto manifest:
repo init -u https://github.com/nxp-imx/imx-manifest.git -m imx-6.6.3-1.0.0.xml -b imx-linux-nanbield repo sync -j1 --fail-fast 
- Clone this repository into the sourcesdirectory created by the manifest:cd sources git clone https://github.com/Arduino/meta-arduino.git cd meta-arduino && git checkout nanbield 
- Set up the Docker environment:
docker run -it -u $UID -v $PWD:/workdir -w /workdir --name yocto-nxp arduino/yocto-lmp-v93 bash # First time only docker start yocto-nxp # Every login, skip first time cd ~/yocto/nxp && docker exec -it yocto-nxp bash # Every login, skip first time 
- Configure the build environment:
MACHINE=portenta-x9 DISTRO=fsl-imx-xwayland EULA=yes source ./imx-setup-release.sh -b bld-xwayland # First time only 
- Add the layers to your bblayers.conffile:echo 'BBLAYERS += "${BSPDIR}/sources/meta-arduino/meta-arduino-nxp"' >> conf/bblayers.conf 
- Customize your local.conffile to optimize the build environment:BB_NUMBER_PARSE_THREADS = "4" BB_NUMBER_THREADS = "4" PARALLEL_MAKE = "-j 4" 
- Portenta X8
- Portenta X9
- Raspberry Pi CM4
- System Electronics Astrial
Run the following commands to build an image:
source setup-environment
bitbake <image-name>Replace <image-name> with the desired image recipe, such as arduino-console-image.
Contributions are welcome! Please submit pull requests or open issues for any bugs or feature requests.
This project is licensed under the GPL-2.0+.