Skip to content

Instantly share code, notes, and snippets.

@danielmbond
Created March 29, 2025 20:01
Show Gist options
  • Save danielmbond/2782549a68f2642b45349e9489bd68af to your computer and use it in GitHub Desktop.
Save danielmbond/2782549a68f2642b45349e9489bd68af to your computer and use it in GitHub Desktop.
Upgrade Raspbian from Buster to Bookworm
# buster to bullseye
# https://dev.blues.io/blog/guide-upgrade-raspberry-pi-buster-bullseye/
sudo apt-get update && sudo apt-get full-upgrade
sudo reboot
sudo rpi-update
sudo reboot
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i "s/buster/bullseye/g" /etc/apt/sources.list
sudo sed -i "s/buster/bullseye/g" /etc/apt/sources.list.d/raspi.list
sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install gcc-8-base
sudo apt-get full-upgrade
sudo apt-get autoclean
sudo apt-get autoremove
sudo cp /boot/config.txt ~/config.txt.bak
sudo sed -i 's/dtoverlay=vc4-fkms-v3d/#dtoverlay=vc4-fkms-v3d/g' /boot/config.txt
sudo sed -i 's/\[all\]/\[all\]\ndtoverlay=vc4-kms-v3d/' /boot/config.txt
sudo reboot
sudo pihole -up
# bullseye to bookworm
# https://gist.github.com/jauderho/6b7d42030e264a135450ecc0ba521bd8
sudo apt-get update && sudo apt-get dist-upgrade
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i -e 's/bullseye/bookworm/g' /etc/apt/sources.list
sudo sed -i -e 's/bullseye/bookworm/g' /etc/apt/sources.list.d/raspi.list
sudo apt update && sudo apt -y full-upgrade && sudo apt -y clean && sudo apt -y autoremove
tee ~/install-network-manager <<-'EOF'
sudo apt-get install --no-install-recommends network-manager
sudo systemctl enable --now NetworkManager
sudo systemctl disable --now dhcpcd
sudo nmcli -p connection show
sudo nmcli -p connection show "Wired connection 1"
IP_ADDRESS=$(hostname -I | awk '{print $1}')/24
GATEWAY=$(ip route | grep default | awk '{print $3}')
nmcli con mod "Wired connection 1" ipv4.method manual ipv4.addresses $IP_ADDRESS ipv4.gateway $GATEWAY
EOF
chmod +x ~/install-network-manager
cd ~
sudo ./install-network-manager
sudo reboot
sudo apt purge ?config-files
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment