Tumbleweed and Leap 15.4 installation problems on Raspberry Pi4 using SSD (USB) drive

Hi Everyone. This is my first post on this forum.

After a lot of distro hopping on Raspberry pi4 I have decided that OpenSUSE may be the best distro for my needs. I have it running nicely on the pi using an SD card (KDE plasma desktop). Very happy with performance etc. Now I would like to dispense with the SD and boot direct from an SSD. I have a WD elements 450GB external SSD that connects via USB3. This drive has successfully run every other distro (ubuntu, Manjaro, MXLinux, etc). I have also run a number of drive analytic and error checking tools and it checks out OK.

My usual process is to save an image of the working SD card using Win32 Diskimager and then use Raspberry Pi imager to transfer the image to the SSD disk. Nice and simple, and in all other distros this has worked flawlessly. However, in OpenSUSE (KDEaarch64 RaspPi version -Tumbleweed and Leap 15.4) this approach fails at a very early stage before the grub screen. The last line is “scanning bus xhci_pci for devices”. It never gets past this point.

I have tried creating an iso from Tumbleweed and Leap following the official web site instructions (using JeOS and KDE) - I use Rufus to dd the iso to the SSD and this approach gets me to the grub screen but after choosing installation option the installation halts at “hardware detection” which goes to 100% with the green bars but gets no further. I have tried nomodeset options and textmode=1 as suggested in other threads but nothing appears to work.
My impression is that this has something to do with u-boot, but this just a guess as all the OS’ that do boot successfully do not use U-boot.

My main question is, has anyone managed to get openSUSE (preferably Tumbleweed) working on a Pi4 booting direct from a USB SSD?
Interestingly I have managed to get direct boot from a USB stick so it appears that the SSD is being handled differently by openSUSE.
I am quite prepared to spend some time getting this working if it is possible. I just need to know if it has been done and some pointers to the correct process (I have spent two weeks on this now :slight_smile: ).



Have a look to this page https://en.opensuse.org/HCL:Raspberry_Pi4


Hi Phil,

Thanks for replying. Yes, I have followed all the standard advice on how to do USB boot, but nothing works. :frowning: I’ve been working on this for over 2 weeks solid. So take it as read that I have covered most of the obvious options. I am just keen to hear from anyone who has actually configured a USB based SSD (not a USB stick) to boot a Raspberry PI4. It may be that this just is not possible currently. If so, I will stick to SD boot and try again in a few months.

I have followed all the openSUSE official advice pages and much of the forum advice but I have yet to find anyone who has run a Pi4 off usb boot with SSD. It could be that I need to do a similar approach to Slackware i.e. boot from the SD and run root from the SSD.



OK, here’s an update.

I tried installing Leap 15.4 (by burning the image from the openSUSE downloads page (KDE version) with same result as Tumbleweed but Leap 15.3 (KDE) installed OK. However, once this had been updated with all the latest software it crashed on reboot (just before desktop gui) and the pi had to be reset (powered down) to restart.
However, this version did get through u-boot and grub so I tried the rescue of the most recent version which was and this also crashed just before the point at which the cursor blinking on the blank screen changes to a mouse arrow.
The previous versions in grub 15.3.18-150300.59.93 (rescue and default) all crashed at the same point as described before i.e. just before graphical interface comes up.
Interesting that 15.3 image works but then fails once updated.
I will continue using Tumbleweed from mSD card until I can sort it out.



Hi All,

Further updates.

The latest version of leap 15.4 build (booting from SSD via USB) now boots through to grub allowing me to choose to boot the default OS. After that XFCE goes through past the “welcome to openSUSE Leap 15.4” section. But then crashes just before you would expect the change to graphical log in.

Problem is, the screen info goes through so fast I cannot see the last line before the crash, to give some pointer where the problem lies.

Is the a way of getting at this information? i.e. Is there a way of logging the “boot-up sequence” for analysis? I have used the uart_2ndstage=1 command in config.txt but this has not helped.

Does anyone know of a way to get the “boot log” info? I have previously tried via serial console from a linux laptop and USB to serial (GPIO) cable but just could not get it to work :(.

I would be grateful for any suggestions.



Apologies, a short google search revealed the source of the boot info (var/log).
Below is the last section which looks like some audit process may be responsible for the crash.
Here is the info.

32.004233] Registered IR keymap rc-cec
<6> 32.004383] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
<6> 32.004480] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input4
<6> 32.045697] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
<6> 32.075047] Registered IR keymap rc-cec
<6> 32.075687] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
<6> 32.076291] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input5
<6> 32.081102] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
<6> 32.081289] vc4-drm gpu: bound fe004000.txp (ops vc4_txp_ops [vc4])
<6> 32.081420] vc4-drm gpu: bound fe206000.pixelvalve (ops vc4_crtc_ops [vc4])
<6> 32.081507] vc4-drm gpu: bound fe207000.pixelvalve (ops vc4_crtc_ops [vc4])
<6> 32.081587] vc4-drm gpu: bound fe20a000.pixelvalve (ops vc4_crtc_ops [vc4])
<6> 32.081662] vc4-drm gpu: bound fe216000.pixelvalve (ops vc4_crtc_ops [vc4])
<6> 32.081740] vc4-drm gpu: bound fec12000.pixelvalve (ops vc4_crtc_ops [vc4])
<7> 32.081980] checking generic (3e2cb000 7e9000) vs hw (0 ffffffffffffffff)
<6> 32.081987] fb0: switching to vc4 from EFI VGA
<6> 32.082535] Console: switching to colour dummy device 80x25
<6> 32.095060] Bluetooth: HCI UART protocol Broadcom registered
<6> 32.095243] Bluetooth: HCI UART protocol QCA registered
<6> 32.095255] Bluetooth: HCI UART protocol AG6XX registered
<6> 32.095345] Bluetooth: HCI UART protocol Marvell registered
<5> 32.106441] audit: type=1400 audit(1660824027.539:38): apparmor=“STATUS” operation=“profile_load” profile=“unconfined” name=“dovecot” pid=1128 comm=“apparmor_parser”

I will continue to investigate but I feel like I am moving forward now https://forums.opensuse.org/images/icons/icon7.png



Further progress…

I have managed to get the RPi4 booting from an SSD now but there are some caveats.
The process to achieve this in my case were.

Add force_hotplug=1 to extraconfig.txt

Then boot the Pi with a dummy hdmi (4K) plugged into the second hdmi socket (it will work when plugged into the first but it is more consistent when the second (furthest from the power socket) is used.
Then if connected via ethernet watch for the flashing light indicating a network connection. I usually at this point will connect via remote desktop (nomachine works consistently well). Once the desktop is established remotely, the dummy plug can be removed and the monitor plugged in to the second socket. After about 30 seconds the monitor will display the desktop and the remote desktop can be removed.

Without the dummy plug (with monitor attached) the boot up crashes just before the desktop would popup.
Without the dummy plug or monitor it will boot to allow ssh or remote desktop but resolution is difficult to achieve as nomachine has to create a desktop and resolution is quite low.

This is only possible with Leap 15.4, Tumbleweed hangs before u-boot auto boot as explained above. Again as before mentioned Tumbleweed is problem free when booting from SD card in the RPi4.

If anyone has any ideas as to why the use of a dummy hdmi allows correct boot up but a monitor does not, I would be very keen to know, especially if this may enable further progress to get this to boot normally with monitor attached.


Finally sorted getting Tumbleweed to boot from SSD on the RPi4.

Using another linux based distro loaded on SD I did a dd of the original working TW SD card with all my software mods loaded. This transferred with dd, the data on the TW SD card to the clean SSD.
Unfortunately the SSD did not boot and crashed just after the rainbow splash screen. So I then grabbed a modified u-boot.bin from this helpful web page https://linuxkamarada.com/en/2020/12/26/tumbleweed-needs-a-workaround-to-boot-on-the-raspberry-pi-4/ and pasted it into the EFI partition on the SSD replacing the old u-boot.bin.

Tumbleweed now boots from the SSD.lol!

Hope this information helps other trying to use OpenSUSE TW. The RPi4 really benefits from SSD booting.