Let me first start with that I know this kind of question is often asked. I have searched all over the main Toradex website, Toradex community and the Internet in general to get my answer, but I could not succeed with it in real life. This could be due to the fact that I’m just starting to dive into the heart of what Linux is and how to mold it to my needs with missing some crucial commands / information to optimize my search for the answers/solution.
The first thing I want to accomplish is to alter the device tree to my own carrier board design. In my search I found that this could be done in two ways? (I’m not sure about this):
- Add your own .dts to linux-toradex (latest from git). And make the dtbs, like described here. I just create a copy of the default Apalis evaluation board, but change the description inside to show a difference. I also renamed the file. I have succeeded in making the .dtb of my own version. Only from this point on I don’t know how I could link it to the OpenEmbedded bitbake system so that in the end a correct image file with my custom device can be installed on the module.
I have also tried to manually set my carrier device tree inside the boot menu, like partially described here. But this also wouldn’t succeed, it just booted with the default device tree.
- Apply a patch to the kernel inside the oe-core meta layers. I have tried different configuration with the aid of a video of yours and some community posts (like this). But also here I can’t seem to get it to work.
So at the moment I’m just thinking that I’m the problem because of just the basics I know. And before you ask, I’m able to build the default image (without me tampering with something) and let it run on the module.
So at this point I still don’t have a Linux version running with my custom device tree. And I’m not even sure which one of the two is the better option. One post calls out for option one and another post for option 2. In the end I want to have a nice flow in operation without all to much hassle.
With this post I try to get an understanding how I can accomplish this. Examples would be very helpful but a good book (or some sorts) is also welcome. In addition advise in the best method is preferred so that I don’t switch between them all the time in trying somethings out.
The seconds thing, this is only an assumption at the moment, is that we maybe need to alter some code in the kernel with regards to V4L2 (adding support for maybe different cameras). Does this change to whole vision I have created above, or would this just be absurd to even try?
Thanks in advance and any help is appreciated. Also if I let out some crucial information please ask. I tried to keep it simple so that others can follow my mindset, at the moment, so they know how to explain it to me :).