We're running Ubuntu 18.04.6 LTS (Bionic Beaver) on the Sparrow's ARM processor.

Quick start

You have all the hardware for a Sparrow-Albatros data acquisition system and you want to get the software up and running for data collection. Easy, just download the latest image from os-sd-images directory, unzip it, and write it onto a fresh SD card.

⚠ To save time writing the image we shrink the main filesystem partition. If the image hasn't automatically resized, make sure to resize the partition so that it takes up the full disk space. To do this:

  • Insert the SD card into a linux machine or computer, if using an SD card sleeve, make sure it is in writable mode (physical slot switched upwards, towards metal)
  • If it auto-mounts, unmount it
  • Open gparted as superuser sudo gparted
  • Select the volume corresponding to the SD card
  • Resize the filesystem partition "rootfs" so that it fills the remaining disk space (right-click, resize, drag and drop, click green tick box apply all operations)

Stick the card into the Sparrow board's microSD card slot and you're good to go!

Installing Sparrow-Albatros software onto a fresh SD card

If you want to install and this software on a different OS, here are a few things to look out for:

  • When cloning the repository, make sure to not pull large files. If git-lfs is installed cloning will by default pull large files from the repository. To avoid pulling large files execute export GIT_LFS_SKIP_SMUDGE=1 then git clone --filter=blob:none https://github.com/ALBATROS-Experiment/sparrow-albatros
  • You need to install realtimeradio's sparrow-fpga repository and configure the zync_scripts/onboot.sh script to run on boot. In our imaged setup the onboot script is symlinked to the user's root directory and executes automatically on each boot. The onboot.sh script sets some environment variables and configures the PLL.
  • For the LEO Bodnar GPS module to work, copy software/10-local.rules to /etc/udev/rules.d/. Then reboot or reload the udevadm with sudo udevadm control --reload, sudo udevadm trigger. Check that it's working by running the software/check_lb.py script as superuser.
  • For to set up a reverse tunnel on boot you need to make a service. You can follow the example of the service at /etc/systemd/system/reverse-tunnel-service-tb-stephenfay.service which sets up a reverse tunnel to my twiddlebug user on boot.

Reverse tunnel service reverse-tunnel-service-tb-stephenfay.service

[Unit]
Description=Reverse SSH tunnel
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/usr/bin/ssh -N -R 18997:localhost:22 -p 2690 -i /home/casper/.ssh/id_rsa_sparrow_tb -o StrictHostKeyChecking=no -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes stephenfay@132.206.126.20
RestartSec=30
Restart=always
User=casper

[Install]
WantedBy=multi-user.target