Had a board wit Yocto a few years back. The image compiling was downloading a hundred different packages from dozens of servers, configuration was done by some GUI that was reminiscent of DOS times. It didn't work out of the box, of course, because my schematic differed just slightly from the eval board, because it was powered by 5V and not 3.8V. So the solution - of course- was taking weeks to do, some random binary values have to be changed in some random file before compiling.
Some features needed to be added to the board, so one of the libraries have to be included. This library required an update to another library that broke our application, that was relying on the old one. Then we run out of RAM, because we only had 64MB as per design requirement, so I had to refactor the entire code to use less concurrent python interpreters.
BTW, black boxes everywhere. One black box calling another, that compiles something for you from some other folder, that outputs some code somewhere that gets called from somewhere, maybe.
I'm sure there are people that like to tinker with this and spend their entire life wasted on this, but I'm super glad I don't have to do anything with embedded linux.