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]> Fri, 9 May 2025 16:35:23 +0200
Newsgroups org.yoctoproject.lists.meta-freescale
Message-ID <[email protected]>
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