Skip to content

Instantly share code, notes, and snippets.

@nickfox-taterli
Last active August 11, 2020 21:57
Show Gist options
  • Star 19 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save nickfox-taterli/fcddd0ac724ec066b51f8e777800fea2 to your computer and use it in GitHub Desktop.
Save nickfox-taterli/fcddd0ac724ec066b51f8e777800fea2 to your computer and use it in GitHub Desktop.
Upgrade Raspbian To Buster
sudo sync
sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade
sudo sed -i 's/jessie/buster/g' /etc/apt/sources.list
sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade
sudo sync
#sudo reboot
@HeikoRo
Copy link

HeikoRo commented Jul 10, 2019

Just quick comment.
You can avoid all the "sudo" if you run the script as sudo.
And check if it runs as root with this on top of script:

#!/bin/bash
if [ "$EUID" -ne 0 ]
then echo "Please run as root/sudo"
exit
fi

@neuhaus
Copy link

neuhaus commented Jul 15, 2019

The sed command may be insufficient. It's better to replace it with

grep -rl stretch /etc/apt/ | sudo xargs sed -i 's/stretch/buster/g'

to catch files in subdirectories as well.

@tiphergane
Copy link

tiphergane commented Jul 18, 2019

Iptables seems to be broken after that

+1, iptables is broken because of nftables module who is missing in kernel folder

iptables[1126]: iptables/1.8.2 Failed to initialize nft: Protocol not supported

@HeikoRo
Copy link

HeikoRo commented Jul 19, 2019

yes, because with Buster the default is now nftables and not xtables

can be fixed by:
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy

(or manually fixing the links in /etc/alternatives/)

@tiphergane
Copy link

tiphergane commented Jul 19, 2019

yes, because with Buster the default is now nftables and not xtables

can be fixed by:
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy

(or manually fixing the links in /etc/alternatives/)

I'v tryed it, and it doesn't work, for my personal case, I had to symlink module folder to make the fix working.
sudo ln -s /lib/modules/4.19.58-v7+/ /lib/modules/4.19.57-v7+
then all is working great again.

@marcofranssen
Copy link

I did the upgrade as well. Blogged about it here. https://marcofranssen.nl/upgrade-raspbian-stretch-to-raspbian-buster/

However few days later when I tried Kodi I figured it was broken. Probably caused by broken xserver for which I tried a lot to get it working again. I also noticed kodi on buster is version 17 while on stretch we are on 18.

For now I decided to switch back to stretch.
Blogged about that here.

https://marcofranssen.nl/install-fresh-raspbian-image-on-your-raspberry-pi-part-1/
https://marcofranssen.nl/install-fresh-raspbian-image-on-your-raspberry-pi-part-2/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment