Unable to boot successfully on Pi4B

I am new to EndlessOS and I have flashed it on a 64GB Samsung Bar Plus. I am seeing the same phenomenon described in this thread:

Does this mean EndlessOS is still unsupported on Pi4B, or does it mean that I need an SD Card on the Pi4 so that EndlessOS can install on it?
I was assuming that the OS would boot the same way Raspberry Pi OS does.
I download the full OS (13GB) and had to toss it thinking it was corrupted during download, but I downloaded the 2GB one and it behaves the same.

What do I need to do?

Do you have unpacked the image file before writing it to the SD card? The image you can download has the extension xz which is a compression method. I just used the following commands to successfully download, verify and boot the image (on a RPI4b):

Download the image:

wget https://images-dl.endlessm.com/release/4.0.4/eos-arm64-rpi4/base/eos-eos4.0-arm64-rpi4.220406-202520.base.img.xz
wget https://images-dl.endlessm.com/release/4.0.4/eos-arm64-rpi4/base/eos-eos4.0-arm64-rpi4.220406-202520.base.img.xz.asc

Verify the image:

wget https://d1anzknqnc1kmb.cloudfront.net/eos-image-keyring.gpg
gpg --verify --keyring ./eos-image-keyring.gpg eos-eos4.0-arm64-rpi4.220406-202520.base.img.xz.asc eos-eos4.0-arm64-rpi4.220406-202520.base.img.xz

this will yield a message similar to the following one if the download has been successfull and is uncorrupted:

gpg: Signature made Wed Apr  6 22:53:33 2022 CEST
gpg:                using RSA key CB500F7BC9233FAD32B4E7209E0C1250587A279C
gpg: Good signature from "Endless Image Signer 1 (EIS1) <maintainers@endlessm.com>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: CB50 0F7B C923 3FAD 32B4  E720 9E0C 1250 587A 279C

Uncompress the image:

xz -d eos-eos4.0-arm64-rpi4.220406-202520.base.img.xz

Write the image to the SD card:

I assume that your SD card has the device name /dev/mmcblk0. As this name depends on your actual hardware configuration, please make sure to use the correct device name. You can list all your connected storage devices by running lsblk

sudo umount --force /dev/mmcblk0*
sudo wipefs --force --all /dev/mmcblk0
sudo dd if=eos-eos4.0-arm64-rpi4.220406-202520.base.img of=/dev/mmcblk0 bs=8192 conv=sync,noerror status=progress
sudo sync

The above commands will completely wipe all traces of any former data on the SD and then write the EOS image onto it. After all commands have been run, simply remove the card without any further steps from your computer. This will then boot successfully on a RPI4b.

Troubleshooting:
If for any reason the above method does not work for you, make sure that your power supply has enough output current. The RPI4b is a little bit power hungry. Use at least a good one with 2 Amps continuous current output.

There are more methods for troubleshooting, but the next one would need to use a special USB-TTL adaptor cable to see the boot logs and i don’t assume that you have such a cable handy.

So, is the extracted image supposed to be written to an sdcard or a USB disk?
dd if=extracted_image of=/dev/device name is the same thing Balena Etcher / Pi Imager does, right?
My question then would be IF I have to get the image written to a microSD card instead of a USB device (SSD or Flash disk).
I have downloaded the am64 images as well as the arm64 ones.

I will report back tomorrow.

  1. It’s supposed to be written onto a SD card, not a USB thumb drive
  2. For the Raspberry Pi, you need the ARM64 image specifically tailored towards the RPI4. There are other SBCs which are powered by ARM64 like the Pinebook. AMD64 is another architecture which is commonly found on modern desktop PCs, not a Raspberry Pi.
  3. Yes, the dd command does almost the same as Balena Etcher or the Pi Imager. I never used those graphical tools as i simply like to have control over the entire process.

So I extracted the file - eos-eos4.0-arm64-rpi4.220406-202523.en.img.gz - using 7zip and ended up with eos-eos4.0-arm64-rpi4.220406-202523.en.img. I wrote this image to a 64GB MicroSD Card using the Pi Imager.
I booted the Pi with this MicroSD card and looked at the EndlessOS splash screen for quite some time (perhaps 5 minutes?) then it came up to the same screen as I was seeing when I flashed the image to a USB drive.

I forgot to add that at that point, both the keyboard and mouse are dead (not lighting up) and not responsive.

I then mounted the SD card on another Pi4 so that I can look at the /run/initramfs/rdsosreport.txt but there is nothing inside /run/
At this point I am almost giving up on EndlessOS as I am finding it quite frustrating.

Interesting case. I will try to work out a procedure on how to save the mentioned log to the card for posting it here in the forum for further analysis. The /run directory is volatile and not stored on the physical media, thats the case why you are not seeing it on another computer.

In the meantime, can you please try the following:

  1. Can you try to write another Linux distribution to this SD card to verify if it’s working. Eventually the SD card itself has some issues.
  2. If (1) does not work, can you please try another SD card.

Just for the record, I have loads of cards and flash disks and they are high-quality ones. The SD card I used was running Android 13 on my Pi4. I also tested with another that was running Bullseye. I can say that my disks are not to blame. Oh, and I am also very competent in ICT matters so the problem here is not between the chair and the screen :slight_smile:
I’d really love to have my kids run EndlessOS on their Pi4Bs (they have the 4GB RAM versions) while I have 2 pieces of the 8GB RAM version.
I have the 20W adapters for the Pi4Bs so power again is not an issue.

Can you please run:

cat /run/initramfs/rdsosreport.txt

and post of photo of it here, eventually there is a clear indication on what has gone wrong.

As mentioned earlier, when it reaches that point, both the keyboard and mouse are DEAD - I cannot do anything apart from powering down. So it’s not possible to get the contents of that file.

OK, then the options are very limited. Do you have a USB-TTL cable to connect the serial console to a host computer to see whats going on. Looks like:

(these kind of cables can come handy in many situations when dealing with SBCs like the Pi or Routers and are relatively cheap, not more then 5 USD)

Hi @egrath,

Unfortunately, I have to give up on the pursuit to run EndlessOS. It’s consumed more time than I can allocate for it. I will probably try the VM option.

Thank you so much for the support you’ve given.