Upgrade to a RPi4 plus SSD

After having some trouble with my existing system I decided to upgrade to a RPi4 powered system, together with a SSD as a new storage medium.

As I wanted to migrate the old data to the new system I had to come up with a strategy how to get there.

First I prepared the RPi4 to boot from another storage device as the standard SD card, based on the following tutorial.

Then I flashed the SSD with the currently available latest raspbian buster version and attached it to the blue USB 3.0 slot.

While booting I got some errors from the fsck utility, but after some booting time it ran through. I tested a bit further and was rebooting a few times. Every time another error occured and finally – after some hours – I had the idea to put an USB hub between the SSD and the RPi4. So it looks that the USB hub solves the problem, although it’s not even powered. Weird, isn’t it?

And, voila, from now onwards the booting and also the working of the system was perfect.

Upgrade to a RPi4

Now as the base system was running and the RPi4 was able to boot from the SSD I had to migrate the software and the data of the old system to the new system.

For this I used the backup of the old system I made with raspiBackup, just flashing it completely onto the SSD.

The final step was now, to copy the .elf and .dat files from the still existing boot partition of the SD card to the boot partition of the SSD, so that the RPi is booting from the SSD.

Now the system is up and running and it is really very fast 🙂

But hold on, we are not done yet!

IP and DNS entries

I have setup the new system with a new IP address, running in parallel to the RPi3 live system. I thought, „OK, let’s just switch the port forwarding of the router to the new IP address with the ports 80, 443, for IPV4 and IPV6 addresses and it should work.“

Unfortunately it did not work.

I forgot, that I had to reconfigure also the DNS forwarding at my domain hoster with updating the CNAME. And, unfortunately again, there is a time to live (TTL) set for the CNAME entry. So it’s much recommended to set this TTL value to the lowest possible value some days in advance. Otherwise it takes a few hours that the CNAME changes are taking effect through all the DNS servers.

So have fun to upgrade to a RPi4 on yourself 🙂

Raspbian Upgrade kills the RaspberryPi

It all started that I wanted to upgrade the PHP from version 7.0 to version 7.3/4, because wordpress was blaming about it. And I never would have imagined that an Raspbian Upgrade kills the RaspberryPi.

But first things first, that’s how the story goes that occupied my for two days.

Raspbian Upgrade kills the RaspberryPi

The base version of my Raspbian is Jessie, running on a standard RPi version 3. So I wanted to fetch the 7.3 PHP packages from the buster version of Raspbian. But I was unable to finish that process as the upgrade said, I had to break the 7.0. So I was afraid and stopped it.

The result was, that the system was completely messed up. The curl to the HTTPS world was no longer working. And I saw that even the udev package had some unmet dependencies. So I rebooted the system and it stopped completely while booting.

First attempt

What to do now?

I decided to install raspbian buster on a new hard disc (I once configured the RPi to boot directly from the USB hard drive) and install all the necessary applications based on the following tutorials:

https://projects.raspberrypi.org/en/projects/lamp-web-server-with-wordpress

https://bitreporter.de/raspberrypi/webserver-mit-wordpress-blog-auf-dem-raspberry-pi-einrichten/

For configuring the php fpm module I used https://tecadmin.net/install-apache-php-fpm-debian-10/

The last software part was getting an HTTPS certificate from let’s encrypt based on https://pimylifeup.com/raspberry-pi-ssl-lets-encrypt/

All these are really very good tutorials and worked like a charm (I just replaced once the mysql-server with mariadb-server). For connecting to the WordPress jetpack service you need also php-xml to be installed.

Fortunately I was performing a regular backup of the system with updraft. The restore worked perfectly. I was also using standard backups of the system that helped me a bit, but due to the HDD configuration I did not have a backup that I just could use, e.g. like an image to copy on the hard disk.

As I have a bit of a special wordpress installation (site URL != wordpress URL) I had to move the wordpress directory from „html“ to „wordpress“ and had to adapt the apache vhost configuration slightly.

After configuring all that the site was up and running again after around 5h.

So I thought, „Ok, let’s make a reboot.“ And the system stopped during boot.

What a shit!

The error message was:

usb usb1-port1: Cannot enable. Maybe the USB cable is bad?
usb usb1-port1: attempt power cycle

„Ok“ I thought as I was using a quite old hard disc, maybe it’s somthing wrong with the cable now. I decided to just flash the fine running hard disc of my former life system and do the process again (I was faster now, took me just 3h!)

Second attempt

After configuring everthing again, I made the reboot and…the system stopped again with the same error message.

„Ok, it cannot be that we are having here now exactly the same hardware problem with another hardware. So it must be a software issue. What did I do except just the install of new software? What was hardware related?“

There was one command:

pi@raspberrypi3:~ $ sudo apt-get upgrade
Reading package lists… Done
Building dependency tree
Reading state information… Done
Calculating upgrade… Done
The following package was automatically installed and is no longer required:
rpi-eeprom-images
Use 'sudo apt autoremove' to remove it.
The following packages will be upgraded:
ca-certificates firmware-atheros firmware-brcm80211 firmware-libertas firmware-misc-nonfree firmware-realtek
libgnutls30 libraspberrypi-bin libraspberrypi-dev libraspberrypi-doc libraspberrypi0 raspberrypi-bootloader
raspberrypi-kernel raspi-config rpi-eeprom rpi-eeprom-images
16 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 127 MB of archives.
After this operation, 6,477 kB disk space will be freed.
Do you want to continue? [Y/n]

After issuing this command the system did not boot anymore.

Final attempt

So, I did the installation process a third time (2h now), this time without the upgrade, and the system just works.

Since 2013 I’m working with this setup and it never happened that an upgrade of the operating system resulted in such a disaster!

Update from 16.08.2020

It works now. I did the upgrade in some package chunks to find out which packge caused the problem with the command:

sudo apt-get install --only-upgrade <package-name>

But I think it would have been not necessary. I have no idea, which package was changed in the mean time.

Raspberry Pi4 macht den Sprung ins 4K-Zeitalter

Lange erwartet, nun kommt endlich die nächste Version des Rasperry PIs. Mit mehr Performance und ausreichend für die 4k Video Unterstützung.

raspberry pi unterstützt 4k
Raspberry or what?

https://www.spiegel.de/netzwelt/gadgets/raspberry-pi-4-modell-b-das-kann-der-neue-mini-rechner-a-1273952.html

Server crash

Not the sudo RaspberryPi, also knows as the CuBox, nor the Linux/Raspbian is making the most problems of my server, but very often it’s the hardware.

This time it was the hard disk. A Toshiba one, working since almost 3 years now, quite ok, only troubled by the other hardware problem I faced so far with the server, the USB hub.

Now the server was down. Normally this was not a big deal so far, just make a

fsck -y /dev/sda1

and everything was OK after some reboots.

This time it was different. The file system check could not recover, although the disk was still readable. So I bought a new one, formatted it, copied the data from the old disk preserving the file attributes/permissions.

mkfs -t ext4 /dev/sdc1
mount /dev/sdc1 /mnt
cp -pr /media /mnt

Finally it turned out that finding the bad blocks of the old hard disk helped to recover that as well:

fsck -y -c /dev/sda1

Then I made a snapshot of the new system with

tar -zcvpf /mnt/backups/fullbackup.tar.gz --directory=/ --exclude=mnt .

Let’s see how long it lasts now…

CuBox Setup

Nachdem meine CuBox sehr lange instabil war, und auch eine unterbrechungsfreie Stromversorgung nicht den gewünschten Erfolg brachte, habe ich mich entschlossen, mit ein paar Diensten wieder reumütig zu Service Anbietern zurück zu kehren.
Instabil bedeutet, dass nach einiger Zeit das File System ext4 zerschossen war, und damit das System immer wieder herunter gefahren werden musste, und auch nicht erreichbar war.
Aktuell habe ich keine Lust weiter auf Ursachenforschung zu gehen, richtige Fehlermeldungen habe ich nämlich keine gefunden.
Übrigens hatte ich mit der Rpi Hardware das gleiche Problem.

Meine emails werden nun wieder über google’s gmail abgewickelt.
Und für die RSS feeds benutze ich feedly bzw. auf dem Handy auch noch den Newsreader NewsPlus mit der feedly Erweiterung.
Damit hat sich die gewünschte Stabilität einstellt.

Das bedeutet, dass auf der CuBox noch die folgenden Dienste laufen:
Dynamic ip, von NoIp
Apache Web Server
Mysql Datenbank server
Baical calender und contact server
Dovecot imap server (für die alten Emails)
Exim4 Mail Transfer agent (zum Verschicken von mails)
WordPress Blog Homepage
Monit Monitor Software

Ist doch immerhin eine ganze Menge, oder?