I’m using a BeagleBone as a base to develop a custom board. I’ve read pages and pages of doc and I feel I need some highlights to make sense of it all. Note that I’m mainly trying to understand the custom Linux distribution workflow at the lowest level here, for instance to be able to recreate from scratch the OE BeagleBoard stack… and I’m confused by all the available resources.
So, here is my question spree to shed some light on these matters, not necessarily specific to the BeagleBone but it’s a great platform to understand it all. Feel free to contribute even if you don’t have all the answers.
I don’t understand why is the meta-beagleboard layer that huge. First, why is it using the kernel 3.8 where the meta-ti layer supports 4.1? (is meta-beagleboard depending on meta-ti in the first place, and if not, why? There are references to the BB in the meta-ti tree, why is an other layer even needed?) What’s the difference with the layer meta-bbb?
Then, why is recipes-kernel so full of all kind of patches? Where do those come from, why does the kernel need so much patching? Then, if those patches are here to “fix” the mainline kernel for the BB, what is exactly the RobertCNelson/bb-kernel repo? And the beagleboard/linux repo? What’s the relationship between all those projects?
Also, I’ve read the DeviceTree story, but it seems that the actual BeagleBone DTS is in the kernel (arch/arm/boot/dts/am335x-bone-common.dtsi)… yet I thought the whole point of the DTS transition was not to add all ARM board files to the kernel. Moreover, many mach-omap2/ and DTS files are patched in bb-kernel and in meta-beagleboard… is it just because they’ve not been merged back to mainline yet?
When it comes to customizing the DTS, I’ve seen for instance a reference to https://github.com/bradfa/beaglebone_pinmux_tables/blob/master/beaglebone_pins_p8 or https://github.com/jadonk/bonescript/blob/master/src/bone.js to find out the actual pin numbers. How are these files have even been generated?
I know I am mixing up different concepts here but they all coexist in the different docs… so I thought I’d give it a try here. Some resources clearing that up would be great too.
Thank you for any clue that’ll help me to see through this forest!