5 ms·
Docker is a godsend when you're a solo embedded consultant and a former customer comes to you five years later with an urgent firmware feature request and cash
by cushychicken 3y ago
Docker is a godsend when you're a solo embedded consultant and a former customer comes to you five years later with an urgent firmware feature request and cash in hand.
If you don't have the exact machine any more, then it's "Good luck getting the toolchain and build environment from the vendor!"
Docker has saved my bacon at least twice in this manner.
- publicmail 3y agoYep. I use VMs though. I still have to build for some embedded platforms that are based on the 2.4 Linux kernel…
- fbdab103 3y agoWould a five year old Docker image still work? I mean, probably, but for long term maintenance of a build environment, I would feel significantly better with a VM.
- vidarh 3y agoI have Docker images older than that I use regularly. For things where kernel changes matter, sure a VM may provide better isolation, but should you ever run into problems running your older Docker images, you can easily solve that by spinning up a VM to run Docker in as a worst case fallback. Docker strikes a nice balance of ease of integration and sufficient isolation for most situations.
- raverbashing 3y agoYeah (and I agree) but it doesn't have to be docker It can be a vm, even a chroot. Also the compatibility questions and docker "opacity" come to mind. A QEMU VM sounds like a better propositions
- cushychicken 3y agoI'd consider a VM, and I've used them before, but I've found Docker gives the advantage of forcing me to be thorough in my toolchain docs, and portable to CI pipelines. chroot sounds like nothing but a headache. QEMU VM, I don't even understand the potential advantage of lol
- hot_gril 3y agoQEMU for emulating different hardware I guess. Actually I was wondering how you test firmware repeatably without hardware emu; never dealt in firmware myself.
- cushychicken 3y agoThe only way you really can is with hardware in the loop, in my opinion. People try with mocks and stubs, but hardware in the loop is the only way you can know your firmware works as expected on device.