With AMD Picasso APU system hangs during boot with kernel 5.6.2 (5.6.0 works)

System hangs with normal and recovery boot mode.
Updated kernel is needed to use builtin graphics.
AMD Picasso = AMD Raven2 APU = AMD Ryzen 3 3200G, 3200GE | AMD Ryzen 5 3400G, 3400GE
Looks like system hangs trying to initialise builtin graphics.

Bug filed: https://bugzilla.opensuse.org/show_bug.cgi?id=1168611

Good to create a bug report.

Would be good to get some more information on where it exactly hangs using Debugging_boot_hang

How to stay with kernel 5.6.0?
All kernels 5.5.x purged by a system.
Have no 5.6.1 kernel installed.

I have an understanding issue here:

  • In the Tumbleweed repository, only the following versions of the “kernel-default” package are currently being listed: 5.6.0-1.1, 5.5.13-1.2 and 5.5.11-1.2.

<https://download.opensuse.org/tumbleweed/repo/oss/x86_64/&gt;

[HR][/HR]From which Repository are you installing your Tumbleweed?

I am using Leap 15.1 + Kernel:stable repo.
I don’t want to add TW repo to a Leap - it will cause many problems, which already was described in this forum.
Roght now TW repo has no 5.6.1 or 5.6.2 kernels.
Maybe I may download TW kernel locally to use them with Leap 15.1?

Previously I was trying to install AMD ROCm OpenCL-only to get OpenCL support with AMD APU Ryzen 3 3200G.
So I installed dkms and rock-dkms packages.
Then I realized that I need upstream drivers (from Linux) to my system.
I deleted these packages.
But it didn’t helped to boot normally.
OpenCL works now with 5.6.0 kernel.

Testing with different kernel parameters with deleted “quiet” and “splash=…”:

Bootig with “nomodeset”: works, but with reduced graphics (only 1024*768, monitor = “default”, renderer = llvmpipe).

Booting with “debug” + “initcall_debug”: system hangs.
Last “calling” which unpaired with “initcall”:


calling amdgpu_init+0x0/0x1000 [amdgpu] @ 410
[drm] amdgpu kernel modesetting enabled.
Parsing CRAT table with 1 nodes
Creating topology SYSFS entries
Topology: Add APU node [0x0:0x0]
Finished initializing topology
checkilng generic (e0000000 300000) vs hw (e0000000 10000000)
fb0: switching to amdgpudrmfb from EFI VGA

Then I updated kernel from 5.6.2-1.1 to 5.6.2-2.1, but it didn’t helped.
Same output, only difference is in first string: from “410” to “432”.

Okay, understood you like to stay on 5.6.0

See SDB:Keep multiple kernel version, you can instruct zypper to keep this older kernel, see *Keep a specific kernel version.

*Does “zypper se -si kernel” still show the 5.6.0 kernel on your system?

Doing my best to stay with 5.6.0.

:~> LANG=EN zypper se -si kernel
Loading repository data...
Reading installed packages...

S  | Name                 | Type    | Version            | Arch   | Repository            
---+----------------------+---------+--------------------+--------+-----------------------
il | kernel-default       | package | 5.6.0-1.1.g4de1111 | x86_64 | (System Packages)     
il | kernel-default       | package | 5.6.2-2.1.g7f2ce15 | x86_64 | Kernel-Stable         
il | kernel-default-devel | package | 5.6.0-1.1.g4de1111 | x86_64 | (System Packages)     
il | kernel-default-devel | package | 5.6.2-2.1.g7f2ce15 | x86_64 | Kernel-Stable         
il | kernel-devel         | package | 5.6.0-1.1.g4de1111 | noarch | (System Packages)     
il | kernel-devel         | package | 5.6.2-2.1.g7f2ce15 | noarch | Kernel-Stable         
i+ | kernel-firmware      | package | 20200316-35.1      | noarch | Kernel-Stable         
i+ | kernel-macros        | package | 5.6.2-2.1.g7f2ce15 | noarch | Kernel-Stable         
il | kernel-syms          | package | 5.6.0-1.1.g4de1111 | x86_64 | (System Packages)     
il | kernel-syms          | package | 5.6.2-2.1.g7f2ce15 | x86_64 | Kernel-Stable         
i  | nfs-kernel-server    | package | 2.1.1-lp151.7.3.1  | x86_64 | Main Update Repository

Therefore, in ‘/etc/zypp/zypp.conf’ at about line number 560:

multiversion.kernels = 5.6.0-1.1.g4de1111,latest,latest-1,latest-2,running

If your system partition uses Btrfs, you may be able to roll back to a Snapshot where the Kernel version 5.6.0 is present.

  • Then “freeze” that Kernel version in ‘zypp.conf’.

In the future, you could, if possible, maintain a backup copy of the RPM containing the Kernel version you need – I haven’t found a copy of the 5.6.0 Kernel RPM in the Leap repositories.

Done.

Kernel 5.6.0 came from Kernel:stable repository.

I got kernel 5.5.13 from https://download.opensuse.org/history/ - but it was for TW.
I installed it, and it hanged with the same messages.
AFAIR previously it was working.

I think I broke videodriver loading when installing AMD ROCm.
Instruction for installing AMD ROCm is very bad.
I deleted AMD ROCm packages, but still had same results.
Only kernel 5.6.0 works now.

Problem was solved with the great help from Takashi Iwai (see bugreport for details).

Previously I tried to use OpenCL with AMD Ryzen 3 3200G.
OpenCL drivers from Mesa 3D is not working as usual.
So I tried to install AMD ROCm.
Instruction for installation was very elusive, that why I installed AMD’s drivers, albeit the fact that for APUs upstream kernel drivers are needed.
Then I deleted this unneeded drivers.
But AMD’s uninstaller forgot to delete file /etc/dracut.conf.d/amdgpu-5.6.0-1.g4de1111-default.conf which contained strings:


add_drivers+=" amdgpu"
fw_dir+="/lib/firmware/5.6.0-1.g4de1111-default"

After removing this file I reinstalled kernels.
Now they can be loaded normally - 5.5.13 from TW and 5.6.2 from Kernel:stable repo.

I couldn’t find instruction for rebuilding init files for openSUSE (dracut?), so reinstalling worked it out.

So the title of this thread “With AMD Picasso APU system hangs during boot with kernel 5.6.2 (5.6.0 works)” is wrong.

New one: “Installation and subsequent uninstallation of AMD drivers with AMD ROCm breaks creation of initrd files and causes system hangs during boot”.