2024-10-22 08:19 PM
I am getting an error when working through the README.HOW_TO.txt in linux-stm32mp-6.1.82-stm32mp-r2-r0 directory.
It seems to work fine until:
6.2 Compile External Device tree
* Compile and install on a build directory (different of kernel source code directory)
Line 221 $ make ${IMAGE_KERNEL} O="${OUTPUT_BUILD_DIR}" KBUILD_EXTDTS="${EXTDT_DIR}/linux" <name of external devicetree .dtb>
where I get this output:
jtest@jtest-B250M-D3H:~/stm_dev/Developer-Package/stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26/sources/arm-ostl-linux-gnueabi/linux-stm32mp-6.1.82-stm32mp-r2-r0/linux-6.1.82$ make ${IMAGE_KERNEL} O="${OUTPUT_BUILD_DIR}" KBUILD_EXTDTS="${EXTDT_DIR}/linux" stm32157f-dk2-a7-examples.dtb
make[1]: Entering directory '/home/jtest/stm_dev/Developer-Package/stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26/sources/arm-ostl-linux-gnueabi/linux-stm32mp-6.1.82-stm32mp-r2-r0/build1'
GEN Makefile
CALL /home/jtest/stm_dev/Developer-Package/stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26/sources/arm-ostl-linux-gnueabi/linux-stm32mp-6.1.82-stm32mp-r2-r0/linux-6.1.82/scripts/checksyscalls.sh
Kernel: arch/arm/boot/Image is ready
Kernel: arch/arm/boot/zImage is ready
multiple (or no) load addresses:
This is incompatible with uImages
Specify LOADADDR on the commandline to build an uImage
make[2]: *** [/home/jtest/stm_dev/Developer-Package/stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26/sources/arm-ostl-linux-gnueabi/linux-stm32mp-6.1.82-stm32mp-r2-r0/linux-6.1.82/arch/arm/boot/Makefile:84: arch/arm/boot/uImage] Error 1
make[1]: *** [/home/jtest/stm_dev/Developer-Package/stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26/sources/arm-ostl-linux-gnueabi/linux-stm32mp-6.1.82-stm32mp-r2-r0/linux-6.1.82/arch/arm/Makefile:297: uImage] Error 2
make[1]: Leaving directory '/home/jtest/stm_dev/Developer-Package/stm32mp1-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26/sources/arm-ostl-linux-gnueabi/linux-stm32mp-6.1.82-stm32mp-r2-r0/build1'
make: *** [Makefile:238: __sub-make] Error 2
The compilation step at line 196 has been run (and repeated steps from there to confirm), which seems like it should set the load address:
196 $> make ${IMAGE_KERNEL} vmlinux dtbs LOADADDR=0xC2000040 O="${OUTPUT_BUILD_DIR}"
Any guesses as what I have missed? I'm afraid I am somewhat out of my depth here, I haven't compiled a kernel for 20 years or more, and the process is very different.