script type="text/javascript"> jQuery(document).ready(function(){ jQuery("article.et_pb_post").each(function(){ jQuery(">a:first-child, .et_pb_image_container", this).insertAfter(jQuery(".post-meta", this)); }); });
Select Page

About a year ago Raspbian Bullseye was released, but as I was still running Buster and had no issues I kept running Buster. Last week I encountered some issues with the RUSTC package being outdated for an update of my HomeAssistant environment running Python 3.10.6.

This was a reason for me to start upgrading my Buster system to Bullseye.

Possible issues…

Let me remind you that an in-place upgrade is not recommended, but it is possible to do so. In my case I did upgrade because of some custom packages and settings that would take me to mutch time to revert them.

Update Buster

First of all lets make sure our system is up-to-date. We first update the Sources list, then we do the upgrade and finally we reboot our system to activate the packages.

$ sudo apt update

$ sudo apt full-upgrade

$ reboot

Update Sources list

Next step is to make sure we are using the Bullseye source list for packages so we can downlad the new packages.

$ 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

Now we need to update the sources list and install gcc-8-base with dev tools so we can run the full upgrade.

$ sudo apt update

$ sudo apt install libgcc-8-dev gcc-8-base

$ sudo apt full-upgrade

Now we have to wait for some time 🙂

After the upgrade is done we are running the new packages. We first have to clean the old packages.

$ sudo apt autoremove

Next we have to edit the boot cmdline as the screen is using a different driver for HDMI output. RPi has switched from FKMS to KMS and we have to manually update the cmdline.txt file to let Raspbian know to run the KMS instead of FKMS. We can do this by the following command.

$ 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

Now we are done and can reboot the system to check if everything is updated as it should!

$ sudo reboot

$ cat /etc/os-release

With the last command you should see the Bullseye release information.


Networking issue?

I did encounter an issue with eth0 not starting on my system and getting a DHCP fail on startup. I did disable the DHCPCD and added a static IP address, after reboot this solved the eth0 not showing up.

$ sudo systemctl disable dhcpcd.service

Next modify the /etc/network/interfaces file

$ sudo nano /etc/network/interfaces

Add the following and replace your IP info

auto eth0
iface eth0 inet static

Also it might be possible that the biosname will be used, add the following to the beginning of /boot/cmdline.txt. If you use ifconfig -a and don’t see the eth0 but instead you see an “enxb827eb123456” (the numbers might differ), than you should use the fix below. 

net.ifnames=0 biosdevname=0

Now reboot again and Voila your eth0 is back and up & running!

$ sudo reboot