Minimal Raspbian Installation

Goal: Setup a minimal Raspbian setup without bloat. This was used before by starting with a minibian installation, but has been superseded by the availability of Raspbian lite images.

Setting up SD Card
unzip 2020-02-13-raspbian-buster-lite.zip dd bs=4M if=2020-02-13-raspbian-buster-lite.img of=/dev/sdX status=progress OR IF YOU HAVE OLD DD dd bs=4M if=2020-02-13-raspbian-buster-lite.img | pv | dd bs=4M of=/dev/sdX
 * Download Raspbian Lite image: https://www.raspberrypi.org/downloads/raspbian/
 * unzip image:
 * Put image on SD Card (ADJUST /dev/sdX target to the correct block device!):
 * Stick SD Card in (duh)

Connecting to the Pi
By default Raspbian will get an IP on ethernet.

You do not have a screen
sudo mount /dev/sdc1 /media/stuff             # Linux sudo mount -t msdosfs /dev/da2s1 /media/stuff # FreeBSD sudo touch /media/stuff/ssh echo "pi:"$(echo 'raspberry' | openssl passwd -6 -stdin) > /media/stuff/userconf sudo umount /media/stuff nmap -sP 192.168.1.1-255   # adjust network mask, the RPi's default name is raspberrypi arp -na | grep -i b8:27:eb # list arp entries, filter MAC addresses of RPi vendor (up to RPi3 included) arp -na | grep -i dc:a6:32 # list arp entries, filter MAC addresses of RPi vendor (RPi4 and more) ssh pi@192.168.1.XXX passwd
 * Don't remove the SD card from computer
 * Refresh partition table (use  on Linux, on FreeBSD it should not be needed, and no idea for the rest)
 * mount the first partition from the SD card (adjust paths!):
 * Create an empty file called  inside  :
 * If using a raspbian starting from Bullseye you also need to configure a default user
 * 1) as root
 * Unmount the partition
 * Insert SD, Power the RPi, wait for crazy blinking to stop
 * Figure out what is your RPi IP address (adjust mask to reflect own network), using one of these methods:
 * ssh in RPi (passwd is raspberry)
 * CHANGE PASSWORD THANKS

You have a screen and keyboard
sudo raspi-config ifconfig eth0 | grep inet ssh pi@192.168.1.XXX passwd
 * Insert SD, Power the RPi, the IP will is displayed in the console at the end of the boot process. However you need to enable sshd first.
 * log into the console with pi:raspberry
 * start raspi-config tool
 * In interfacing options, enable SSH
 * Exit raspi-config
 * If you did not take note of the IP yet, you can always do:
 * ssh in RPi (passwd is raspberry)
 * CHANGE PASSWORD THANKS

Base system
All this stuff as :

echo "BMO" > /etc/hostname hostname -F /etc/hostname echo -e 'APT::Install-Recommends "0";\nAPT::Install-Suggests "0";' > /etc/apt/apt.conf.d/90norecommend apt update apt upgrade apt install rpi-update rpi-update reboot dpkg-reconfigure tzdata
 * Change hostname
 * In, replace   with
 * don't bloat the system
 * update system
 * update to latest kernel (nowadays discouraged, only use if you need a pre-release kernel)
 * what time is it

Comfy environment (optional)
Now you can install all your comfy l33t command line tools and whatnot, fav editors, etc. This is just an example, YMMV:

ln -s /usr/bin/vim.tiny /usr/bin/vim apt install tmux git
 * comfy tools and stuff

THIS IS IT!
Well done, you now have a minimal RPi installation, the guideline stops here, anything past this point is just a matter of what the RPi will be used for.