I expect I've missed something glaringly obvious here, but I can't work it out
I've installed Enoch to my EFI partition and when I tried to boot from it originally, it didn't seem to boot into the OS properly. I'd either get an error or I'd get a blank screen... Now, the USB boot image seems to use Enoch and was able to boot fine, although I was having some weird graphics issues. I could only get it to boot properly with nv_disable=1 to start with. I'd installed the nVidia web drivers to try and get my GTX 560 working, but if I now stopped specifying nv_disable=1, I couldn't boot graphically. It would just hang and my monitor would go to sleep. I tried even specifying nv_disable=0 and I noticed in the boot sequence it stated it wasn't going to load the NVDA as it was being disabled by nv_disable=1.
Anyway, I'd been reading about a few people saying they needed to make some tweak to their bootloader so I thought, well, I haven't got to the point of installing a bootloader yet, so maybe if I do that now, I might be able to fix the graphics sooner... Had trouble installing Clover, which after reading another thread, seems to be due to older CPU's not supported SSE4 (I have a Phenom II X6 1090T Black)... so I tried to installed Enoch. That works with the USB, so why not with the installed version?
Installed it, rebooted and it wouldn't load properly. Tried a few flags, couldn't get it to load at all, even with nv_disable=1... so I booted back from the USB stick and I compared the EFI partitions on the USB and HDD. I could see a fair few differences. There were some extra flags specified on the USB that weren't on the HDD, there were a few extra files on the USB as well like the SMBIOS.plist and kernel.plist files.
So I took a backup of the files to the desktop & copied over the files from the USB. Rebooted and this seems somewhat better. I can essentially emulate booting from the USB now, it works if I specify the nv_disable=0 or 1 flags. Woo, we're getting somewhere.
Now after some Googling and tinkering, I've eventually found that GraphicsEnabler=Yes sorts my graphics out... sort of. When I specify this command, I get the start of the text scrolling up the screen and in this output, I can now actually see some genuine graphics card info. Result! There is then the point where the kernel starts to load, the font changes on the screen and you start to see the verbose output. This doesn't happen anymore, the screen goes completely blank... and it'll stay blank for a good 5-10 minutes before eventually, PING! Up comes the login screen in a proper resolution. I don't get any verbose output at all, no loading screen, nothing. It literally looks dead for a period. The only give away difference is that my monitor has a row of 6 LED lights along the bottom of it. When I have a graphics driver issue, these all go out and the screen goes to sleep... but when it's loading like this, the lights stay on. The monitor never goes to sleep, it just dims to a power save mode because the screen is completely blank.
So for a start, is there some parameter that might be missing or useful to help speed it up a bit? Is that a graphics driver thing, or something else? It boots a lot quicker with nv_disable=1 but obviously I don't get decent resolution.
After we forget that problem, I now know that GraphicsEnabler=Yes allows me to boot with working graphics driver, great. Do I want to type that every time I boot up? Of course not... so I'm trying to setup the bootloader to use that flag as my default set of flags... what I've gathered from a quick Google search and my own poking around is that there is a string of flags in the org.chameleon.Boot.plist file in the EFI partition's /Extra directory. This was set to:
<string>-f -v npci=0x3000</string>
<string>-f -v npci=0x3000 USBBusFix=Yes GraphicsEnabler=Yes</string>
Am I doing something wrong? Any ideas why this isn't picking up the boot flags from the file?
The complete org.chameleon.Boot.plist file looks like this:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple/DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/ PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CsrActiveConfig</key> <string>103</string> <key>Kernel Flags</key> <string>-f -v npci=0x3000 USBBusFix=Yes GraphicsEnabler=Yes</string> </dict> </plist>
I was editing /Extra/org.chameleon.Boot.plist in the EFI partition... but I've since realised there is an /Extra/org.chameleon.Boot.plist in the OS partition as well. I've just edited that one to add the GraphicsEnabler=Yes config & rebooted... my BIOS threw an unexpected wobbly at this point, but after I've solved that problem, I've tried booting again and with no manually specified flags, I can see that it has picked up the GraphicsEnabler flag this time.
So just me being stoopid and editing the wrong file
Any pointers as to why it takes so long to boot with the GraphicsEnabler flag would be greatly appreciated though
Nothing seems to have happened between 21:43:00 and the BOOT_TIME indicator at 21:50:20. All this time, I'm just sitting with a blank screen.