Skip to content

Commit

Permalink
update readme / remove docs
Browse files Browse the repository at this point in the history
  • Loading branch information
jonashoechst committed Jan 3, 2024
1 parent ee66479 commit bc80ef6
Show file tree
Hide file tree
Showing 17 changed files with 13 additions and 722 deletions.
64 changes: 13 additions & 51 deletions Readme.md
Original file line number Diff line number Diff line change
@@ -1,79 +1,41 @@
# tRackIT OS
[![Build tRackIT OS](https://github.com/tRackIT-Systems/tRackIT-OS/actions/workflows/build_trackit_os.yml/badge.svg)](https://github.com/tRackIT-Systems/tRackIT-OS/actions/workflows/build_trackit_os.yml)
[![Build BatRack OS](https://github.com/tRackIT-Systems/tRackIT-OS/actions/workflows/build_batrack_os.yml/badge.svg)](https://github.com/tRackIT-Systems/tRackIT-OS/actions/workflows/build_batrack_os.yml)

tRackIT OS is an open-source software for reliable VHF radio tracking of (small) animals in their wildlife habitat. tRackIT OS is an operating system distribution for tRackIT stations that receive signals emitted by VHF tags mounted on animals and are built from low-cost commodity-off-the-shelf hardware. tRackIT OS provides software components for VHF signal processing, system monitoring, configuration management, and user access. In particular, it records, stores, analyzes, and transmits detected VHF signals and their descriptive features, e.g., to calculate bearings of signals emitted by VHF radio tags mounted on animals or to perform animal activity classification.
# tsOS-Base
[![Build tsOS-Base Images](https://github.com/tRackIT-Systems/tsOS-Base/actions/workflows/build.yml/badge.svg)](https://github.com/tRackIT-Systems/tsOS-Base/actions/workflows/build.yml)

tsOS-Base is the basis for tRackIT Systems operating system distributions for sensor stations in stand-alone operation in the field. It is based on a Raspberry Pi OS and installs some software that is required for the various purposes.

## Download

The image of tRackIT OS can be downloaded in the [GitHub Releases](https://github.com/tRackIT-Systems/tRackIT-OS/releases) section of this repository.
## Build tRackIT OS

The base tRackIT OS build consists of two stages. First, a `Base.img` is built, which installs all required software and might take some time to be build. Secondly the custom software components and configuration files are copied and installed and `tRackIT-OS.img` is built.

```sh
$ docker-compose run --rm pimod pimod.sh Base.Pifile
### FROM https://downloads.raspberrypi.org/raspios_lite_arm64/images/raspios_lite_arm64-2023-05-03/2023-05-03-raspios-bullseye-arm64-lite.img.xz
Using cache: .cache/downloads.raspberrypi.org/raspios_lite_arm64/images/raspios_lite_arm64-2023-05-03/2023-05-03-raspios-bullseye-arm64-lite.img.xz
### TO Base-arm64.img
Moving temporary /tmp/tmp.vvqN5fe4xU to Base-arm64.img
...

$ docker-compose run --rm pimod pimod.sh tRackIT-OS.Pifile
### FROM Base-arm64.img
Copying Base-arm64.img to tRackIT-OS.img.
...
```

### Targets

As of May 2023, two versions of tRackIT OS exist, build for armhf and arm64. The reasoning behind that is, that some camera software requires 32-bit libraries, which in turn are required by BatRack.
The image of tsOS-Base can be downloaded in the [GitHub Releases](https://github.com/tRackIT-Systems/tsOS-Base/releases) section of this repository.

`Base.Pifile` and `tRackIT-OS.Pifile` are using arm64 as their primary target. However there exist `-armhf` versions which create their 32-bit counterparts. `BatRack-OS.Pifile` depends on `tRackIT-OS-armhf.img`, hence this image needs to be build first.
## Build tsOS Base

## Build BatRack OS

BatRack OS requires three stages of building, as it is based upon tRackIT OS. As the camera drivers only work in the 32-bit OS, the stages differ slightly:
tsOS-Base is available in two versions for a) arm64 (Raspberry Pi 3+ and newer) and b) armhf (< Raspberry Pi 3) devices. The images can be built using [pimod](https://github.com/Nature40/pimod).

```sh
$ docker-compose run --rm pimod pimod.sh Base-armhf.Pifile
### FROM https://downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2023-05-03/2023-05-03-raspios-bullseye-armhf-lite.img.xz
Using cache: .cache/downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2023-05-03/2023-05-03-raspios-bullseye-armhf-lite.img.xz
### TO Base-armhf.img
Moving temporary /tmp/tmp.7JMz4fdunp to Base-armhf.img
...

$ docker-compose run --rm pimod pimod.sh tRackIT-OS-armhf.Pifile
### FROM Base-armhf.img
### TO tRackIT-OS-armhf.img
Copying Base-armhf.img to tRackIT-OS-armhf.img.
...

$ docker-compose run --rm pimod pimod.sh -d BatRack-OS.Pifile
### FROM tRackIT-OS-armhf.img
### TO BatRack-OS.img
Copying tRackIT-OS-armhf.img to BatRack-OS.img.
$ docker-compose run --rm pimod pimod.sh tsOS-Base.Pifile
### FROM https://downloads.raspberrypi.com/raspios_lite_arm64/images/raspios_lite_arm64-2023-10-10/2023-10-10-raspios-bookworm-arm64-lite.img.xz
Using cache: .cache/downloads.raspberrypi.com/raspios_lite_arm64/images/raspios_lite_arm64-2023-10-10/2023-10-10-raspios-bookworm-arm64-lite.img.xz
### TO tsOS-Base-arm64.img
Moving temporary /tmp/tmp.PoPljJLbOK to tsOS-Base-arm64.img
...
```

## Configuration

The system can be configured through different files in the `/boot` partition.

### `boot/cmdline.txt`
### [`boot/cmdline.txt`](boot/cmdline.txt)

`cmdline.txt` holds the kernel boot commandline, which allows to configure the hostname in newer systemd versions. This behavioud is emulated and a hostname can be configured by setting `systemd.hostname=workshop-test-00001`

### [`/boot/firmware/mqttutil.conf`](boot/mqttutil.conf)

Mqttutil reports system statistics via MQTT, [see example config](https://github.com/tRackIT-Systems/pymqttutil/blob/main/etc/mqttutil.conf).


### `/boot/firmware/wireguard.conf`

A wireguard configuration can be set using this configuration file.

### [`/boot/firmware/mosquitto.d/`](boot/mosquitto.d/)
### [`/boot/firmware/mosquitto.d/`](boot/firmware/mosquitto.d/)

Files in this directory are loaded by mosquitto. E.g. mqtt brokers for reporting can be set using files in this folder.
3 changes: 0 additions & 3 deletions docs/Gemfile

This file was deleted.

263 changes: 0 additions & 263 deletions docs/Gemfile.lock

This file was deleted.

21 changes: 0 additions & 21 deletions docs/_config.yml

This file was deleted.

Loading

0 comments on commit bc80ef6

Please sign in to comment.