emqxarchive / emqx-packages

EMQ X RPM/DEB Packages
https://www.emqx.io
5 stars 9 forks source link

Official ARM and/or RaspberryPi Support #7

Open Zagrophyte opened 6 years ago

Zagrophyte commented 6 years ago

It seems like this package is very close to being out-of-the-box buildable on things like Raspberry Pi, which would make for a compelling quick-setup portable MQTT broker use case for EMQ.

I have been testing this out on a few systems, and I was able to successfully prepare the .DEB and manually dpkg -i the result. It installs properly and works great on Raspberry Pi 3 ARMHF.

However, the debian Makefile is currently assuming AMD64, so it fails during copying of the package: https://github.com/emqtt/emq-package/blob/07bc81e17d4f0751d9993311a2390348831c9121/deb/Makefile#L11

Even if the ARM packages never make it into the official repositories, being able to kick off an emq-package build on a Pi and then DPKG it would make for a very trivial setup on new systems.

Ideally the quick start instructions for Raspberry Pi / ARM would be:

git clone https://github.com/emqtt/emq-package.git
cd emq-package && make
sudo dpkg -i ./package/emqttd_2.3_armhf.deb

I have tested the scenario above (manually) and it worked out great for my devices.

Is this something the team would be willing to explore?

zhengyupan commented 6 years ago

Hi Zagrophyte, Thanks for the comment and advice! Sure it belongs to the things we are willing to explore. Our vision is making the EMQ the best and the most deployed MQTT broker. That means we definitely want it being deployed on different architectures, including the ARM based platforms like Raspberry Pi or other edge devices.

We will test and verify and improve this project persistently. If you have any questions or suggestions, please contact us. My email: zhengyu.pan@emqtt.io, or via skype: zhengyu.pan

Zagrophyte commented 6 years ago

Great, thanks!

astrorafael commented 6 years ago

Hi. Apparently, it worked for me ! I have been able to generate emqttd_2.3_armhf.deb using Raspbian (Debian 9.4) and Erlang/OTP 20.3.8.I have installed it, started and verified that the service is at least running

pi@piclu2:~/emq-package/package $ sudo service emqttd status ● emqttd.service - LSB: Erlang MQTT Broker Loaded: loaded (/etc/init.d/emqttd; generated; vendor preset: enabled) Active: active (running) since Thu 2018-08-09 15:17:49 UTC; 3s ago Docs: man:systemd-sysv-generator(8) Process: 26821 ExecStop=/etc/init.d/emqttd stop (code=exited, status=0/SUCCESS) Process: 27393 ExecStart=/etc/init.d/emqttd start (code=exited, status=0/SUCCESS) CGroup: /system.slice/emqttd.service └─25904 /usr/lib/emqttd/erts-9.3.3/bin/epmd -daemon

ago 09 15:17:30 piclu2 systemd[1]: Starting LSB: Erlang MQTT Broker... ago 09 15:17:33 piclu2 su[27478]: Successful su for emqtt by root ago 09 15:17:33 piclu2 su[27478]: + ??? root:emqtt ago 09 15:17:33 piclu2 su[27478]: pam_unix(su:session): session opened for user emqtt by (uid=0) ago 09 15:17:33 piclu2 emqttd[27393]: Wi-Fi is disabled because the country is not set. ago 09 15:17:33 piclu2 emqttd[27393]: Use raspi-config to set the country before use. ago 09 15:17:49 piclu2 emqttd[27393]: emqttd 2.3.11 is started successfully! ago 09 15:17:49 piclu2 systemd[1]: Started LSB: Erlang MQTT Broker.

tonnenpinguin commented 6 years ago

We've been using emqttd 2.3.x on raspbian for a few months now and it works like a charm.