# Raspbian Setup

We're currently working on the documentation for Raspbian (Help Welcome 😉).

Below you'll find our current tweaks and what deviates from the standard ```armbian``` setup procedure.

# Base Install

To auto updates enable/disable on rpi

Notes/Inspiration: [https://wiki.debian.org/UnattendedUpgrades](https://wiki.debian.org/UnattendedUpgrades)

``` bash

apt-get install unattended-upgrades apt-listchanges
editor /etc/apt/apt.conf.d/50unattended-upgrades
editor /etc/apt/apt.conf.d/20auto-upgrades
editor /etc/apt/apt.conf.d/02periodic

```

# Debian 64-bit ARM for Raspberry Pi 3

Ubuntu offers a beta release of [Ubuntu 18.04 Server (64-bit ARM)](http://cdimage.ubuntu.com/releases/18.04/beta/) for Raspberry Pi 3 boards.

# Chrony

Some notes

- make step is already there these
- change that piece to sed / append to file if not changed

# Cockpit

Unavailable on raspbian by default

``` bash

apt-get install dirmngr
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8B48AD6246925553
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7638D0442B90D010
echo 'deb http://deb.debian.org/debian stretch-backports main' > \
    /etc/apt/sources.list.d/backports.list
apt-get update
apt-get install cockpit cockpit-doc cockpit-dashboard \
cockpit-networkmanager \
cockpit-dashboard cockpit-system \
cockpit-storaged cockpit-packagekit \
cockpit-system cockpit-ws \
packagekit-tools cracklib-runtime

```

# Docker

Totally different install procedure. Run the following as root or preped sudo to each command:

``` bash

apt install apt-transport-https ca-certificates curl software-properties-common
cat > /etc/apt/sources.list.d/docker.list <<EOF
deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/raspbian stretch stable
EOF
curl -fsSL https://download.docker.com/linux/raspbian/gpg | apt-key add -
apt-get update
apt-get install --no-install-recommends docker-ce
```

## Docker Compose

With docker installed, install docker-compose by running `sudo apt-get install docker-compose`.

# Connecting a Console Cable

Connecting your Pi to another computer via a console cable allows you to setup or debug a Raspberry Pi without having to connect a display, keyboard (and optionally a mouse). 

The Lollipop Cloud project provides [Raspian images](https://dl.lollipopcloud.solutions/raspbian/) with support for the Serial Console already enabled. If you chose to use either of these images, skip ahead to [Using the Adafruit USB Console Cable](#usingUsbConsole). 


## Enabling Serial Console

If you do not wish to use the prebuilt Lollipop Raspian image with Serial Console enabled, you can enable the Serial Console with the following steps and refer to [The Raspberry Pi UARTs](raspberrypi.org/documentation/configuration/uart.md) for more information:

1. edit config.txt and add enable_uart=1
2. edit config.txt and change dtoverlay to “pi3-miniuart-bt” ; remove # if present (this puts bluetooth on the miniuart instead of the serial console stuffs); `pin 8 == tx ; pin 10 == receive`

## Using the Adafruit USB Console Cable<a name="usingUsbConsole"></a>
 

Adafruit sells a [USB to TTL Serial Cable/Console Cable for Raspberry Pi](https://www.adafruit.com/product/954) and has a tutorial on installing the necessary drivers. With the Lollipop Raspian image installed onto an SD Card, jump into the tutorial to install drivers for [macOS](https://learn.adafruit.com/adafruits-raspberry-pi-lesson-5-using-a-console-cable/software-installation-mac), [Windows](https://learn.adafruit.com/adafruits-raspberry-pi-lesson-5-using-a-console-cable/software-installation-windows), or [Linux](https://learn.adafruit.com/adafruits-raspberry-pi-lesson-5-using-a-console-cable/software-installation-linux). 

If you are setting up your Pi for the first time, you can run `sudo raspi-conf` after successfully connecting the cable.
