(Please note that I am breaking this out as a separate question from this one I asked earlier: How exactly do the Linux display device files work?)
I have a Linux From Scratch system that I've built (including the kernel) and installed on an Apple Macbook 2,1 (just a basic text console, no X server). The system was working fine until about a month ago, when I started experiencing problems with the display. Now, when I boot the system, the GRUB menu shows up and at that point, the display seems absolutely fine - no flicker, nothing. Perfect. However, when I go to boot LFS (in debug mode), I see a load of boot messages fly past and then the screen goes blank. I know the system is booting up, as I can login and execute commands 'blind'.
I suspected the problem may lie with the i915 GPU driver (which I've heard is notoriously buggy), so I've rebuilt the kernel to exclude the modules for i915 and drm. Basically, I just want to use the framebuffer (i.e. efifb or vesafb) and bypass the GPU entirely. However, the black screen problem keeps happening and won't go away. I've tried a lot of things and I have been digging through the logs and init files and it seems to be happening once udev loads up and starts handling uevents. I've been tinkering with the udev rules files, but can't seem to identify the particular rule that is causing the problem.
Does anyone have any idea what might be causing this? The frustrating thing is that the display seems to work perfectly when the GRUB menu comes up - it seems like if I could just get Linux to leave the display setup alone when it boots, there wouldn't be any issue.
(I should also mention that I have Libreboot installed on this Macbook, which is a version of coreboot that only includes free firmware)