I have an old, white MacBook. Not sure if that is a 2009 or 2010 model, but I think it is the 2010 model. It has no macOS installed anymore (the partition was deleted) and as it cannot run any current macOS version to begin with (I think 10.11 is the last one it could run), I tried to install elementary OS on it instead.
I downloaded 5.1.7 Hera, made a bootable USB stick and was able to boot from the USB stick without issues. I ran the installer and everything seem to be working fine. Except when I try to boot the installed system, I only get a very dark gray screen, then after a short while a black screen, and nothing else happens. No boot logo, no boot menu, and the system does not react to any keyboard input (e.g. CTRL+ALT+FN+F1
does nothing).
I can only open the GRUB prompt by pressing ESC
during boot but I don't know what to do there. I tried to boot in recovery mode but that only shows more boot messages and finally also ends up in a black screen.
In an attempt to work around, I downloaded rEFInd and made a bootable USB stick from it. I can boot into the rEFInd boot menu without problems. There I can choose to boot either
EFI\ubuntu\grubx64.efi
which shortly displays some text on screen, so that's more than when booting without rEFInd, but no GRUB boot menu and it's displayed way too short to be readable. After that the same behavior as before.
Or I can choose to boot
boot/vmlinuz-5.4.0-60-generic
which shows the normal text messages of a booting Linux kernel, so it seems the kernel is loading and initializing just fine, followed by text output of system services starting (looks familiar if you know other Linux systems - I guess these are from systemd) but at the end, the screen goes black again and that's it.
rEFInd allows me to pass boot options to either GRUB or the Linux kernel.
- I tried to pass
nomodeset
to either one, no effect. - I tried to pass
nouveau.modeset=0
to either one, no effect. - I tried to pass the following to either one, without any effect:
i8042.nomux=1 i8042.reset i915.lvds_channel_mode=2 i915.modeset=1 i915.lvds_use_ssc=0
These are all the solutions I found here when searching for similar problems yet none of these worked. I'm somehow lost.
Note that I can run the live system without any problems, so if you want me to boot into that system and perform some commands to get further debug info or to change the installed system, this is no problem. As you may have noticed, I'm very tech-savvy but not an expert for debugging Linux boot issues.
Update
Without quiet splash
in GRUB I get the same behavior as when using rEFInd and directly boot boot/vmlinuz-5.4.0-60-generic
: I see the kernel boot messages, I see systemd starting up services (no indication of any start up failure) and then the screen goes black and that's it. Everything is displayed way too short to be captured or even read.
I suspect the problem is the graphics driver. It seem that the system freezes the moment it tries to bring up a graphical UI. Not only it will fail to bring up this mode, it also kills the keyboard somehow and thus no shortcuts work (like switching to a text console again).
Is there a way not to boot into graphical UI to debug, read logs or try different configs? I read somewhere that you can add a legacy run level at the end of the config string in Ubuntu and when you add 3
after all options, you are not booting into UI mode but this doesn't seem to work for me, I still get a black screen that way.