So there's definitely a lot of information missing that could potentially brick a device, especially for those that are running headless and only accessing over SSH.
Thanks for signing up just to share this!
I followed those instructions to successfully upgrade from the 64-bit beta
that I installed last summer (May 2021), except that my main repos were all from https://deb.debian.org/
, rather than raspian.raspi.org
. I kept them at deb.debian.org
and just changed the release name to bullseye.
The one issue I ran into, with that, is that the line for security updates had to be edited from "buster" to "bullseye-security".
apt update but before
apt dist-upgrade[/ICODE}, run [ICODE]sudo apt install -y libgcc-8-dev gcc-8-base to solve the dependency issues that many comments have mentioned.
As for the GCC update, I found it was unnecessary when starting from a buster image that's completely up-to-date. You can run the command, but it says the packages are already up-to-date.
Once that's done, run
sudo apt full-upgrade
I noted a difference between the two articles, with Toms saying dist-upgrade
and PiMyLifeUp saying full-upgrade
. From what I could find, they seem to be synonymous, with dist-upgrade being deprecated. I went ahead and used dist-upgrade
, just in case, but noted that the apt manpage no longer mentions it.
After the upgrade and BEFORE REBOOTING, a change needs to be made to the dhcpcd file.
I didn't have this file, so no I made no modifications.
Finally, a change to the boot config to address a video driver change. In the
/boot/config.txt file, comment out the line:
In the same file, find the
[all] section, and add:
Mine was already set to the new driver. I didn't add an
section, and it seems to work fine... except I'm getting llvmpipe for the OpenGL renderer on my Raspberry Pi v3 hardware
. I've read that you can change it to Glamor, using raspi-config, but I've read there's a rendering bug in Mesa that you might hit on Pi versions < 4, in Chromium. It has been fixed upstream but will probably take a while to reach us.
I went ahead and tried it. First, I enabled the "GL Driver", in the "Advanced Options" menu and rebooted. That still left me using llvmpipe. So, next I enabled "Glamor", also in the "Advanced Options" menu and rebooted. After that,
glxinfo | grep "renderer string"
Vc4 V3D 2.1
delivered about 50% higher fps in full-screen mode (leave it running for about 15 seconds). These two programs are both in the mesa-utils
package. More importantly, window scrolling and dragging was much smoother. Sadly, the trackballs game would not run (but I think it would be too slow, anyhow).
I also installed vulkan-tools
and checked vulkaninfo
, but it indicated it was still using llvmpipe. I forget whether Vulkan is supposed to work on any older Pi GPUs, but I don't have any Vulkan programs to run on it anyhow. Just curious.
The one thing missing from the PiMyLifeUp instructions that Toms had was:
sudo apt autoclean
Not necessary, but it saves you some storage space. Also, you probably want to do:
sudo apt clean
Not sure of the difference, but the second command reclaimed an additional 120 MB. After rebooting, I would also recommend:
sudo fstrim -a
That benefits the wear-leveling in your storage device, if it supports TRIM.
After the upgrade & reboot, I had a handful of python/python2 packages with conflicts. The only python3 package was python3-six, which I manually upgraded and that obsoleted some of the others. Then, I upgraded the remaining ones and the default conflict resolution seemed reasonable.