Dong Nguyen
Raspberry

Setup

#!/bin/sh

sudo raspi-config
# 1: change password
# 2: configure network
# 7: expand storage
# 8: update raspi-config

sudo apt update && sudo apt upgrade

sudo apt clean

# Update swap
sudo vim /etc/dphys-swapfile
# change CONF_SWAPSIZE value to 1024

# restart service
# sudo /etc/init.d/dphys-swapfile restart

sudo reboot

# basic libs
sudo apt install --no-install-recommends -y software-properties-common \
  ca-certificates wget curl git vim

# for GUI
sudo apt install --no-install-recommends xserver-xorg xinit

# Raspberry Pi Desktop (RPD) GUI
# sudo apt install raspberrypi-ui-mods

# Mate
# sudo apt install mate-desktop-environment-core

# LXDE
# sudo apt install lxde-core lxappearance

# XFCE
sudo apt install xfce4 xfce4-terminal

# more tools if GUI enabled
sudo apt install inetutils-tools \
  thunar-archive-plugin file-roller \
  evince viewnior mugshot \
  screenfetch geany xfce4-screenshooter

sudo apt install lightdm
startx

Backup

sudo dd if=/dev/sdX of=/path/to/image.iso bs=1M

# gzip
sudo dd if=/dev/sdX | gzip > /path/to/image.gz

# avanced
sudo dd if=/dev/sdX bs=1M count=4000 | pv | gzip -9 > /path/to/image.gzip

Restore

sudo dd if=/path/to/image.iso of=/dev/sdX bs=1M count=4000

# gzip
gzip -dc /path/to/image.gz | sudo dd of=/dev/sdX

# avanced
gunzip -c /path/to/image.gzip | pv | sudo dd of=/dev/sdX

GPIO control

sudo apt install wiringpi

gpio readall
gpio mode 3 out
gpio write 3 0
gpio write 3 1

https://github.com/WiringPi/WiringPi-Python