Hello all, I'm an embedded software guy struggling with Yocto. I'm not asking for assistance as I cannot be saved. Rather, I'd like to make my own. How hard it would be to put a Linux distro onto a device without it? For example, if I were to get a perfectly good distro (let's just say Debian) with the right architecture going in a container. Is there a simple way to combine that with u-Boot, and other crap from a SoC manufacturer to build an image? If that is oversimplifying, I've done Linux from scratch before, and I'd be willing to go that route as well. I guess the issue boils down to the specifics like building the image and anything else that I'm not aware of.
So, what part of this idea is going to be a lot harder than I'm giving it credit for?
By the way, I'm aware of Buildroot. This is more for learning purposes, and who knows... maybe I will actually make something out of it.
What platform are you trying to target? That makes a big difference in what kind of support is available. The more uncommon your hardware is, the more work you will have to put into building the distro. If I recall, Debian does provide some documentation on bootstrapping new hardware. You could try going that route. Yocto and the bitbake recipe syntax does have a learning curve in the beginning, but it is a really powerful build system, and probably would save you a lot of headache. Especially if you want to keep the image updated or extend the capabilities in the future. If you already have a cross compiler, bootloader, and a kernel for your target, you’re halfway there. Then all you need to do is figure out what applications you want for your distro. But if you’re going to have to build that all from scratch, Yocto will probably save you a bunch of time when you have to recompile and redeploy.
Right now, the most common target we have at work is variscite imx6,7 and 8. Nxp has leaned heavily into yocto. To be clear, this would be an outside of work thing, but I'll probably yoke one of our dev boards.
Yeah you’re right, NXP does lean into Yocto. The IMX line has good support with it. You might have the flexibility of going with the community built BSPs and/or vanilla Linux kernel, if you don’t want to rely fully on NXP written software. I’m not 100% certain on the support for your boards under the community supported repos, so you’ll have to look into your exact use case. But it does give you some options.