# chirpstack-gateway-os
**Repository Path**: AnswerInTheWind/chirpstack-gateway-os
## Basic Information
- **Project Name**: chirpstack-gateway-os
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-06-19
- **Last Updated**: 2024-06-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# ChirpStack Gateway OS
ChirpStack Gateway OS is an open-source [OpenWrt](https://openwrt.org/) 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](https://www.yoctoproject.org/)
recipes of the previously Yocto based ChirpStack Gateway OS, please switch to
the [v4_yocto](https://github.com/chirpstack/chirpstack-gateway-os/tree/v4_yocto)
branch.
## Documentation and binaries
Please refer to the [ChirpStack Gateway OS documentation](https://www.chirpstack.io/docs/chirpstack-gateway-os/)
for documentation and pre-compiled images.
## Building from source
### Requirements
Building ChirpStack Gateway OS requires:
* [Docker](https://www.docker.com/)
### Initialize
To initialize the [OpenWrt](https://openwrt.org/) build environment, run the
following command:
```bash
make init
```
This will:
* Clone the OpenWrt code
* Fetch all the OpenWrt feeds, including the [ChirpStack OpenWrt Feed](https://github.com/chirpstack/chirpstack-openwrt-feed)
* Symlink configuration and files
### Update
This step is not required after running `make init`, but allows you to update
the OpenWrt source and feeds at a later point:
```bash
make update
```
### Build
For building the ChirpStack Gateway OS, you must enter the Docker-based
development environment first:
```
make devshell
```
#### Switch configuration
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.
#### Building image
Once the configuration has been set, run the following command to build the
ChirpStack Gateway OS image:
```bash
make
```
Note that this can take a couple of hours depending on the selected
configuration and will require a significant amount of disk-space.
#### Making configuration changes
**Note:** The commands listed below must be executed within the `openwrt`
directory.
To make configuration changes (e.g. add additional packages), you can execute:
```bash
make menuconfig
```
As updates to OpenWrt packages can introduce new configuration options over
time, you can run the following command to update the configuration:
```bash
make defconfig
```
Please refer also to the [OpenWrt build system usage documentation](https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem).
## Links
* [ChirpStack documentation](https://www.chirpstack.io/)
* [chirpstack-openwrt-feed](https://github.com/chirpstack/chirpstack-openwrt-feed) repository