Skip to content

Instantly share code, notes, and snippets.

@JakeSidSmith
Forked from hofmannsven/README.md
Last active November 27, 2017 04:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save JakeSidSmith/f11bdb97bb4c7122f09ed4c1fdd69485 to your computer and use it in GitHub Desktop.
Save JakeSidSmith/f11bdb97bb4c7122f09ed4c1fdd69485 to your computer and use it in GitHub Desktop.
My simply Raspberry Pi Cheatsheet

Raspberry Pi

Prepare SD Card / Operating System

  1. List disks diskutil list
  2. Erase SD card sudo diskutil eraseDisk FAT32 NAME MBRFormat /dev/DISK_ID (replace NAME and DISK_ID)
  3. Unmount SD card diskutil unmount /dev/DISK_ID (replace DISK_ID)
  4. Load image sudo dd if=PATH_TO_IMAGE of=/dev/DISK_ID (replace PATH_TO_IMAGE and DISK_ID)

Setup

Find all available devices arp -a

Locate Raspberry (b8:27:eb) in Network: Pi Finder

SSH

  • Connect to device via SSH + Name: ssh pi@rasperrypi
  • Connect to device via SSH + IP: ssh pi@192.168.64.xxx

Users

Add new user with home dir: sudo useradd -m sven -G sudo (see /etc/passwd)

Set password for user: sudo passwd sven (see /etc/shadow)

Reset password

  1. Plug SD card into a computer
  2. Add init=/bin/sh to the end of the cmdline.txt. (This will cause the machine to boot to single user mode.)
  3. Put the SD card back in the Pi and boot.
  4. When the prompt comes up, type su to log in as root (no password needed).
  5. Type passwd pi and then enter the new password (twice).
  6. Shut the machine down, and put the SD card back into a computer.
  7. Remove the init=/bin/sh from cmdline.txt.

System

Get system info (e.g. IP): ifconfig

Get network info: iwconfig

Get hostname: hostname

Get hostname IP: hostname -I

Get CPU info: uname -a or cat /proc/cpuinfo

Check for all connected USB devices: lsusb

Switch to config: sudo raspi-config

Switch to GUI: startx

Reboot system: reboot / sudo reboot

Shutdown: sudo shutdown -h now

Start SSH while booting: sudo update-rc.d ssh defaults

Web Server

Related tutorial: http://cd64.de/apache

Update system: sudo apt-get update & sudo apt-get upgrade

Install Web Server: sudo apt-get install apache2 php5

Laravel will also need mcrypt and GD extension.

Install MySQL: sudo apt-get install mysql-server mysql-client php5-mysql

Restart: sudo service apache2 restart

Install Avahi for .local domain: sudo apt-get install avahi-daemon (see tutorial)

Note: Also update vhosts to AllowOverride All!

Audio

Play: omxplayer audio.mp3

Volume: + & -

Change Audio Config

https://www.raspberrypi.org/documentation/configuration/audio-config.md

GUI Keyboard Shortcuts

System menu: ctrl + esc

Open programm menu: alt + space

Switch programms: alt + tab

Access dropdown: alt + [letter-with-underline] e.g. alt + f

Close window: ctrl + q

Back to CLI: ctrl + alt + backspace

Remote Control

Install XRDP: apt-get install xrdp

Connect via Remote Desktop app


File Sharing

Related tutorial: http://cd64.de/filesharing

Install file sharing: sudo apt-get install netatalk

Connect to Server (via ⌘K): afp://192.168.64.xxx

Wifi

Setup

Disable Power Management

  • Tutorial

  • Check the power management flag using: cat /sys/module/8192cu/parameters/rtw_power_mgnt (this will report a value of 1)

  • To set it to zero you can use: sudo touch /etc/modprobe.d/8192cu.conf

  • Add this line to the created file: options 8192cu rtw_power_mgnt=0 rtw_enusbss=0

  • Reboot: sudo reboot

Midnight Commander

Install: sudo apt-get install mc

Start: sudo mc

Start Programs on Boot

http://unix.stackexchange.com/questions/47695/how-to-write-startup-script-for-systemd http://pi.bek.no/autostartProgramOnBoot/

Keep Program Running (and Restart on Failure)

https://www.freedesktop.org/software/systemd/man/systemd.service.html

Setup NodeJS

https://youtu.be/J6g53Hm0rq4

Can be installed from official NodeJS ARM packages.

Note: use 'tar -xf' for '.tar.xz' files.

ARMv6 http://stackoverflow.com/questions/32563173/installing-node-js-on-raspberry-pi-2

ARMv7 https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment