My Raspberry Pi Setup Checklist

Last Updated:

under construction This post is a work in progress, and may be updated at some point in the potentially distant future!

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.
  1. Change the pi user’s password: run passwd and enter old/new passwords.
  2. Enter Raspi-config sudo raspi-config
  3. Enter “Network Options” sub menu.
  4. Network Interface Names
  • Enable predictable network names.
  1. Enter “Localization Options”
  2. Change Locale
  • Press space to deselect en-GB (marked by an asterisk)
  • Press space to select en_US.UTF-8 UTF-8
  1. Change Timezone
  • (set your timezone here)
  1. 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.
  1. WiFi Country
  • Choose US United States
  1. Interfacing
  • Set SSH to enabled
  • (others depending on project.)
  1. Enter Advanced Options
  • Choose “Expand Filesystem”
  • If using a TV, configure “Overscan”
  1. Finish
  • Navigate back to the main menu, and select “Finish”.
  1. 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

Change Log

  • 1/27/2019 - Initial Revision
  • 3/30/2019 - Added note about configuring over ssh. Updated article name.

Found a typo or technical problem? file an issue!