We have our own hardware closely matching the imx28evk (but not exactly). In have built systems for it using LTIB but we want to upgrade to Yocto and to a recent kernel.
I have installed Yocto and built a successfully target for the imx28evk using Yocto.
Now I want to understand how to build for our target hardware.
The question was asked here: How to create a custom board in Yocto ? but the replies only go as far as getting the new empty layer created.
Where do I go to get a clear explanation of how to use layers and recipes to replace one board with another? To add a layer to get from 'imx28evk' to 'myboard"?
I need to change the usage of the pins of the chip, drop the LCD and drop the nand flash. Part of this is kernel configuration and part is a new device tree file.
I assume I will need a new 'defconfig' and a new myboard.dts but where do they go? Somewhere under sources/meta-myboard/.. I assume? and where do I copy them from in order to edit them for our hardware?
The .dts files seem to be a sort of 'include' chain. Can I make just a few changes in myboard.dts and then refer the to remainder of the chain?
Having used ". setup-environment mybuild" to create a working space, it will then include conf/local.conf and after building many others including conf/bblayers.conf.
I assume I modify this conf/bblayers.conf to add my new layer. How is this change then captured? If the sources are in git repositories under 'sources/...' how do other developers in the company get the changes that I've made in my local mybuild/conf ? It's not part of a git repository.
While I'm here, another question is: What role does 'repo' play in all this. Is this new board actually a new 'project'? How do I add projects to repo? Does it capture the changes I've made in mybuild/conf/... ?