My Raspberry Pi Setup Checklist

This post is still a work in progress and will be updated at some point in the potentially distant future!

Last Updated:

This is the checklist that I follow for initial setup of a raspberry pi. This has been last updated for the release Raspbian GNU/Linux 9 (stretch). If you are running a newer version, there’s a chance these won’t work for you.

NOTE: Never simply copy+paste a command that you do not know what it does.

DISCLAIMER: While this guide aims to be 100% accurate, it may become outdated and commands may break or destroy your system. Use at your own risk.

Basic Setup

  1. Login. username: pi, password: raspberry.
    • If headless with no monitor / keyboard, run touch ssh on the boot drive when flashing. Creating a file named ssh on the boot drive allows you to ssh into the raspberry pi (which is disabled by default).
    • Username / password is the same, hostname is raspberrypi.local by default.
  2. Change the pi user’s password: run passwd and enter old/new passwords.
  3. Enter Raspi-config sudo raspi-config
  4. Enter “Network Options” sub menu.
  5. Network Interface Names
    • Enable predictable network names.
  6. Enter “Localization Options”
  7. Change Locale
    • Press space to deselect en-GB (marked by an asterisk)
    • Press space to select en_US.UTF-8 UTF-8
  8. Change Timezone
    • (set your timezone here)
  9. Keyboard Layout
    • NOTE: Will not work over ssh.
    • press enter to confirm Generic 105-key (Intl) PC
    • select “Other” Layout at bottom
    • Choose “US English” at the top. You may change this depending on preferences for Dvorak, etc.
  10. WiFi Country
    • Choose US United States
  11. Interfacing
    • Set SSH to enabled
    • (others depending on project.)
  12. Enter Advanced Options
    • Choose “Expand Filesystem”
    • If using a TV, configure “Overscan”
  13. Finish
    • Navigate back to the main menu, and select “Finish”.
  14. Reboot (it should prompt you. If it doesn’t, run sudo reboot)

Upgrading all packages

  • run sudo apt-get update
  • run sudo apt-get upgrade
  • run sudo reboot

Optional Packages

Because I’m a vim fan, I install the latest vim with better support for source highlighting, etc. If you’re not comfortable with vim, I’d recommend nano for first-time users.

  • run sudo apt-get install vim

Adding Users

  1. Add User sudo adduser username (replace username with your username)
  2. Add User to sudoers file
    • Newer Raspian (tested on stretch)
    • run sudo visudo -f /etc/sudoers.d/010_pi-nopasswd
    • Duplicate the pi line, pi ALL=(ALL) NOPASSWD: ALL, replacing pi with the username from step 1 on the new line. - Older Raspbian
    • run sudo visudo
    • add line under the line reading pi ALL=(ALL:ALL) ALL:
      • username ALL=(ALL:ALL) ALL (replace username with your username)
    • duplicate

To be continued!...

under construction

Change Log

  • 2019-01-27 - Initial Revision
  • 2019-03-31 - Added note about configuring over ssh. Updated article name.

Found a typo or technical problem? file an issue!