Live data from Hacker News

ResinOS, run Docker containers on embedded devices

resinos.io

61–70 of 73 posts

Re: ResinOS, run Docker containers on embedded devices

#61

Earlier quoted context omitted.

Curious how ResinOS compares with RancherOS which runs 'everything' in a container. [1]: http://rancher.com/rancher-os/

resinOS is designed for embedded devices, already supports many of them running several architectures (all the way down to ARMv5). While I have heard that rancherOS can run somewhat on a raspberry pi, that's a long way from being able to properly function in an embedded environment (read-only rootFS, reliable networking and DNS stack, support for atomic host updates, etc). There's nothing we'd like more than to have…

The transactional updates sounds a bit like Ubuntu-Snappy-Core. Does ResinOS have a significantly smaller footprint?

Also curious about the Raspberry Pi story.

Re: ResinOS, run Docker containers on embedded devices

#62

Earlier quoted context omitted.

anything that would benefit from a consistent build pipeline, fast deployments, isolated failures, etc etc.

Sorry, I'm a long-time embedded developer and that's gibberish to me. We don't deploy fast. We deploy once.

I don't agree. Today you can push out packages to embedded device easily; even tiny You can push out regular updates, but you have to be very careful. You need to have full testing environments and real lab units of all generations to test on before you push to production and realize you now have a brick on the roof of an 80 story building that takes a week to get a roof permit form.

The cloud stuff is gibberish. Today's cloud is rebranded hosted platforms. I agree, I don't see the argument of making _embedded like the cloud_ being meaningful either. I know on my embedded projects we had a tight ship pipeline and you need that for the reason stated above. Sure you can do that with Docker/ResinOS, and it might help with building a piece of that, but I have a feeling it adds as much complexity as it might mitigate.

Re: ResinOS, run Docker containers on embedded devices

#63

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 point of containers is to make updateability easy".

No.

The difficulty in performing upgrades is not in upgrading the code.... that's relatively easy.

The real difficulty is making your data and the current state of your application upgradable.

This is not going to be solved by containers.

Re: ResinOS, run Docker containers on embedded devices

#64

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…

I discovered that docker can be helpful during development for embedded stuff even without using docker on the device itself,. E.g. we put the target distribution for an embedded device incl. the whole development toolchain (gcc&co) in an image. That way the build environment can be easily stored and distributed through a docker registry

Re: ResinOS, run Docker containers on embedded devices

#65

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!

Hi! Discovered resin.io already some time ago and think Docker containers on embedded devices is a very interesting approach.

Just skimmed a little bit through the resin-os docs and was left with the following questions:

- What's your plans for audio and video? The base system doesn't seem to provide any audio or video manager. Should those (e.g. wayland) also be ran inside a container, which could make access from other containers difficult? Or should they if required be included through the Yocto image build process? Or is A/V currently out of scope for you and you focus on pure networked devices?

- Haven't found any description on how prebuilt docker images can be packaged and flashed during the installation process or later on? I only found the rdt push description which seems to push the application sources to the device and builds the image there. This might be interesting for development but would not be anything that I want at all for production. E.g. I don't want to give customers my app sources, I need company git repository access (credentials) during image building, etc.

- What's your reasoning about building all those build and development tools in coffeescript for node? From a pure tool user perspective I know that it's a turn-off for lots of users that it requires node6 on the PC (it's not LTS, other stuff might require other versions, what is that node-thing anyway, ...). And from a developer perspective I would rather not prefer an exotic programming without static typing and a rather volatile ecosystem for a reliable long-term system. I don't want to say here that it isn't possible to create solid project with it and yours might work great - it's just not the first option that comes to my mind.

Re: ResinOS, run Docker containers on embedded devices

#67

Earlier quoted context omitted.

anything that would benefit from a consistent build pipeline, fast deployments, isolated failures, etc etc.

Sorry, I'm a long-time embedded developer and that's gibberish to me. We don't deploy fast. We deploy once.

I'm sure your customers will appreciate that when it turns out you have some massive security vulnerability and you won't be updating anything.

Re: ResinOS, run Docker containers on embedded devices

#68

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!

Hi! Discovered resin.io already some time ago and think Docker containers on embedded devices is a very interesting approach. Just skimmed a little bit through the resin-os docs and was left with the following questions: - What's your plans for audio and video? The base system doesn't seem to provide any audio or video manager. Should those (e.g. wayland) also be ran inside a container, which could make access from o…

If you run a privileged container, you can add any sort of audio and video manager in the container. We have users running X11 and Electron inside their containers, for instance.

Preloaded containers is something we have built out for resin.io, and will be extending to resinOS standalone as well. The current release is just the development version. Production version with preloading should follow.

We use node.js for the development toolkit, not for the OS components. There will always be programming language disagreements, but we find we are productive in node.js and it works for us. Coffeescript is admittedly getting a bit long in the tooth and we should switch to ES6 or TypeScript, but I personaly see that as a minor change, though a good one.

Re: ResinOS, run Docker containers on embedded devices

#69

Earlier quoted context omitted.

resinOS is designed for embedded devices, already supports many of them running several architectures (all the way down to ARMv5). While I have heard that rancherOS can run somewhat on a raspberry pi, that's a long way from being able to properly function in an embedded environment (read-only rootFS, reliable networking and DNS stack, support for atomic host updates, etc). There's nothing we'd like more than to have…

The transactional updates sounds a bit like Ubuntu-Snappy-Core. Does ResinOS have a significantly smaller footprint? Also curious about the Raspberry Pi story.

Transactional updates are pretty much standard for embedded devices that care about updates. Android Brillo, ChromeOS, Android, Snappy, and many many others employ similar strategies.

ResinOS does indeed have a smaller footprint, a broader set of supported architectures (Snappy only supports ARMv7 and above), and uses Docker instead of LXD+snaps.

Re: ResinOS, run Docker containers on embedded devices

#70
post #7

I always have trouble calling platforms that can run a system of this magnitude "embedded." For some reason I always had the term "single-purpose" linked with the idea of an embedded system. Once you add tons of RAM, a relatively powerful processor, and can only last a couple of hours on a battery--I feel like then it's just a small general purpose computer.

I think there are simply 2 views for the systems: One is the developers view, the other the end users view. From the developers view these Linux based systems are pretty much general purpose computers. However what mostly counts for the definition of "embedded system" is the end users view. The end user (customer) gets a complete system for a specific purpose, he can't install any own applications and partly can't ev…

This is the most useful argument I've ever heard on this. Thanks!
Post reply on HN