TL;DR: The problem was the GPU memory split, I configured. Allocating more than 256 MB on a Raspberry PI 4 can prevent the device from booting.
Only recently, I bought myself a Raspberry Pi 400. I did not really need it, but I just could not resist ... a Raspi built into a keyboard - well, shut up and take my money ;-)
I used Raspberry Pi Imager for installing the latest version of Raspian on it. This is a really useful tool available for Linux, Windows and macOS that lets you choose your preferred Raspian image, downloads it and flashes it onto the SD card. Saves a few manual steps.
Everything was going well until I decided to play around with it and messed with a couple of settings ... which caused it to stop booting.
Of course I had changed more then one thing, so it was not obvious what had actually caused the problem. I went the easy route, flashed another SD card and almost forgot about the problem.
Yesterday, I found the culprit by accident. When reading up about recommended GPU memory splits for the Raspberry Pi, I stumbled over this remark. in the documentation
"... recommended maximum 256 on the Pi4 ... possible to set
gpu_memto larger values, however this should be avoided since it can cause problems, such as preventing Linux from booting.
OK, cool ... if it were for me, I would make this disclaimer a bit more obvious, or even warn users about that in the UI but what do I know.
Fortunately, I had the SD card with the broken Raspian image still lying around and was curious whether my memory split configuration had actually causes the problem.
Fortunately, this setting can be found in the
/boot/config.txt file and apparently,
I got a bit cocky there.
... [all] gpu_mem=896 ...
So let's bring this back into the recommended range again.
... [all] gpu_mem=256 ...
Lo and behold - the SD card boots again. Problem fixed!