UPDATE: Jan 1, 2024
I had recently made a catastrophic mistake trying to backup my original Raspberry Pi servers. Instead of copying my Raspberry Pi to an new formatted SD, I copied an empty SD card to my Raspberry Pi. Don’t ask, I’m not sure how the hell I did it either. Double check your command line instructions, and don’t just willy-nilly copy/paste anything you read on the net. Lessons learned.
Anyways, my server-pi was my first Raspberry Pi, and I learned a lot on it, setup Apache2 web server, mysql, wordpress, icecast2 radio, navidrome, etc. There was a lot of junk scattered all over the file system, and a lot of kludges getting things to work together. Really it was a mess, and I wanted to start over, but I was hoping to save my wordpress pages and posts.
Anyways…
Raspberry Pi OS Bookworm had just come out and I figured I’d give it a shot. I set it up on a Raspberry Pi 4 Model B 8gb. All and all, I like it. The default PHP version is 8.2.7, instead of PHP 7.4.33 that came with Bullseye. I would use a separate repository to get PHP8 on Bullseye, but I think it caused some issues. I would have a hell of a time getting PHPMyAdmin to work with it. I found installing a LAMP server was faster and easier, couldn’t tell you why. No issue with PHPMyAdmin either. But there are a number of differences to catch the unwary.
Wayland – Update Jan 1, 2024
If you want to use RealVNC to logon to your headless pi, you will need to turn off wayland support using raspi-config. Wayland is turned on by default. RealVNC doesn’t support Wayland.
RealVNC supports Wayland, but I found that there is serious mouse lag on the desktop. Wayland just seems generally slower all around for me. I went back to ‘X’ using raspi-config and no more mouse lag.
Static IP
If you wanted to setup a Static IP Address, you would edit /etc/dhcpcd.conf. Bookworm now uses Network Manager instead of dhcpcd (you can change it back using raspi-config if you really wanted to). To set a Static IP address you use either nmcli (network manager command line interface) which is pure commandline, or nmtui (network manager command line UI, a much better option)
Systemd Logging
I’m not sure what logging system Bullseye used (syslog?), but in Bookworm it was changed to Systemd. This caused me no end of trouble trying to set up fail2ban. Fail2Ban upon installation tries to run looking for sshd’s log which used to be /var/log/auth.log. Sshd no longer logs there, so fail2ban fails-2-run (see what I did there?!). Found an answer googling after awhile. If your having the same problem with fail2ban not running try this:
sudo nano /etc/fail2ban/jail.local
add backend = systemd
so it looks like this:
[sshd]
backend = systemd
enabled = true
Then restart fail2ban and check its status:
systemctl restart fail2ban
systemctl status fail2ban
That should take care of the problem.
RTL-SDR Kernel Bug – Update 10-29-23
Fixed – 11/11/23: A kernel update fixes the problem below. use apt update; apt full-upgrade
to fix the errors.
Those of you who are Software Defined Radio enthusiasts might want to hold off on installing Bookworm, as a kernel bug that affected RTL-SDR USB dongles on Raspberry OS Bullseye, that was fixed, has again made it’s way into Raspberry OS Bookworm. Trying to run rtl_test or gqrx results in something similar to this:
pi@raspberrypi:~$ rtl_test
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000001
Using device 0: Generic RTL2832U OEM
rtlsdr_demod_read_reg failed with -1
rtlsdr_demod_write_reg failed with -1
rtlsdr_demod_read_reg failed with -1
rtlsdr_demod_write_reg failed with -1
^C
This bug should be fixed fairly soon, as it affects other hardware also. It can also be fixed using rpi-update
, but this is not recommended because rpi-update modifies the Raspberry Pi’s firmware and can easily break other software. Just wait and be patient.
I haven’t noticed any real differences in processor and memory usage, its about the same. I’m sure I’ll find more differences, and when I do, I’ll write another post.