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
thengit 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. Theonboot.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 withsudo udevadm control --reload
,sudo udevadm trigger
. Check that it's working by running thesoftware/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