[erlang-questions] Light-weight operating systems supporting Erlang in production web servers

Peer Stritzinger peer@REDACTED
Wed Sep 20 17:30:03 CEST 2017

> On 20.09.2017, at 14:01, Drasko DRASKOVIC <drasko.draskovic@REDACTED> wrote:
> On Wed, Sep 20, 2017 at 1:20 PM, Peer Stritzinger <peer@REDACTED> wrote:
>> Hi Drasko,
>>> On 20.09.2017, at 11:36, Drasko DRASKOVIC <drasko.draskovic@REDACTED> wrote:
>>> On Wed, Sep 20, 2017 at 11:12 AM, Adam Lindberg <hello@REDACTED> wrote:
>>>> Hi Richard and Lloyd,
>>>> We target smaller embedded systems that could benefit from Erlang, whereas on a Raspberry Pi (even zero) or Beagleboard you can easily run Linux and Erlang on top. The goal is to be able to work as much as possible with hardware in Erlang. We combine Wi-Fi with support more standard connectors, such as ports for PMODs, I²C, 1-Wire an so on. Our 300 Mhz CPU uses much less energy and the board is aimed at being an evaluation board for (then cheaper) embedded systems.
>>> Booting system from SD Card will not make it in production. I think
>>> you'll need bigger non-volatile storage on the board.
>> We have a board with the same software stack in production for a industrial customer for about 5 year.
>> This board has soldered on NAND flash, but that means you need a Flash filesystem.
>> We use yaffs2 but this is GPL2 dual license and we are paying for being free from GPL in our product.
>> SD Card is good in production for certain use cases but for some one wants NAND flash on board.
>> This is a eval and maker board to build prototypes and have fun with.  And yes it can be used in production for certain use cases.
>> In most production cases I would build a specialized board which have all the sensors on board and not use PMODs for them
>> and also boot from local NAND flash.
>> GRiSP-base is meant as a starting point for that.  And to get started a SD-card is *very* useful
> Prototype - yes, SD card is useful. Production - no, SD cards break
> often. They are not ment to keep your system files and that you boot
> your system from them. They are secondary storage. RPi is totally
> useless in production because of this. There are industrial SD cards,
> but they are very expensive and do not justify not having flash
> soldered on the board.

I disagree, having built many products.  For small batch size industrial SD cards
can be better than soldered on flash.  If you don want to GPL your embedded application
you have to pay about 5k € for licensing yaffs2 … for that I can buy quite a bit of
expensive SD-cards.

And rPI is useless for production anyway because they have quality issues and frequent new versions.  
Which is not a problem since it was meant only for teaching.

>>> And why RTEMS when there is now Zephyr and RIOT with all necessary IoT
>>> libs - like MQTT and CoAP?
>> The question could be stated the other way round too.
>> RTEMS is around since the 1980ties and very robust.
>> Its very usably in industrial and automotive and of course also for IoT (whatever that may be) also its Space rated and used on a lot of space probes of NASA and ESA.
>> One other thing that makes it useful to us: it has solid SMP support and embedded systems are having more cores more and more.
>> And allowing access to SMP is kind of useful for Erlang.  Not available in GRiSP base since we have a single core but we are using this as
>> platform on smaller systems than GRiSP base and larger ones.  What you see on www.grisp.org is just what we put out so everyone can get started quickly and have as much fun as we have :-)
>> But there are hundreds of embedded OS with all kinds of properties, you could pick many for porting Erlang to.
>> The main goal is that the embedded OS we use as basis steps aside and Erlang looks like the OS.
> I understand this, but this is exactly why these modern RTOSes are
> made for: https://www.zephyrproject.org/ and https://riot-os.org/.
> These are big modern projects that try to solve various problems
> existing with old RTOSes, especially on communication and networking
> side.

Well RTEMS in the version we use has a recent SMP capable FreeBSD network stack.

We like old and seasoned better for embedded than new and big projects which pop up and disappear quickly.

Thats what we like about Erlang too.

> IoT communication protocols are not fun to port:
> https://lists.rtems.org/pipermail/devel/2017-March/017240.html <https://lists.rtems.org/pipermail/devel/2017-March/017240.html>

Well who wants the protocol in C when we have Erlang??

> Sticking with weird licensing: https://www.rtems.org/license instead
> with industry-adopted Apache-2.0 is also an error IMHO.

Well whats your problem with that license?  It is an approved license for many large companies
who are our customers.  And not long ago Erlang had a non mainstream license too. 

But thanks for telling us we are doing it wrong for years ;-)

Have a nice day,
-- Peer 

> Best regards,
> Drasko

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20170920/e9788e31/attachment.htm>

More information about the erlang-questions mailing list