Re: [meta-freescale] Advice on Yocto Build for Mainline Linux or for NXP Linux for Polyhex Debix Model A or Model A SoM for Open Source Wildlife Camera System

"Mauro S." <[email protected]> Thu, 15 May 2025 08:38:48 +0200
Newsgroups org.yoctoproject.lists.meta-freescale
Message-ID <[email protected]>
On 14/05/25 19:03, Will Robertson wrote:
> Hi Mauro,
> 
> Thank you very much!
> 
>> Then you could use one i.MX8MP machine among the ones listed in meta- 
>> freescale
> 
> If I look in the meta-freescale-3rdparty layer what's the easiest way to 
> tell if the Yocto builds for the boards there are based on mainline 
> Linux or on NSP's i.MX Linux distribution?
> 

You can check the IMX_DEFAULT_BSP, IMX_DEFAULT_BOOTLOADER and 
IMX_DEFAULT_KERNEL variables defined in machine configuration.

E.g. for Olimex the IMX_DEFAULT_BSP is the NXP one (then u-boot and 
kernel from NXP), but in machine IMX_DEFAULT_KERNEL is overriden to use 
-fslc Linux (derived from mainline), probably because it better support 
this board.

In general the NXP kernel has better support for VPU part, as stated in 
the linux-imx recipe.

> Would boards like these typically have separate Yocto builds for 
> mainline Linux and i.MX Linux or only Yocto builds for one or the other?
> 

You can use the same build dir, but if you use two separate builds you 
don't need to rebuild when you want to change the BSP.

>> Nitrogen 8MP or Olimex i.MX8MP EVB
> 
> I wasn't able to find a price online for the Nitrogen 8MP but I did get 
> a price of 120 USD for the Olimex i.MX8MP EVB and SoM.
> 
> The price of the NXP 8MPLUSLPD4-PEVK and 8MPLUSLPD4-EVK eval. boards 
> makes them suitable for prototyping but I don't have the money to use 
> them in field studies.
> 
> Will
> 
> On 2025-05-09 15:35, Mauro S. wrote:
>> On 09/05/25 12:59, Will Robertson wrote:
>>> Hi Mauro,
>>>
>>> Thank you very much for your help - it's an enormous help to me to 
>>> understand why I was getting so confused trying to find Yocto 
>>> recipies for this board.
>>>
>>> I've put some links to our conservation work and the repository for 
>>> WildCamera below.
>>>
>>> We could use a different i.MX 8M Plus board - a board that has good 
>>> Yocto support and good mainline Linux support would be ideal for us 
>>> so if anyone can suggest one that would be very valuable. (We plan to 
>>> try to keep independent of any one hardware supplier and keep an 
>>> element of competition between suppliers.)
>>
>> Then you could use one i.MX8MP machine among the ones listed in meta- 
>> freescale (they are all from NXP and are demoboard, so perhaps they 
>> are too big for your product) or the ones listed in meta- 
>> freescale-3rdparty layer (Nitrogen 8MP or Olimex i.MX8MP EVB AFAIK).
>>
>> These machines should give you a plain and pleasant out-of-the-box 
>> Yocto experience :-)
>>
>>>
>>>> Moreover Debix does not provide a meta layer for its boards.
>>>
>>> Yes - that's what we found as well - the Debix instructions describe 
>>> manually modifying the source files which to me seemed strange - 
>>> modifications like these would normally be done in a new Yocto layer?
>>>
>>> My background is as a climbing arborist and user space (Python, .Net, 
>>> SQL) software engineer so my understanding of embedded systems is 
>>> inadequate - if folk can suggest anything that I should study to 
>>> improve my understanding please let me know.
>>>
>>
>> Embedded systems topics are many, in general you can start from a good 
>> book for each topic (e.g. Packt and NoStarch editors have many useful 
>> books).
>>
>>> There's more about our conservation work here
>>>
>>> https://new-homes-for-old-friends.cairnwater.com/
>>>
>>> And here in English, German and French
>>>
>>> https://new-homes-for-old-friends.cairnwater.com/quick-summary-new- 
>>> homes-for-old-friends-switzerland/
>>>
>>> And analysis for the new open source wildlife camera here:
>>>
>>> https://github.com/William-Robert-Robertson/WildCamera
>>>
>>
>> Congrats for your activities and good luck for this new project!
>>
>> Regards
>> -- 
>> Mauro S.
>>
>>> Will
>>>
>>> On 2025-05-09 09:12, Mauro S. wrote:
>>>> On 08/05/25 17:07, Will Robertson wrote:
>>>>> Hi,
>>>>>
>>>>> I was wondering if anyone had any advice on the simplest way for me 
>>>>> to use Yocto to build an image using mainline Linux or NXP Linux 
>>>>> for the Polyhex Debix Model A i.MX M8 Plus board or for the Debix 
>>>>> SoM A i.MX 8M Plus board with SoM A I/O board?
>>>>>
>>>>> For my work in conservation of endangered European dormouse species 
>>>>> I'm working on a new open source wildlife camera system so I'll 
>>>>> have to learn how to include kernel drivers for image sensors in 
>>>>> the device tree. I'm not a professional kernel driver engineer so 
>>>>> if anyone can recommend anything that I could study to help with 
>>>>> this it would also be very valuable.
>>>>>
>>>>> We're looking at the i.MX 8M Plus because of it's very strong ISP 
>>>>> (Image Signal Processor), two MIPI CSI-2 ports and NXP's strong 
>>>>> commitment to open source. The Polyhex Debix boards seem to provide 
>>>>> a good way for us to test prototypes in the field before designing 
>>>>> our own carrier board for an i.MX 8M Plus SoM.
>>>>>
>>>>> As far as I can work out, the Polyhex Debix boards stay fairly 
>>>>> close to the design of the two official NXP evaluation boards 
>>>>> 8MPLUSLPD4- EVK and 8MPLUSLPD4-PEVK:
>>>>>
>>>>> https://www.nxp.com/design/design-center/development-boards-and- 
>>>>> designs/8MPLUSLPD4-EVK
>>>>>
>>>>> https://www.nxp.com/design/design-center/development-boards-and- 
>>>>> designs/8MPLUSLPD4-PEVK
>>>>>
>>>>> I was able to find these Yocto DTS and DTSI files for the boards:
>>>>>
>>>>> for Debix Model A SBC
>>>>> https://git.yoctoproject.org/linux-yocto-dev/plain/arch/arm64/boot/ 
>>>>> dts/ freescale/imx8mp-debix-model-a.dts
>>>>> for Debix Model A SoM I/O Board
>>>>> https://git.yoctoproject.org/linux-yocto-dev/plain/arch/arm64/boot/ 
>>>>> dts/ freescale/imx8mp-debix-som-a-bmb-08.dts
>>>>> and DTSI for Debix Model A SoM
>>>>> https://git.yoctoproject.org/linux-yocto-dev/plain/arch/arm64/boot/ 
>>>>> dts/ freescale/imx8mp-debix-som-a.dtsi
>>>>>
>>>>> Searching for the i.MX 8M Plus under OpenEmbedded I could only find 
>>>>> DDR4 and LPDDR4 boards (of which I think only the LPDDR4 board is 
>>>>> in use):
>>>>>
>>>>> https://git.yoctoproject.org/meta-freescale/tree/conf/machine/ 
>>>>> imx8mp- ddr4-evk.conf?h=master
>>>>>
>>>>> https://git.yoctoproject.org/meta-freescale/tree/conf/machine/ 
>>>>> imx8mp- lpddr4-evk.conf?h=master
>>>>>
>>>>> these both build on imx8mp-evk.inc
>>>>>
>>>>> require include/imx8mp-evk.inc
>>>>>
>>>>> which I think is the official i.MX 8M Plus evaluation board.
>>>>>
>>>>> Debix give some guidance on using Yocto to build images for their 
>>>>> boards here https://github.com/debix-tech/uboot but I thought that 
>>>>> it would be better for me to take a cleaner approach.
>>>>>
>>>>> Thank you very much for your help,
>>>>>
>>>>> Will
>>>>>
>>>>
>>>> Hi Will,
>>>>
>>>> at the moment Debix boards seem not supported "out of the box" in 
>>>> mainline meta layers: this means that there are some pieces needed 
>>>> for their support but some works still be done to add missing parts 
>>>> and gather them together. Moreover Debix does not provide a meta 
>>>> layer for its boards.
>>>>
>>>> To kickstart your project I would suggest you follow the 
>>>> instructions from Debix, at least to do first tests and to take 
>>>> control over the board and the develop process: this helps you focus 
>>>> on the imaging part without losing time to bringup the board.
>>>>
>>>> Later you can return on the BSP part (i.e. u-boot and kernel) and 
>>>> maybe try to implement missing parts and gather them all in a meta 
>>>> layer that allows to build the Debis BSP inside Yocto.
>>>>
>>>> Regards
>