Skip to content
This repository has been archived by the owner on May 26, 2020. It is now read-only.

Latest commit

 

History

History
75 lines (49 loc) · 5.75 KB

rbts-raspberry-pi.md

File metadata and controls

75 lines (49 loc) · 5.75 KB

Raspberry Pi

First of all, welcome to the Raspberry Pi channel. The OLE Raspberry Pi image is a modified Raspbian image, with additional software pertaining to the open learning exchange program, which you can put onto the microsd card for the Raspberry Pi.

To get started, there are two main repositories to work with: treehouses/builder and ole--vagrant-treehouses.

Basically, they both do the same thing - create an image compatible with the Raspberry Pi. The difference between the two is that the ole--vagrant-treehouses creates a virtual machine to create the image whereas the treehouses/builder is for Debian-based Linux distributions such as Debian or Ubuntu.

Since ole--vagrant-treehouses creates a virtual machine, it works on all platforms such as macOS, Windows, and Linux, but requires that the system supports virtualization. This also means that it will use extra resources in terms of memory, HDD space, and CPU cycles. Including this option meant that anyone can create an image for the Raspberry Pi.

Pre-Requisites

Testing the custom treehouses/builder image:

  • Any Raspberry Pi
  • A Class 10 microSD card (minimal 16GB, but we recommend 32GB or greater)
  • microSD card reader

Building the image with treehouses/builder:

  • Ubuntu or Debian based Linux distribution (Other distros are untested)
  • An Internet connection
  • OR build on Travis CI

Building the treehouse-builder image with ole--vagrant-treehouses:

  • A virtualization enabled computer with Vagrant & Virtualbox (If you can run the vagrant tutorial without problems, then this is fine.)
  • 8 GB of harddrive space
  • 4 GB of memory
  • An Internet connection

Raspberry Pi Meetings

We meet on Wednesdays at 4:30 PM EST online on http://talk.ole.org. Just sign in with your Google account and you're good to go. If nobody is in the hangouts room, someone will be there eventually usually a few minutes after 4:30PM, unless of course the meeting is canceled but that will be stated in the #raspberrypi chat channel on Gitter.

How can I help?

So far we are working on creating a seamless experience for the image, meaning we want the user to have many connectivity options without having to tinker too much with the Raspberry Pi. So our main goal at the moment is getting the Raspberry Pi to connect to different connectivity options such as wifi/bluetooth/ethernet automatically. This allows more people to contribute and debug unexpected problems. Once we have those bases covered, we can move onward to the software part.

There is always something to be done. Check the GitHub issues for treehouse-builder to see what needs to be done or waffle.io. Once you've chosen an issue and fixed the problem, create a PR using the same guidelines as the ones used when you had to go through the intern orientation. If you have any questions, just ask! You can find us on the #raspberrypi channel on Gitter.

SSH key

Since we are customizing the image, we would like to access it without using password everytime. In order to do that, our implementation requires you to set your membership to be public at Open Learning Exchange and have a SSH key in your GitHub account. If you don't have one for the computer your are working on, please follow the guide on GitHub Help and return here when you are finished.

After you are done generating and adding SSH keys, go to https://github.com/<your-github-username>.keys to double-check if your new key is on GitHub. On the next treehouses image release, your key will be in the image.

Brief Rundown of treehouses/builder

Below we have a short step-by-step rundown of how the treehouses/builder works:

  1. Download Raspbian image
  2. Validate the downloaded image
  3. Modify Raspbian image into an OLE image by executing a few shell scripts
  • Disable authorization
  • Add ssh-keys
  • Purge unnecessary packages
  • Install packages needed for OLE such as docker and matchbox-keyboard
  • Run autorun script
  1. Enter chroot if user needs to perform additional commands
  2. Write the .img file with a program such as Etcher to the MicroSD card

Relevant Repositories

  • treehouses/builder - create a custom Raspbian image for the Raspberry Pi
  • ole--vagrant-treehouses - Creates a vagrant virtual machine that runs treehouse-builder
  • treehouses/cli - CLI tool for treehouses Raspberry Pi image
  • treehouses/control – Bluetooth service for treehouses image which interacts with treehouses/remote android app
  • treehouses/remote - An Android app that communicates with headless Raspberry Pi mobile server running treehouses image via Bluetooth
  • mobile-piiper - Usb-tethering with an Android device to the Raspberry Pi

Relevant Links