Master Pi
Universal Pi
Silent Boot
Create an empty file called .hushlogin in your users home directory touch ~/.hushlogin
Pipe both stdout and stderr for startx to null if you are not using a display manager. If you want to remove the cursor for the whole Xsession pass -- -nocursor to the startx command. Omit it otherwise (This is handy for heads up displays and photo frames).
startx -- -nocursor >/dev/null 2>&1
If you are mounting your pi's SD card on another computer your cmdline.txt and config.txt are both located in the boot partition. If you are editing them on a running system, they have been moved to /boot/firmware/ and both cmdline.txt & config.txt are located there.
Adjust your cmdline.txt file.
Change the default output tty from tty1 to console=tty3 and add
loglevel=3 quiet splash logo.nologo vt.global_cursor_default=0
Disable rainbow splash screen on boot by editing your config.txt and adding disable_splash=1
If you have setup auto login for the pi user you need to edit the systemd agetty service located at /etc/systemd/system/getty@tty1.service.d/autologin.conf.
Note: You need to leave the empty ExecStart= for whatever reason.
This line is very important to suppress the hostname login: pi (automatic login)" message on boot.
ExecStart=
ExecStart=-/sbin/agetty --skip-login --noclear --noissue --login-options "-f pi" %I $TERM
Newer version of Debian move away from the rc.local file but for certain applications it's still useful. First create the /etc/rc.local file and make it executable chmod +x /etc/rc.local
#!/bin/sh -e
# Add whatever you want here above the exit
exit 0
systemctl daemon-reload and systemctl start rc-local
Editing your pam.d/login to hide other messages can me useful if you are setting up auto login direct to shell, but if launching a Xserver this really isn't needed. Also, updates can revert this change so consider settings up a systemd service that runs before multi-user.target or runlevel: 2
Comment out the following lines
/etc/pam.d/loginsession optional pam_lastlog.so
session optional pam_motd.so motd=/run/motd.dynamic
session optional pam_motd.so noupdate
session optional pam_lastlog.so
session optional pam_motd.so motd=/run/motd.dynamic
session optional pam_motd.so noupdate
SSD root
Format your SSD with a GPT partition table and place a ext4 filesystem on top.
You can mount your SD card and copy the files to your new partition.
mkdir usb
mkdir sd
sudo mount /dev/mmckblkp1 sd/
sudo mount /dev/sda1 usb/
sudo chown -R $USER:users sd/ usb/
sudo cp -ax sd/. usb/
Get your SSDs partition UUID lsblk -o +PARTUUID
Set this value in cmdline.txt under root=PARTUUID=, and set this UUID in /etc/fstab for your / root partition as well.
SSD Storage Quirks
Sometimes an external USB enclosure doesn't play nice with booting. At the beginning of your cmdline.txt add usb-storage.quirks=UUID
You can obtain your USB enclosures UUID by issuing lsub
Bus 002 Device 007: ID 174c:55aa ASMedia. .... ...
The 174c:55aa is your UUID but you need to add the :u to specify user privileges. Your final line will read usb-storage.quirks=174c:55aa:u
Pinouts
Pinout and HATS are all very important. There is a great resource that says it way better here

i2c non root
Add user to i2c group and create udev rule /etc/udev/rules.d/50-i2c.rules
SUBSYSTEM=="i2c-dev", GROUP="i2c", MODE="0660"
Hangs On Boot
If the rpi is hanging on boot with the message random: crng init done.
If running Pi headless at boot the kernel waits for mouse movements to initialize the random number generator.
Install and start haveged to solve this.
sudo apt -y install haveged
sudo systemctl enable haveged
SSH On Boot
Place a empty file named ssh or ssh.txt on the root of your boot partition
Manage WiFi
WiFi On Boot
Place a file on the boot partition named wpa_supplicant.conf and use the template from bellow ⬇️
Check that the WiFi antenna isn't blocked.
sudo rfkill list all
To unblock your antenna use.
sudo rfkill unblock 0
wpa_supplicant
First kill all wpa_supplicant workers and then test your configuration file for errors.
Basic wpa_supplicant template that can be used for either/boot/wpa_supplicant.conf or /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant GROUP=netdev
country=CA
update_config=1
network={
scan_ssid=1
ssid=""
psk=""
}
sudo killall wpa_supplicant
Add -d flag on the end to make it more verbose
sudo wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0
Pi4
USB Boot Issues
Some firmware in external USB enclosures can cause problems with booting. First step to resolving these issues is to install Raspberry Pi OS on a Micro SD card, boot, and sudo apt update & sudo apt -y full-upgrade. Any firmware upgrades will be performed by rpi-eeprom-update service and applied after next reboot. More information can be found at boot eeprom documentation.
usb-storage.quirks
Booted from your SD card without your external USB enclosure connected run sudo dmesg -C, now plug in the device and run sudo dmesg. The idVendor and idProduct are the two hexadecimal values you require.
Add these two values to the beginning of your /boot/cmdline.txt with usb-storage.quirks.
usb-storage.quirks=aaaa:bbbb:u <-- You must add the :u following your two values.
Reboot the system and check that quirks have been applied.
dmesg | grep usb-storage
Bootloader and Conditional Filters
Bootloader Config
You can find the docs here.
Conditional Filters
You can find the docs here.