HOWTO prevent installation hangs on recent hardware
Slackware - InstallationThis forum is for the discussion of installation issues with Slackware.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I have just had the same experience trying to boot a slackware 15.0 installation USB on a Dell inspiron 7415. I was able to boot using your fix but haven't got round to going ahead with the installation yet.
One of my "test" machines is an oldish Dell Latitude. It was given to me by a friend as it has a graphics fault somewhere that makes the screen erratic - works fine on an external monitor, though.
I had quite a struggle getting a UEFI boot on it, as there were a few things I had to mess about with in the BIOS. I can't remember off-hand what it was, but if you get stuck, send me a PM and I'll have a root around and refresh my memory!
I was bitten by this issue with a MSI Creator 17 B11UE. It has an Nvidia RTX3060.
My solution was to "steal" the GRUB bootloader from Linux Mint (20.3) to install Slackware 15.
One thing I noticed is that the machine does not freeze, it is only the video that does not work. If you hit [Enter] a couple times after the installer "loads", and type "poweroff" the machine will power off as expected, just as it does in the regular installer.
I was able to install Slackware 3h ago, and about 1.5ago found this page with you solution... yeah.
My GRUB entry is almost like yours.
linux /huge.s load_ramdisk=1 prompt_ramdisk=0 ro printk.time=0 SLACK_KERNEL=huge.s
initrd /initrd.img
Also once installed, regular elilo does not have problems booting and having video working.
In my case I need to install proprietary nvidia sadly, cause nouveau barely supports RTX3060
Yes, since I wrote the original piece, more information has come to light. Not all machines freeze completely, but they still remain pretty useless with no screen. And yes, once installed, elilo does boot the system, but the screen remains blank (no penguins) until KMS kicks in.
The only 100% reliable boot-loader seems to be grub. Like many others, I was reluctant to adopt it initially, but now I've used it for a while, I would not go back. I've written a simple "helper" script to take care of updating after a kernel upgrade, and copied all my important setups to the config script (and made a backup of it!). I now use this on three machines (Desktop, workshop and laptop) and it has worked on everything I've tried it on.
used USB for installation of Slackware-cuurent (Alien Bob installation disk) at the time. Since this problem preceded my install (and still persists) one can at least exclude some of the hardware.
I prepared disk first making partitions including EFI
Booted laptop from USB and installed with EFI/elilo. This means that the statement
Quote:
Elilo is not compliant with 64-bit efifb.
is incorrect as I did not encounter any problems at all.
The original post was written some time ago now, and further information has come to light since then. You are correct in saying that I was wrong when I said elilo was not compliant with a 64-bit efi frame buffer, however on many systems it still has some issues until kms kicks in. Also, I believe it has been orphaned, and is no longer being updated - perhaps another reason for switching to grub for the longer term.
Either way, my fix works for most people having issues - I haven't heard from anyone who has not succeeded with it.
I have a new PC with an AMD Ryzen 7900 (with integrated GPU) and have hit this issue, and switching to grub works.
I noticed with grub that it takes approx 5s for boot up messages to appear after grub finished loading the initrd (and the video mode changed at the same time), and looking at those with dmesg after boot, those messages around the 5 second mark are about it using the efifb console.
I might try later to see if there's anything on the serial port console when it hangs with elilo (if the kernel runs at all after it "hangs"), and try to figure out exactly what the difference is between elilo and grub that allows grub to work, but that's driven purely by my irrational desire to avoid using grub. The CDROM's EFI boot binary already uses grub so this is a pointless exercise anyway. Is there a reason the usbboot.img can't be changed to just use grub by default as well?
I, too, hung back from using grub for a long time, and only adopted it when I hit this issue. I find the Slackware implementation much easier to setup and use than some other distros I've tried. Indeed, once I got my head around it and realised the benefits, I switched ALL my other machines over to grub, and haven't looked back. Perhaps Slackware's documentation is better!
As a side benefit, a grub install USB makes a brilliant rescue disk! I recently had an issue with my main PC, which suddenly refused to recognise my SDD and came up with the dreaded "no system disk found" error. I plugged my old (and well out of date) install disk in, and the grub menu immediately found the broken Slackware installation, and asked me which of the two installed kernels I wanted to boot (I always keep a spare when updating the kernel!)! I selected the most recent kernel, which booted without issue straight back into Slackware. All I had to do was re-install grub and then update it, and my system was restored. Very quick and easy, though I still don't know what caused the problem in the first place. Its been fine since!
One last question: Whose BIOS does your system use? The machine that caused me all the grief initially uses an Insyde BIOS, and I've had issues with those in the past. It feels almost as if they are designed to work only with Windows, and can cause problems with anything else. I have no hard evidence for this, just that the two machines I have owned with Insyde BIOS have both caused issues with Linux, until I figured a work-around...
Thanks, it's an AMI BIOS, version 1222, and in case it matters the mobo is ASUS TUF GAMING X670E.
Also re-reading this thread, it's not clear that your theory about 64-bit efifb has been ruled out, I don't see anywhere in Aeterna's post if their efifb is 32 or 64 bit.
This thread https://lkml.kernel.org/lkml/2015083...@redhat.com/T/ says "basically all GOP devices in the wild use a 32-bit frame buffer address." (in 2015), so I think it could still be true that 64 bit fbs are the issue (not saying it is true, just that it could be). Is there a way to check if it's 32 or 64 bit? If not then probably can add a printk to the kernel, in the same code that patch touched.
I make no claims to being a programmer! I am a hobbyist tinkerer, though I've had to work with computers most of my life! I was taught some programming at college (Fortran IV on an IBM Mainframe and Focal on a PDP-8), but everything else I've picked up as I go along. I probably peaked with 6052 machine code (gives you some idea of my age!). I can follow reasonably straightforward C, but would hesitate to write anything in it!
Most of what I've written here has come from experimentation - ie: staggering around blindly in the dark! At first I was convinced the issue was the efi frame-buffer, but some - who seem to know more about it than me - have queried this. In short, I don't know, but I do know that my work-around works, and has some side benefits!
I would be interested to see any conclusions you come to, and its interesting that yours is a recent AMI bios. Perhaps I've been unkind to Insyde, but the very first 64bit machine I got also had an Insyde bios which caused me no end of grief initially.
I am running one Intel desktop, two Intel laptops (one is a junker used for test purposes!) and one (quite old) AMD desktop. All 64-bit, all running grub now.
and managed to captured that by typing the following in blind (i.e. didn't need to find a serial cable):
Code:
1<ret>
down<ret>(for UK keyboard)
1<ret>
root<ret>
mkdir /s
mount /dev/sda1 /s
dmesg > /s/dmesg.txt
sync
and finally that showed:
Code:
[ 6.837318] efifb: is not 64 bit
(and all the other messages same as with grub, nothing helpful there). So, I think this rules out the 64 bit theory.
I'll go ahead with the installer now, also will see if elilo works as an installed boot loader, although I already tried copying the usbboot.img's elilo BOOTX64.EFI to the NVMe and tried booting that, but that hit the same issue.
> also will see if elilo works as an installed boot loader,
It doesn't, same problem, and this was with the installer creating an EFI menu entry, so that seems to be different from what you and others have reported. Copying grub's BOOTX64.efi to the EFI partition and booting that still worked.
Also this is much less about avoiding grub and more about getting the installer to just work out of the box, currently it doesn't, and no one even knows the pattern about exactly when it doesn't work...
Since it's still possible to login and type commands blindly, and capture dmesg, if anyone has ideas for things to try please let me know, thanks.
Distribution: VM Host: Slackware-current, VM Guests: Artix, Venom, antiX, Gentoo, FreeBSD, OpenBSD, OpenIndiana
Posts: 1,008
Rep:
Quote:
Originally Posted by ldarby
Thanks, it's an AMI BIOS, version 1222, and in case it matters the mobo is ASUS TUF GAMING X670E.
Also re-reading this thread, it's not clear that your theory about 64-bit efifb has been ruled out, I don't see anywhere in Aeterna's post if their efifb is 32 or 64 bit.
This thread https://lkml.kernel.org/lkml/2015083...@redhat.com/T/ says "basically all GOP devices in the wild use a 32-bit frame buffer address." (in 2015), so I think it could still be true that 64 bit fbs are the issue (not saying it is true, just that it could be). Is there a way to check if it's 32 or 64 bit? If not then probably can add a printk to the kernel, in the same code that patch touched.
maybe use
Quote:
file
e.g.
Quote:
file /usr/src/linux-6.2.7/drivers/video/fbdev/efifb.o
/usr/src/linux-6.2.7/drivers/video/fbdev/efifb.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped
also
Quote:
[ 6.837318] efifb: is not 64 bit
does not mean that efifb is not 64-bit, it means that something requested by efifb is not 64-bit. Maybe BIOS is buggy.
On the laptop that gave me all the trouble (and kicked off this thread!), elilo worked once the installation was complete, but there was no initial screen (the one with the penguins) when booting. This implied to me that it was the initial framebuffer that was the culprit. However, it has also been pointed out (above somewhere) that the stock installer uses syslinux (?) and not lilo/elilo, so the problem could be different.
What put me onto grub was the fact that other distros that I tried worked perfectly - even SystemRescueCD - and they all used grub as the boot system. Once I configured the Slackware install medium to use grub, everything worked perfectly.
I have since tried the grub install media on a variety of systems, ancient and modern, and its the only one I've found that works on everything I've tried it on. As I said above, it also makes an excellent rescue system if the mbr gets damaged or overwritten.
I know that it works, but I leave the how's and why's to those better qualified than me!
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.