I have 2 Raspberry Pi 4B's. One runs OpenWRT 22.03.2 64bit, the other Raspberry Pi OS lite 64bit. The second Pi (with Raspberry Pi OS) always boots, no problems.
The First Pi, where I run OpenWRT, only sometimes boots. As I connect the USB-C cable for power, I've learned to watch the LEDS located close to the MicroSD card (by having them pointing right at my eyes). If the green LED starts flickering alot within the first 5 seconds, all is well. The two LEDS on the populated Ethernet port will also come alive well within 10 seconds of booting, as that's my WAN port.
But sometimes, like say 2/3 of the time, the green LED by the MicroSD card does not come on at all. Just a solid red LED. And the 2 ethernet LEDS will never come on. So I pull out the power cable, wait for 5 seconds or so, then plug it back in and try again. Once it boots properly, the power stays on forever, reliably (until proper shutdown with the "poweroff" command). And no filesystem errors are detected later on, if I check the MicroSD card using fsck.vfat or fsck.ext4. So those false boots where the green LED never came on thankfully didn't lead to filesystem corruption. It's as though the boot (and subsequent filesystems mounting) never occurred.
So what would the attached monitor tell me as an error message, when no green LED comes on? Sorry, I don't have access to a monitor at this time. I boot OpenWRT headless, and always did since the initial install.
I tried changing several things, trying to eliminate some sort of potentially fritzy hardware that made the board boot not every single time:
- tried different MicroSD cards of differing brands, some brand-new, others known to work well with past installs of Raspberry Pi OS (like a tried-and-true Sandisk Ultra). The problem persists after trying 4 different MicroSD cards.
- Yes, the power supply is 3A, and is tried-and-true on past installs of Raspberry Pi OS. No, there is no undervolting which can be detected with the command "vcgencmd get_throttled".
- Even if I detach the ethernet cable, and a USB-connected ethernet dongle (a tried-and-true Ugreen-brand ax88179 - enabled after installation of the package kmod-usb-net-asix-ax88179) before booting - it makes no difference.
- I've even swapped my 2 Raspberry Pi boards around, since maybe one of them was fritzy. No, the problem happened just the same on either board. And whichever board runs Raspberry Pi OS, that board boots reliably every time.
- This problem cannot be blamed on the choice of ext4 or squashfs for the /root filesystem. The problem persists with either install; I've tried both.
PS: Do both Raspberry Pi 4's have the latest stable firmware version installed? Yes, version "Tue 18 Oct 2022" (seen with the command "rpi-eeprom-update", when run from Raspberry Pi OS)