ChirpStack Gateway OS is an open-source OpenWrt based embedded OS for LoRa® gateways. It provides a web-interface for configuration and contains pre-defined configuration options for common LoRa hardware to make it easy to setup a LoRa gateway and optionally a ChirpStack-based LoRaWAN® Network Server.
Note: If you are looking for the Yocto recipes of the previously Yocto based ChirpStack Gateway OS, please switch to the v4_yocto branch.
Please refer to the ChirpStack Gateway OS documentation for documentation and pre-compiled images.
Building ChirpStack Gateway OS requires:
To initialize the OpenWrt build environment, run the following command:
make init
This will:
- Clone the OpenWrt code
- Fetch all the OpenWrt feeds, including the ChirpStack OpenWrt Feed
- Symlink configuration and files
This step is not required after running make init
, but allows you to update
the OpenWrt source and feeds at a later point:
make update
For building the ChirpStack Gateway OS, you must enter the Docker-based development environment first:
make devshell
Each target and image has its own OpenWrt configuration file, files and
patches. These can be found under the conf
directory of this repository.
To switch to one of these configuration environments, you must execute:
make switch-env ENV=name-of-env
Fo example if you would like to switch to base_raspberrypi_bcm27xx_bcm2709
,
you execute:
make switch-env ENV=base_raspberrypi_bcm27xx_bcm2709
This will:
- Undo all previously applied patches.
- Update the symlinks for OpenWrt configuration and files.
- Apply all patches.
Once the configuration has been set, run the following command to build the ChirpStack Gateway OS image:
make
Note that this can take a couple of hours depending on the selected configuration and will require a significant amount of disk-space.
Note: The commands listed below must be executed within the openwrt
directory.
To make configuration changes (e.g. add additional packages), you can execute:
make menuconfig
As updates to OpenWrt packages can introduce new configuration options over time, you can run the following command to update the configuration:
make defconfig
Please refer also to the OpenWrt build system usage documentation.
- ChirpStack documentation
- chirpstack-openwrt-feed repository