Skip to content

Instantly share code, notes, and snippets.

@andrewgho
Last active June 21, 2020 23:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andrewgho/b9b6ec50f7eac7dd50ff48932cccb910 to your computer and use it in GitHub Desktop.
Save andrewgho/b9b6ec50f7eac7dd50ff48932cccb910 to your computer and use it in GitHub Desktop.
firstboot.sh - Raspberry Pi OS (buster) first boot initialization script
#!/bin/sh
# firstboot.sh - Raspberry Pi OS (buster) first boot initialization script
# Andrew Ho (andrew@zeuscat.com)
# Set pi user password
passwd
# Add en_US.UTF-8 locale and set as default
cp /etc/locale.gen locale.gen.orig
sudo sed -i 's/^# \(en_US.UTF-8.*\)$/\1/' /etc/locale.gen
sudo dpkg-reconfigure -f noninteractive locales
diff locale.orig /etc/default/locale
cp /etc/default/locale locale.orig
sudo update-locale LANG=en_US.UTF-8
diff locale.gen.orig /etc/locale.gen
# Set US Pacific timezone
cp /etc/timezone timezone.orig
readlink /etc/localtime > localtime.orig
sudo sh -c 'echo America/Los_Angeles > /etc/timezone'
sudo ln -sf /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
sudo dpkg-reconfigure -f noninteractive tzdata
diff timezone.orig /etc/timezone
readlink /etc/localtime | diff localtime.orig -
# Set keyboard layout
cp /etc/default/keyboard keyboard.orig
sudo sed -i 's/^XKBLAYOUT=.*$/XKBLAYOUT="us"/' /etc/default/keyboard
sudo service keyboard-setup restart
diff keyboard.orig /etc/default.keyboard
# Upgrade system packages
dpkg -l > dpkg.orig
sudo apt-get update
sudo apt-get -y dist-upgrade
dpkg -l | diff -b dpkg.orig -
# Add my own user
sudo groupadd -g 1010 andrew
sudo useradd -c 'Andrew Ho' -d /home/andrew -g andrew -m -u 1010 andrew
sudo usermod -a -G sudo andrew
sudo usermod -a -G video andrew
sudo passwd andrew
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment