Table of Contents

Ubuntu - GPU - AMD GPU - Troubleshooting - System will not boot

Problem

Booting the system freeze immediately. It may show:

/dev/nvme0n1p2:  clean...
...recovering journal

but does not continue.


Likely reason for the issue

NOTE: There is a missing kernel module.

  • Try to install the missing kernel modules.

Fix

  1. Force power off.
  2. Wait 10 seconds
  3. Restart.
  4. Continually press and release shift button.
  5. This should display the Grub menu.
  6. Select the latest Recovery kernel to boot.
  7. This should display a list of options.
  8. Select Root.
  9. Press <Enter> to get into a shell.

Add Kisak (optional)

sudo add-apt-respository ppa:kisak/kisak-mesa
sudo apt update
sudo apt upgrade

NOTE: This will install the latest stable MESA-driver.


Force the use of the Kisak resposity for MESA

sudo vi /etc/apt/preferences.d/kisak-pin-2000 

and populate with:

Package: *
Pin: release o=LP-PPA-kisak-kisak-mesa
Pin-Priority: 2000

and update again:

sudo apt update
sudo apt upgrade

Download the latest firmware

mkdir /home/peter/amdgpu
cd /home/peter/amdgpu
git clone https://git.kernel.org/pub/scm/linux//kernel/git/firmware/linux-firmware.git

NOTE: The /home/peter/amdgpu directory here is just a temporary directory.

  • The git command will download the firmware into a sub-directory named linux-firmware within the /home/peter/amdgpu directory.

Backup the existing firmware directory

mkdir bak
sudo cp -R /lib/firmware/amdgpu bak

NOTE: This backup can be used, just in case this is needed.


Place the latest firmware into the firmware directory

sudo cp linux-firmware/amdgpu/* /lib/firmware/amdgpu

NOTE: This will copy the amdgpu drivers from /home/peter/amdgpu/linux-firmware directory, to /lib/firmware/amdgpu.


Rebuild the initramfs

sudo update-initramfs -c -k $(uname -r)

Reboot

sudo shutdown -r now

Housekeeping (Optional)

Remove the temporary directories that were created for this fix.

sudo rm -Rf /home/peter/amdgpu

References

https://git.kernel.org/pub/scm/linux//kernel/git/firmware/linux-firmware.git

https://launchpad.net/~kisak/+archive/ubuntu/kisak-mesa