This guide was written for FireAlarm, but it will work for other Swift projects as well.
Note: Many of these steps will take a long time (up to several hours). To run a command in the background (so it won't die with your SSH session), I often run the command with time (<command here>) > filename.log 2>&1 &
.
Because some packages are not available in the latest stable release, Raspbian must be updated to Stretch, the testing release. Unfortunately, the Wi-Fi firmware in Stretch is broken. To prevent it from being updated, run sudo apt-mark hold firmware-brcm80211
. If you update to Stretch without doing this (which I did), you can downgrade by running sudo apt-get install firmware-brcm80211=0.43+rpi5
(while connected over Ethernet, of course).
Edit /etc/apt/sources.list
and replace jessie
with stretch
in the first line. The first line should now look like this: