bitbake lmp-device-tree -c do_compile -f && bitbake lmp-device-tree
adb push ./build-lmp-base/tmp-lmp_base/sysroots-components/portenta_x8/lmp-device-tree/boot/devicetree/ov_carrier_pika_spark* /home/fio
adb shell
sudo mv ov_carrier_pika_spark* /boot/devicetree/
image dependencies into a task-depends.dot file:bitbake -g <image>
task-depends.dot for the package you are interested in (i.e. which packages are pulling in llvm):cat task-depends.dot | grep llvm | grep populate
bitbakeThis is i.e. necessary when building the x8h7 kernel modules which are a dependency of meta-partner-arduino.
conf/auto.conf (vim conf/auto.conf)# Extra options that can be changed by the user
-INHERIT += "rm_work"
-INHERIT += "buildstats buildstats-summary"
-INHERIT += "buildhistory"
-BUILDHISTORY_COMMIT = "1"
+#INHERIT += "rm_work"
+#INHERIT += "buildstats buildstats-summary"
+#INHERIT += "buildhistory"
+#BUILDHISTORY_COMMIT = "1"
bitbake x8h7 -c do_cleansstate && bitbake x8h7
find . -maxdepth 4 -name x8h7) within build folder (i.e. build-lmp-base)#build-lmp-base$ find . -maxdepth 4 -name x8h7
./deploy/licenses/x8h7
./tmp-lmp_base/work/portenta_x8-lmp-linux/x8h7
./tmp-lmp_base/log/cleanlogs/x8h7
./tmp-lmp_base/pkgdata/portenta-x8/x8h7
./tmp-lmp_base/sysroots-components/portenta_x8/x8h7
./tmp-lmp_base/stamps/portenta_x8-lmp-linux/x8h7
./buildhistory/packages/portenta_x8-lmp-linux/x8h7
The x8h7 kernel module source files can be found here: build-lmp-base/tmp-lmp_base/work/portenta_x8-lmp-linux/x8h7/0.1-r1/git and can be locally edited there.
bitbake -c do_compile (force the compilation or configure with the modifications you just did in WORKDIR) (and withouth -c do_cleansstate)bitbake -c do_compile -f x8h7 && bitbake -c do_install x8h7
The compiled kernel modules can be found here: build-lmp-base/tmp-lmp_base/work/portenta_x8-lmp-linux/x8h7/0.1-r1/image/usr/lib/modules/6.1.24-lmp-standard/extra.
Note: it is not always obvious what is the final value of any given Yocto variable, since they can be overwritten from different layers. It is therefore highly recommended to check the value with bitbake-getvar.
bitbake-getvar -r <image> <variable>
i.e. bitbake-getvar -r lmp-devel-arduino-image USERADD_GID_TABLES .
git clone https://github.com/pika-spark/pika-spark-docker && cd pika-spark-docker
docker build -t yocto-nxp .
repo init -u https://github.com/nxp-imx/imx-manifest.git -m imx-6.6.52-2.2.0.xml -b imx-linux-scarthgap
repo sync -j1 --fail-fast
docker run -it -u $UID -v $(pwd):/workdir -w /workdir --name yocto-nxp-scarthgap yocto-nxp bash
MACHINE=portenta-x8 DISTRO=fsl-imx-xwayland EULA=yes source ./imx-setup-release.sh -b bld-xwayland
meta-arduino-nxpcd sources
git clone https://github.com/pika-spark/meta-arduino.git && cd meta-arduino && git checkout scarthgap
echo 'BBLAYERS += "${BSPDIR}/sources/meta-arduino/meta-arduino-nxp"' >> conf/bblayers.conf
meta-pika-sparkcd sources
git clone https://github.com/pika-spark/meta-pika-spark.git && cd meta-hailo && git checkout scarthgap
echo 'BBLAYERS += "${BSPDIR}/sources/meta-pika-spark"' >> conf/bblayers.conf
If you are using the Pika Spark AI Accellerator board:
git clone https://github.com/hailo-ai/meta-hailo.git && cd meta-hailo && git checkout hailo8-scarthgap
echo 'BBLAYERS += "${BSPDIR}/sources/meta-hailo/meta-hailo-accelerator"' >> conf/bblayers.conf
echo 'BBLAYERS += "${BSPDIR}/sources/meta-hailo/meta-hailo-libhailort"' >> conf/bblayers.conf
Verify that all desired custom layers are included correctly:
bitbake-layers show-layers
docker start yocto-nxp-scarthgap
docker exec -it yocto-nxp-scarthgap bash
source setup-environment bld-xwayland
bitbake pika-spark-base-image
https://github.com/nxp-imx/mfgtools
uuu -b emmc_all tmp/deploy/images/portenta-x8/arduino-console-image-portenta-x8.rootfs.wic.zst
su
vi /boot/uEnv.txt
-ovlist=''
+ovlist='ov_som_lbee5kl1dx ov_som_x8h7 ov_carrier_pika_spark'
Note: Restore via u-booot if boot fails.
mmc list
mmc dev 1
mmc info
ext4ls mmc 1:1 /boot