You probably don't need Yocto, and that's fine
28 points by rw-rw-rw-
28 points by rw-rw-rw-
Your SoC vendor’s official support path is Yocto
and the BSP is solid.
Even if the BSP isn't solid, it's better than the generally quite poor attempt at an Ubuntu port, that makes it a pain in the arse to integrate things like RAUC or making the rootfs immutable.
I hate yocto and it's bastardized dialect of bash/python, but I'm stuck with it.
I work a lot with Yocto (consulting). I've never encountered the problem that the post laments. It's usually the opposite: a customer goes out of their way to avoid using Yocto even when it's the best choice, and management must be convinced to use it. That said, I think Yocto's hate is deserved. It's hard, confusing, slow, and the tooling could be better. But is there any viable alternative? Is there anything similar for the BSDs?
Is there anything similar for the BSDs?
Dunno how similar it is to Yocto, but NanoBSD is the usual way to make embedded system images from FreeBSD.
I don't work on embedded linux/bsd systems, but having worked with NetBSD, I'd say its build system, build.sh is enough? You can easily cross-compile the kernel and a userspace with it. You might need some scripts at the end to also add some pkgsrc applications or if you have to add a bootloader like u-boot in the image you're producing. It is probably not a fully finished flow ready to be customized for your application, but a good base regardless.
The part that's missing in build.sh/pkgsrc is layer management. Unfortunately that's both the "critical feature"/the reason why a lot of people are running Yocto, and its most infuriating and hard to troubleshoot part. Then again, BSDs may not need it as badly as Linux does.
Haven't used it in anger and it's probably less complete than Yocto, built buildroot has some pretty good shit in it. I've mostly used it in the context of Nerves, which is basically buildroot + fwup + an Erlang VM and some support software, and I've found that to be very convenient for developing and packaging/distributing embedded linux systems.
What a timely article, as at $work I've just started on planning and building (a customized) Linux kernel + distro for a Rockchip based device.
The BSP seems to be quite a thing to maintain and "just using" Debian seems a lot more manageable than my badly written bitbake stuff.
The Yocto ecosystem is quite nice tho, there are things like kas and isar that makes all of this easier to start with.
The isar readme suggests it’s based on Debian rather than Yocto. Is it common to mix and match them? The article suggests either Yocto Or Debian, not a mashup.