A new version of Fedora Linux (https://fedoraproject.org) came out a week ago, and I had a bit of time to install it, starting with the sacrifical Compaq CQ50. The CQ50 is a dual core Athlon CPU laptop with 3GB of RAM, from circa 2008. Fedora 39 had worked well on it, and it also runs Windows Vista.
It does boot from a USB memory stick with the Fedora 41 installer on it, but gets stuck at a black screen (just a mouse pointer) rather than showing the installer. Behind the scenes (hit Alt-F3 or Alt-F1 to get a text screen), there are zillions of error messages scrolling by complaining about graphics hardware not working. Fortunately the boot text menu has an option to use basic graphics mode (SVGA 1024x768), and that worked. Guess they "improved" the nVidia/nouveau drivers since Fedora 39.
I got to the usual failure to install the boot menu (GRUB2), as expected since there aren't enough free sectors for GRUB between the start of the hard drive and the Vista partion (which I wasn't able to move). Last time, I had done a reboot of the USB installer and rather than installing, had opened a terminal window, mounted my /boot partition (mount /dev/sda2 /boot) and typed "grub2-install --verbose --force /dev/sda2" which installs GRUB in files on that disk partition rather than at the beginning of the disk. It also changes the hard drive boot sector to redirect to disk sectors which happen to be inside those files. Fine so long as those files don't move.
Next was setting up the GRUB configuration file, "grub2-mkconfig --output /boot/grub2/grub.cfg" usually works (with the real /boot partition mounted in the USB installer environment), but I got some grub2-probe errors saying
/usr/sbin/grub2-probe: error: failed to get canonical path of `LiveOS_rootfs'.Huh? It used to work. Now it boots up, but only lists Windows Vista, no Linux!
After many hours of trying to manually fix the grub.cfg file, searching for hints from fellow sufferers, and trying various things (chroot to make / and /boot point to the hard drive partitions, which failed because chroot doesn't provide a way of mapping data volumes to particular hard drives), I had a look at the grub2-mkconfig executable file. It is a shell script, and has a few lines of code where it uses grub2-probe to find the device for the "/" disk volume. Mounted my Linux boot partition at /boot and also did my root volume at /mnt/Thing and changed grub2-mkconfig to look for /mnt/Thing instead of "/", ran it, and it worked!
The black screen problem struck again when booting the first time. Normally you see a setup screen, where you can specify passwords and create an account. You can hit Alt-F3 to get to a login screen, but there aren't any accounts yet, so all those other hints and tips online about installing new video drivers won't work.
I then wondered how the USB boot menu worked to get a simpler graphics mode. It is a GRUB menu, and GRUB lets you see and edit the code that the menu runs, and I found the magic words for the line that runs Linux includes "nomodeset vga=791" Ah ha, I booted my installed Linux again, hit the key to edit the GRUB item and added those to the end of the linux line, and it boots and you can see the screen, and set up an account.
Whew, back in business, after a rather frustrating day. Now I'm off to install software and updates, and find out what else has changed in Fedora 41.
Copyright © 2024 by Alexander G. M. Smith.