In any case you will need a POSIX compliant operating system with "enough" resources (CPU and memory).
When using Raspbian you can use the standard .deb
package available for every
release.
First, follow the guidelines to setup the mLinux build environment:
git clone git://git.multitech.net/mlinux mlinux-3.x
cd mlinux-3.x
git checkout 3.3.9
ROOT_PASSWORD="root" ./setup.sh
Then, download the required metalayers:
cd layers
git clone https://github.com/joaohf/meta-erlang.git
git clone https://github.com/gotthardp/meta-lorawan.git
add them to the conf/bblayers.conf
:
BBLAYERS ?= " \
...
${TOPDIR}/layers/meta-erlang \
${TOPDIR}/layers/meta-lorawan \
"
Uncomment the mLinux line in meta-lorawan/conf/layer.conf
or create your
custom image recipe.
And then build the image
source env-oe.sh
bitbake mlinux-lorawan-image
Finally, follow the guidelines to flash the mLinux Firmware:
mkdir /var/volatile/flash-upgrade
cp <uImage path here> /var/volatile/flash-upgrade/uImage.bin
cp <rootfs path here> /var/volatile/flash-upgrade/rootfs.jffs2
touch /var/volatile/do_flash_upgrade
reboot
Make sure your LoRa card was correctly detected by
mts-io-sysfs show lora/hw-version
Set ENABLED="yes"
in /etc/default/lorawan-server
.
Edit server configuration in /usr/lib/lorawan-server/releases/<version>/sys.config
and set {disksup_posix_only, true}
since mLinux uses stripped-down Unix tools.
See the MatchX blog.