Raspberry Pi 2

$ lscpu
Architecture:          armv7l
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             1
Model name:            ARMv7 Processor rev 5 (v7l)
CPU max MHz:           900,0000
CPU min MHz:           600,0000

Installation

$ sudo dd bs=4M if=2015-09-24-raspbian-jessie.img of=/dev/sdX

Initial Configuration

  1. Edit /boot/config.txt.
    $ sudo nano /boot/config.txt
    disable_overscan=1
    hdmi_force_hotplug=1
    hdmi_group=2
    hdmi_mode=48
    hdmi_drive=2
    config_hdmi_boost=4
    start_x=0
    gpu_mem=8
    dtparam=spi=off
    dtparam=i2c_arm=off
    max_usb_current=1 # maximum current for usb
  2. Run raspi-config.
    $ sudo raspi-config

    Please select each option that you interested in to config.

    • Expand Filesystem.
    • Change User Password.
    • Boot Options: B1 Console.
    • Internationalisation Options: Change Locale and Change Timezone.
    • Advanced Options: A2 Hostname, A3 Memory Split, A6 SPI, A7 I2C, A8 Serial.

Updating and Upgrading

  1. Update packages index from official repository.
    $ sudo apt-get update
  2. Upgrade installed packages.
    $ apt-get upgrade

Package Management

  1. List installed packages and save it to a file.
    $ dpkg-query --show -f '${Package}\n' > pkgs.list
  2. Edit the file and let the names of packages which you want to remove in it, i.e. graphical environment, applications and friends.
  3. Run 'apt-get autoremove' to remove unneeded packages.
    $ sudo apt-get autoremove
  4. Install some packages.
    $ sudo apt-get install screen vrms

Custom Configuration

  1. Disable triggerhappy.
    $ sudo systemctl disable triggerhappy
  2. Edit /etc/bash.bashrc
    $ sudo nano $HOME/.bashrc
    PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\W \[\033[01;34m\]\A \[\033[00m\]\`if [ \$? == 0 ]; then echo \:\); else echo '\[\033[0;31m\]:('; fi\`\[\033[00m\] "
  3. Disable password authentication for SSH.
    • Generate authentication key in the machine which you want to login from, and copy the result to the Raspberry.
      $ ssh-keygen
      $ ssh-copy-id user@raspberry
    • Edit sshd_config and restart sshd.
      $ sudo nano /etc/ssh/sshd_config
      PasswordAuthentication no
      $ sudo systemctl restart ssh

Debmirror

Storage

Cron

$ sudo nano /etc/crontab $ sudo service cron restart

Wireless

  1. # cd /etc/network
  2. # cp interfaces interfaces.orig
  3. # nano interfaces
    auto lo eth0
    
    iface lo inet loopback
    iface eth0 inet dhcp
    
    #iface wlan0 inet static
    #      address 192.168.1.4
    #      netmask 255.255.255.0
    #      gateway 192.168.1.24
    #      dns-nameservers 208.67.222.222 208.67.220.220
    #      wpa-ssid SSID
    #      wpa-psk
  4. # wpa_passphrase SSID passphrase ยป interfaces
  5. # nano interfaces
  6. # service networking restart
  7. wlanup.sh

Lighttpd

Managed DNS

  1. Change nameservers in your domain panel
  2. Add hosts in your managed DNS panel, i.e. CNAME
  3. Add CNAME in Pagekite

MariaDB

PHP

systemctl

Applications