3 ms·
This comparison doesn't make a whole lot of sense to me. It's like saying "when I need a dessert, I prefer pie to gelato". I mean, yes, they're both dessert,
by hlieberman 3y ago
This comparison doesn't make a whole lot of sense to me. It's like saying "when I need a dessert, I prefer pie to gelato". I mean, yes, they're both dessert, but they're not the same category of thing.
Debian is great, and it's somewhat famous for the wide varieties of architectures it runs on. But fundamentally, it's an OS meant for use on systems that look a lot more like a computer than an embedded device. It's true, there's a good amount of overlap these days -- the most common OS for Raspberry Pi's is a Debian derivative, Raspbian -- but if you were building an IP camera, it's hardly the first thing I'd recommend.
Yocto, on the other hand, isn't really a distribution of Linux as much as it is a pile of code that lets you craft your own distribution. In a way, it shares some attributes with Gentoo here, though much more narrowly focused. Yocto is meant to produce images that get "flashed", even if not literally to EEPROM; it has integrations with tools like mender, that allow A/B/x style failover on updates. You'd expect things made with Yocto to be upgraded in a single block -- OS, code, all of it -- because it's all meant to run together. Updating a single package isn't really how Yocto is meant to work.
All in all, I mean... yes, I agree with the fundamental point: in most circumstances, when working on low-resource embedded devices, you're probably going to want something more like Yocto than like Debian, but, also, it's a very strange comparison to make.
- leonheld 3y agoI don't think it's a that strange comparison when you start looking at the end customers. There's certainly a market, mainly small to medium scale industrial automation, that really wants to write custom software to control machinery, but doesn't have the necessary background to run a meta-distribution system like Yocto. Most SoC vendors provide a Debian image precisely for this market segment. The thing is, a lot of the guys who need a Linux embedded system are not embedded engineers, so they greatly benefit from having something like Debian, which has infinite resources to build upon.
- voakbasda 3y agoAny vendor supplied distribution will be abandon and become horribly out of date. Maintaining it would be much harder than a similar Yocto system. They would better off embracing their reality than denying it: embedded engineering requires embedded engineers. Source: paid to work on bringing up and maintaining Yocto systems every day.
- leonheld 3y agoI agree from an engineering standpoint but disagree from a market one. It would be a massive overhead for the market segment I mentioned before if they always went with "the best practices". Source: same as you.
- blutack 3y agoUnfortunately a lot of engineers who do this don't appreciate that flash has limited write cycles, and the issues with upgrading non-reproducible systems down the line.
- leonheld 3y agoA lot of projects using Yocto are not even reproducible after a couple years because people forget to save `downloads` and `sstate-cache`, I might add.
- nrclark 3y agoThat's a good point. You don't need sstate-cache, but you do need downloads/ if you want to protect yourself from 3rd party sources going offline. I'd recommend archiving that folder alongside any released versions.