Hello!
I’ve installed RX7800 GPU instead of RX550.
And after my Fedora 38 Workstation can’t boot. I see only the MB logo and red, orange and yellow pixels at the first top line on my monitor.
I couldn’t use Alt+F2 to got the access to the terminal, because it didn’t work.
I’ve added the nomodeset parameter to the GRUB settings for Fedora. GRUB couldn’t process it - wrong syntax.
I’ve booted F39 via USB drive and I worked perfectly.
So, how could I change the driver on my F38? Or how can I get multiuser.target to install a correct GPU driver?
That suggests that you did the edit in the wring place.
You should be editing the line that has the rhgb in it.
It is also worth removing the quiet rhgb so that you can see kernel and boot up messages.
Before you added the new GPU was the kernel updated?
@barryascott, yes, there were no kernel updates before the GPU installing.
I’ve deleted quiet rhgb and added nomodeset instead of it.
No errors between boot messages.
The system tried to start default.target. And it failed: Cannot open access to console, the root account is locked. Then I’ve pressed Enter to continue and the circle went for a infinity.
I’ve loaded the F39 USB and used chroot to set the root password. All operations were success. But after rebooting I couldn’t reach the network (no Internet connection).
Can you try to mount the root filesystem when using the F39 USB image? Perhaps you can then view the logs of your failed boot. It would seem to be at least getting to some point along the process since systemd is in the process of getting services up. AMD firmware update in this system update (today) too, so maybe ya just needs to wait.
I have seen similar problems when the initramfs image did not contain the proper driver for the currently installed GPU.
In my case the fix that worked was to boot from the usb with the new GPU, then mount the installed file systems. After mounting the installed root file system I ran dracut in a chroot environment using the --no-hostonly option to generate a new initramfs image that contained all the device drivers and firmware so the new GPU was supported on the next boot.
The process used was
remove the currently installed intitramfs image by renaming it to keep as a backup.
sudo dracut --force --no-hostonly --kver <kernel version> Kernel version would be used in the format given with using ‘uname -r’ but for the specified version since the booted version is likely different than the installed version.
verify the new initramfs file was created for the kernel specified
reboot.
After booting the initramfs file will be larger than previous files but with the next kernel update the newer one will be back to normal size. It also can be restored to normal size by using sudo dracut --force and overwriting the larger one that contains the excess drivers and firmware.
If you don’t see a Fedora 38 entry in the GRUB menu, it’s possible that the bootloader configuration was overwritten during the Fedora 39 installation. You can try to manually add the Fedora 38 entry using tools like grub2-mkconfig .
If you installed F39 on the same drive and used the same efi partition as was previously used for F38 then it is certain that it overwrote the F38 grub for booting.
The only sure way to use both versions on the same drive & efi partition is to create a manual menu entry for grub and to have both /boot and the system root partition unique to each installation as well as having each use its own subdirectory under /boot/efi/EFI. The files in /boot/efi/EFI/fedora are created during the installation so whatever may have been there previously gets overwritten by the newly installed fedora version.
In general, it seems to never be a good idea to try and have 2 fedora versions attempt to share an efi partition unless you are an expert with grub and can adjust the grub configs for that purpose.
Specifically at point is the content of /boot/efi/EFI/fedora/grub.cfg which points grub to the appropriate /boot/grub2/grub.cfg file for actual booting. Since F39 created that file for booting F39 then the one for F38 (pointing to a different /boot) would have been overwritten.