5

Update 2019-05-21 19:37 EST: My motherboard is on the latest BIOS available, released 2019-03-06, but still has the install problems described below.

Update: I burned the Arch ISO to a CD then tried booting from it, both in UEFI and legacy. Same type of result:

enter image description here enter image description here enter image description here enter image description here

Original question: I used dd to put this Arch ISO (Version 2019.05.02) on a USB stick, then attempted to boot from it on my desktop computer. When the Arch menu comes up, I choose "Boot Arch Linux (x86_64)." But what follows is a bunch of error messages, then the process just hangs there doing nothing. Here's a pic: enter image description here

The messages start off as "AMD-Vi: Completion-Wait loop timed out"

The messages include "kernel panic."

My motherboard is an MSI B450 Tomahawk with a Ryzen 5 2600 CPU. I've tried booting via UEFI and legacy with the same result.

How do I install Arch Linux?

intika
  • 14,406
Username
  • 819
  • 1
    Not directly answering your question -- does your downloaded ISO match the provided checksum(s) in that linked directory? sha1sum archlinux-2019.05.02-x86_64.iso will give you the SHA1 hash, which should be a86b13e041996942529cd7d51405a87ffbb36caa. – Pete Cooper May 21 '19 at 13:17
  • 1
    This looks like one of those bugs with a fix which is good enough to fix the problem, but unfortunately not good enough to be merged into the kernel... – Stephen Kitt May 21 '19 at 13:27
  • 1
    I would update the BIOS and try a more recent kernel. Another try is enabling legacy mode and disabling AMD SVM, at least during the install phase. – Rui F Ribeiro May 21 '19 at 14:34
  • Related: https://askubuntu.com/questions/1089524/ubuntu-18-10-installation-fails-amd-vi-completion-wait-loop-timed-out-ryzen-3 – S.S. Anne May 21 '19 at 21:51
  • 1
    @PeteCooper Checksums match – Username May 21 '19 at 23:34
  • @StephenKitt I'm a noob so I'm not sure how to apply that code to my situation. – Username May 21 '19 at 23:35
  • @RuiFRibeiro How would I try a more recent kernel? I'm new at troubleshooting a Linux OS install. – Username May 21 '19 at 23:35
  • @Username i posted full detailed answer, that could be understood by anyone ;) – intika May 22 '19 at 01:43
  • This question is hard to read. There are pages in info, before being presented with the question. How are we to know what to do with the info, before we know the question. Putting the question upfront (in the title), will help. – ctrl-alt-delor May 25 '19 at 09:18

2 Answers2

7

Linux Kernel With MSI B450

The kernel fail in this case because of the support of the iommu feature; you can use some specific kernel adjustment (parameter) to fix your booting issue, this video demonstrate how to edit/apply the kernel parameters; here are some possibles solutions, try the different proposed parameters and choose the one that match best your needs. also you may turn off SVE in the bios.

Possible Solutions: Kernel Parameters

  • iommu=off
  • iommu=off and amd_iommu=fullflush
  • amd_iommu=off
  • mem_encrypt=off
  • amdgpu.runpm=0
  • pci=noats

Involved Technology Definition

Kernel Parameters: (aka Boot Options) Kernel command line parameters are parameters that you pass on to the kernel during the boot process to adjust its features or capabilities.

IOMMU: is a memory management unit that basically increase performance and security; additional details can be found here

IOMMU State: on, off or fullflush (detail on the linked article)

mem_encrypt: Add support for Secure Memory Encryption (SME). and defines the memory encryption mask that will be used in subsequent patches to mark pages as encrypted.

amdgpu.runpm=0: disable the graphical power management in the linux kernel (it will be then handled at the hardware/firmware/bios level)

pci=noats: disable PCI Address Translation Services

Note

  • After the install you will need to be very careful on kernel updates

  • Advanced technical users may build their own kernel with this or that patch

Arch Boot Disk:

To apply the parameters to the boot disk, on the boot menu, push "tab" to edit the boot command, hit space (to add a space) then write the parameter for instance "iommu=off" without quotes then hit enter to boot

Sources:

launchpad, freedesktop, freedesktop, freedesktop, askubuntu, wikipedia, artofcode, archlinux, linuxfoundation, fclose, youtube, youtube

intika
  • 14,406
  • From the Arch CD menu, how do I get to the point of editing the kernel? Does my blank SSD even have one? Maybe I’m asking the wrong question... – Username May 23 '19 at 13:11
  • @Username on the youtube video i linked it should be explained... basically on the grub menu where you select the boot option normally pressing "e" let you edit the menu and "ctrl+x" to boot after writing the modification https://youtu.be/BdBnVDF8qvQ?t=141 – intika May 23 '19 at 13:16
  • I don’t believe I have Grub. I have a blank SSD and anther with Windows 10. My boot option is my CD drive in legacy mode. I tried pressing “e” and “ctrl+x” on the Arch screen but nothing happened. – Username May 23 '19 at 14:30
  • @Username boot into your arch cd, push "tab" to edit the boot command, hit space (to add a space) then write the parameter for instance "iommu=off" without quotes then hit enter to boot – intika May 23 '19 at 15:06
3

Add acpi=off or iommu=soft while booting. Both have their disadvantages:

iommu=soft:

Linux can then detect everything properly (all cores) and I've had zero crashes. The only issue is that it's using software IOMMU which could have a performance penalty because it has to copy all the data of some PCI devices to sub 4G regions.

acpi=off:

Alternatively it boots with the kernel option "acpi=off" but only detects a single core/thread.

Resource: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1747463

To add one of these options, press Tab at the screen that says Press [Tab] to edit options and add it at the end of the line that contains initrd=.

Resource: https://www.reddit.com/r/archlinux/comments/9bv2vj/how_to_add_kernel_parameters_to_boot_from/

If that doesn't work, check and see if there are any available BIOS and/or Arch ISO updates. You might have a better chance of getting it to work if/when Arch includes Linux kernel 5 in their images.

Resource: https://askubuntu.com/a/1091191

S.S. Anne
  • 482