FS#76034 - HP Chromebook with AMD Stoney Ridge doesn't boot

Attached to Project: Arch Linux
Opened by Balázs Vinarz (vinibali) - Tuesday, 27 September 2022, 17:42 GMT
Last edited by Toolybird (Toolybird) - Sunday, 09 October 2022, 22:36 GMT
Task Type Bug Report
Category Kernel
Status Closed
Assigned To No-one
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Hello there!

I have an HP Chromebook 11A and it doesn't want to boot, doesn't matter what I'm trying to do.
It has an AMD A4-9120C on board.
Let me explain the boot parameters with all the combinations I was using so far:
* noacpi || acpi=strict
* noapic
* amdiommu=off || noiommu || iommu=soft
* amdgpu.dc=0 || amdgpu.aspm=0 || amdgpu.gartsize=32

It turned out, there is something wrong with the AMDGPU kernel driver, because if I blacklist at the kernel parameters it works.
Xubuntu 22.04 boots just fine.
A very old Linux-LTS 5.4.17 version boots with amdgpu.dc=0, but that version doesn't have a working wireless device.
Let me know, how can I help the debugging.
I tried to use the console=ttyUSB option too, but the machine freezes before the pl2303 driver gets loaded.

This task depends upon

Closed by  Toolybird (Toolybird)
Sunday, 09 October 2022, 22:36 GMT
Reason for closing:  None
Additional comments about closing:  See comments
Comment by Toolybird (Toolybird) - Friday, 30 September 2022, 00:39 GMT
> something wrong with the AMDGPU kernel driver

Please follow the general advice for kernel troubleshooting [1]. It's not clear from your report if Arch is already installed.

You should first try to determine the last working kernel version. If Arch is not installed, you can find historical Arch isos here [2] which means you can then perform a kinda poor man's bisection.

Apart from that, some other things to try:

- boot latest -rc kernel to see if it works
- take it to the proper support channels (forum/IRC/etc) to seek help with debugging
- report it upstream [3]

[1] https://wiki.archlinux.org/title/Kernel#Troubleshooting
[2] https://archive.archlinux.org/iso/
[3] https://gitlab.freedesktop.org/drm/amd
Comment by Balázs Vinarz (vinibali) - Tuesday, 04 October 2022, 17:47 GMT
I was spending some time with testing the different kernel version.
So 5.10.90 was working also with the amdgpu.dc=0 parameter.
Now I hooked up a USB-C network adapter and I can see Arch running :)
I would say, the debugging part can be skipped as I can provide the logs already.
So as I mentioned Xubuntu 22.04 works, I assume there is something wrong with the Arch config.
Comment by loqs (loqs) - Tuesday, 04 October 2022, 18:33 GMT
You can confirm confirm it is a config issue by building 5.19.13 or 6.0 with the config from the working Xubuntu.
Comment by Balázs Vinarz (vinibali) - Tuesday, 04 October 2022, 19:34 GMT
https://gitlab.freedesktop.org/drm/amd/-/issues/2187

[ 19.055972] amdgpu 0000:00:01.0: vgaarb: deactivate vga console
[ 19.056651] [drm] initializing kernel modesetting (STONEY 0x1002:0x98E4 0x1002:0x1EB0 0xEB).
.
.
[ 19.811790] [drm] Initialized amdgpu 3.47.0 20150101 for 0000:00:01.0 on minor 0
[ 19.822783] amdgpu 0000:00:01.0: [drm] *ERROR* fbdev: Failed to setup generic emulation (ret=-22)
Comment by Balázs Vinarz (vinibali) - Sunday, 09 October 2022, 20:32 GMT
The latest linux-lts is able to boot with the newest Coreboot firmware on board. I assume the IGP VRAM was very small, as the following commit shows:
" mb/google/kahlee: Increase VRAM from 16 to 32 MiB

While adequate for ChromeOS, 16MiB VRAM is insufficient for current
mainline Linux and Windows amdgpu drivers to operate properly. Under
Linux, the driver fails to allocate a framebuffer and causes multiple
kernel panics. Under Windows, the driver fails to load due to
insufficient resources available. Revert the VRAM allocation to the
previous amount of 32MiB."
https://github.com/coreboot/coreboot/commit/7f7f65cfb9ccdaaa38bad553f459b2fd19503d81

My other idea was about the simpledrm kernel module. So I decided to build a kernel without that, but the Chromebook boots with the Arch packed packaged now.
I need to use amdgpu.dc=0 and iommu=soft now.
Thanks, we can close this issue!

Loading...