Live data from Hacker News

ResinOS, run Docker containers on embedded devices

resinos.io

31–40 of 73 posts

Re: ResinOS, run Docker containers on embedded devices

#31
post #30

Earlier quoted context omitted.

The hypriot guys are doing great work, and we share a common mission in spreading containers to embedded development. ResinOS is built with production deployments as a first goal, and so has a read-only rootFS, supports atomic host OS updates, is ported (and portable) to a lot of device types (via Yocto) and in general has many more "embedded" characteristics than Debian, on which hypriotOS is based. I do however wan…

Excellent response and yes, HypriotOS is based on Raspbian, which is a Debian derivative. Glad to hear you're using Yocto as well. I'll certainly have to check this out. Do you have anyone using Kubernetes on ResinOS by chance? I've got a small fleet of small hardware and had started looking at running k8s on HypriotOS, but this looks a bit more custom built.

Haven't really tried to go that route. There are some fundamental limitations to Kubernetes and Docker Swarm due to their dependence on etcd, which behaves very badly when the devices are not on the same LAN. Depending on your use case you may want to have a look at resin.io as a management/orchestration service of sorts (pardon the plug), though our focus is purely on embedded/IoT scenarios, so it may or may not apply to your use case.

Re: ResinOS, run Docker containers on embedded devices

#33
post #30

Earlier quoted context omitted.

Excellent response and yes, HypriotOS is based on Raspbian, which is a Debian derivative. Glad to hear you're using Yocto as well. I'll certainly have to check this out. Do you have anyone using Kubernetes on ResinOS by chance? I've got a small fleet of small hardware and had started looking at running k8s on HypriotOS, but this looks a bit more custom built.

Haven't really tried to go that route. There are some fundamental limitations to Kubernetes and Docker Swarm due to their dependence on etcd, which behaves very badly when the devices are not on the same LAN. Depending on your use case you may want to have a look at resin.io as a management/orchestration service of sorts (pardon the plug), though our focus is purely on embedded/IoT scenarios, so it may or may not app…

Nah I also do quite a bit of work with microcontrollers such as the esp8266 (32 bit 80Mhz RISC) and the just released esp32. It's relevant and I'll check them out.

Thanks for the heads up!

Re: ResinOS, run Docker containers on embedded devices

#35

Earlier quoted context omitted.

The version of Docker on the OS right now is 1.10 so the ram footprint of the OS is fairly small. The team is all asleep (being in Berlin and whatnot), but I'd estimate about 50mb is a decent approximation. We're working on getting a newer Docker but its RAM footprint is one of our concerns, though we do have ways forward. The number of containers is kinda a red herring for a couple reasons. For one, you can make a t…

quick question...would the images have to be specifically built for arm? (we were looking to build a cluster of RPis that we could orchestrate containers on.)

ARM isn't x86. You get a nice generic kernel with enough built in drivers plus an Initrd and it can boot on most Intel/AMD hardware both old an new (at least the Pentium 4+..maybe even the P2 or P1. Haven't tried a newer distro on them).

ARM isn't anywhere near as standardized. There are usually vendor kernel patches, not just for drivers, but dependent on the block layout of that particular ARM board. uBoot is often forked and also specialized. There is no one shoe fits all Grub.

Re: ResinOS, run Docker containers on embedded devices

#36
I'm using Docker more and I do like it (after a fashion), but I don't want to move my embedded software to this model. I've got one OSS project written in Python and it can run on python-mini (used on OpenWRT) on tiny configurations (It has minimal dependencies and doesn't even need a virtual-env. It's prepackaged in rpms, debs and apks. It needs raw access to GPIO and USB. ResinOS, which technically interesting, seems like way too much and another layer I just don't need.

I don't want to sound like a dick, because I'm sure the authors put a lot of work into this, but I really don't think this is a good pattern at all.

If I had to write my client again today, I'd probably write it in RUST/LLVM, giving me even less of a reason to stick it in a docker container on my device with <8MB storage space.

Re: ResinOS, run Docker containers on embedded devices

#37
post #26

This is awesome! I always loved Arduino as it promoted a few core ideas (apps are highly portable, the environment is standardized over boards and devices) - this allows the hobbyist / stack overflow reader to make some awesome hacks in a few hours and really reduces the barrier to entry for maker projects. However, in the last few years, I've wanted a similar type of environment for all the Linux boards that now clu…

> A movement away from Arduino might be around the corner if there is something as accessible but much more powerful available. The block is no doubt "power management" - suspending/hibernating Linux boards for battery operation etc... What are RasPi and similar boards lacking? Power management? Not enough GPIO pins?

>What are RasPi and similar boards lacking? Power management? Not enough GPIO pins?

For me its the ability to "blink" (sleep a designated time and then re-awaken for a brief burst of activity) and so perform some task for 6 months straight on a pair of alkaline AA batteries.

Re: ResinOS, run Docker containers on embedded devices

#38

I'm using Docker more and I do like it (after a fashion), but I don't want to move my embedded software to this model. I've got one OSS project written in Python and it can run on python-mini (used on OpenWRT) on tiny configurations ( It has minimal dependencies and doesn't even need a virtual-env. It's prepackaged in rpms, debs and apks. It needs raw access to GPIO and USB. ResinOS, which technically interesting, se…

Our model is not a commandment for everyone. There will always be cases where containers don't make sense. However, every new level of abstraction meets this instinctive reaction at first. People didn't want VMs in the data centre messing with their bare metal either, I'll bet.

The point of containers is to make updateability easy. To bring embedded software closer in line with what's going on in the cloud. To enable the kinds of workflows we have had in every other part of the development world for decades. It may or may not be right for your project. So long as you understand the intention and make informed choices about the tradeoffs, there will always be cases that fall in the one or the other side of the fence. I don't perceive this as being a dick, you're stating a reasonable case for a model that does indeed work for a lot of cases.

We will continue working to reduce overhead, hopefully power requirements and cost will go down, and somewhere along the curve, we may even meet your needs at some point. Whatever the case, we're pretty sure we'll never cover everything so if we gave the impression that resinOS will end all embedded OSes, then it was the wrong impression to give. :)

Re: ResinOS, run Docker containers on embedded devices

#39

Hi everyone, resin.io founder here, happy to answer any and all questions. We just released resinOS at ELCE a few hours ago (Embedded Linux Coference, Europe), happy to see it made HN!

Kudos Αλέξανδρε. Looking forward to see more resin magic.

Re: ResinOS, run Docker containers on embedded devices

#40

Hi everyone, resin.io founder here, happy to answer any and all questions. We just released resinOS at ELCE a few hours ago (Embedded Linux Coference, Europe), happy to see it made HN!

I just added the BeagleBoard X15 to the board support list. Do you anticipate supporting loading the other embedded processors? The BeagleBoard X15 has 2 - Cortex M4s and 2 DSPs but I think a simple case would be the single core dsp on the Beaglebone.
Post reply on HN