munky Posted September 28, 2008 Author Share Posted September 28, 2008 I need to ask a favour... can people please send me reports of patches which are *working* from EFI partition? i know there are lots of problems getting certain things to work, but for a project im working on, i need to get a handle on which patches ARE working. for example, my gfx card is working 100% with Natit on my EFI booter... my Wifi works if I put IONetworkingFamily and IO80211Family on the EFI booter, but only if i bump the versions so they are 'preferred'. thanks Link to comment Share on other sites More sharing options...
k00k Posted September 28, 2008 Share Posted September 28, 2008 I need to ask a favour... can people please send me reports of patches which are *working* from EFI partition? i know there are lots of problems getting certain things to work, but for a project im working on, i need to get a handle on which patches ARE working. for example, my gfx card is working 100% with Natit on my EFI booter... my Wifi works if I put IONetworkingFamily and IO80211Family on the EFI booter, but only if i bump the versions so they are 'preferred'. Here are the kexts I have on my EFI boot partition: AppleACPIPlatform.kext AppleAHCIPort.kext AppleAPIC.kext AppleGenericPCATA.kext AppleIntelIntegratedFramebuffer.kext AppleSMBIOS.kext IntelCPUPMDisabler.kext NVkush.kext SMBIOSEnabler.kext dsmos.kext Not sure if all are needed, I think so. Any of them stand out to you as unnecessary? Any obvious things I'm missing? Perfectly functioning 10.5.5 system as far as I can tell except for my stated non-existent QE problem with NVkush. Link to comment Share on other sites More sharing options...
munky Posted September 28, 2008 Author Share Posted September 28, 2008 AppleAPIC.kext AppleGenericPCATA.kext AppleIntelIntegratedFramebuffer.kext these look a bit out of place on such a modern machine... AppleAPIC is i think for supporting older chipsets AppleGenericPCATA.kext is the generic ATA support - this will run v slowly if used... i doubt its being used by your machine AppleIntelIntegratedFramebuffer is for GMA950 / GMAX3100 type things. but im NOT an expert on these things... if u want u can give it a try without these, but please dont shout at me if it all breaks horribly Link to comment Share on other sites More sharing options...
wilcok Posted September 28, 2008 Share Posted September 28, 2008 Not sure about NVidia cards but do know that the 8800GTS does work. Have seen a couple of how to before. Here are drivers (link) for the ATi screen cards. Be sure to remove any other kexts before trying something new and remember permissions. I have learned this the hard way.... http://forum.insanelymac.com/index.php?showtopic=107526 Link to comment Share on other sites More sharing options...
BladeRunner Posted September 28, 2008 Share Posted September 28, 2008 Munky: These are the kext files in my efi boot partition. bash-3.2# ls -l /Volumes/EFI/System/Booter/Extensions* total 0 drwxr-xr-x 3 root wheel 102 Sep 28 10:38 AppleACPIPlatform.kext drwxr-xr-x@ 3 root wheel 102 Sep 28 10:38 AppleAHCIPort.kext drwxr-xr-x 3 root wheel 102 Sep 28 10:38 AppleDecrypt.kext drwxr-xr-x@ 3 root wheel 102 Sep 28 10:38 ApplePS2Controller.kext drwxr-xr-x@ 3 root wheel 102 Sep 28 10:38 AppleSMBIOS.kext drwxr-xr-x@ 3 root wheel 102 Sep 28 10:38 Disabler.kext drwxr-xr-x 3 root wheel 102 Sep 28 11:51 IOATAFamily.kext drwxr-xr-x 3 root wheel 102 Sep 28 10:38 IONetworkingFamily.kext drwxr-xr-x@ 3 root wheel 102 Sep 28 10:38 Natit.kext drwxr-xr-x@ 5 root wheel 170 Sep 28 10:38 System.kext If we had the use of efi strings I would not need IONetworkingFamily or Natit. If you see anythihng you think I don't need, let me know and I will test without it. Link to comment Share on other sites More sharing options...
munky Posted September 28, 2008 Author Share Posted September 28, 2008 afaik EFI strings are just injector data which has been encoded into hex (base64 maybe?) and injected by the bootloader instead of a kext. there's very little difference. Link to comment Share on other sites More sharing options...
Big Kahuna Posted September 28, 2008 Share Posted September 28, 2008 I have tried Natit 0.2 and I just tried it again to make sure. It just hangs. last thing on screen is: /usr/sbin/ocspd[83]: starting Then it just hangs there. Image attached. Any ideas? edit the plist inside natit.kext I bet you need to change the OSBundleRequired to Root. It looks like Natit wasn't even loading Link to comment Share on other sites More sharing options...
BladeRunner Posted September 28, 2008 Share Posted September 28, 2008 Just a short update - I had reported MANY problems the first time I tried to use an efi Extensions.mkext. Based on a previous post from Munky, I removed the GenericATA kext and tried again with a different IOATAFamily kext. It worked. And, I don't need the "-f" kernel flage anymore. I am using the Voodoo Alpha13 (9.5.0) kernel, an Extensions.mkext and no Extensions folder. bash-3.2# ls -l /Volumes/EFI/System/Booter/* -rw-r--r-- 1 root admin 1795249 Sep 28 19:08 /Volumes/EFI/System/Booter/Extensions.mkext bash-3.2# uname -a Darwin Rainbow 9.5.0 Darwin Kernel Version 9.5.0: Thu Sep 25 05:59:23 IST 2008; Voodoo; based on ToH:xnu-1228.7.58/BUILD/obj/RELEASE_I386 i386 At this point, the only "adjustment" to the vanilla install partition on my P4 based system is the com.apple.Boot.plist. The entries I made allow the system to boot without any manual intervention - i.e., no typing rd= etc.. <?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>Graphics Mode</key> <string>"1280x1024x24"</string> <key>Kernel</key> <string>bt(0,0)/mach_kernel.voodooa13</string> <key>Kernel Flags</key> <string>-v boot-uuid=F1CA3099-372A-396E-814A-64D4C4917CD0</string> <key>Timeout</key> <string>7</string> </dict> </plist> As far as I can tell, the system is running better than it ever has. I am so grateful to Munky, 3dman, mercurysquad and many others for all the great work they put into my system. -- Blade Link to comment Share on other sites More sharing options...
munky Posted September 29, 2008 Author Share Posted September 29, 2008 yay bladerunner, thats cool man one thing, you can place the com.apple.Boot.plist on the EFI partition, but it wont be automatically picked up. the only thing you'd need to type would be something along the lines of: config=bt(0,0)/com.apple.Boot.plist i wonder if u can make the com.apple.Boot.plist on the actual install like so: Kernel Flags bt(0,0)/com.apple.Boot.plist and put the actual params in a plist on the EFI partition. That'd be about as minimal as you can get away with. I've no idea if it works, and tbh its probably not really worth it Note also that Boot.plist changes are only needed on pre-Core machines. All-vanilla setups require zero modifications. edit the plist inside natit.kext I bet you need to change the OSBundleRequired to Root. It looks like Natit wasn't even loading yes, always make sure kexts on the EFI partition have this property set. this applies to boot-132 discs too. Link to comment Share on other sites More sharing options...
k00k Posted September 29, 2008 Share Posted September 29, 2008 edit the plist inside natit.kext I bet you need to change the OSBundleRequired to Root. It looks like Natit wasn't even loading YES! Success! Thanks so much for that! QE/CI are now working perfectly. Only weird thing is card now is reporting only 256MB vram in System Profiler when it's really a 320mb card. Do you think it's just what it's reporting and is really using all 320mb? If that's the case I don't care. And Munky, You were right, I got rid of these 3 kexts you recommended and all is well. AppleAPIC.kext AppleGenericPCATA.kext AppleIntelIntegratedFramebuffer.kext Again, you guys rock! Now I just need to work on initializing my network card outside of the BIOS so I don't have to wait for Network boot rom in BIOS, it's way too slow booting that way. Link to comment Share on other sites More sharing options...
BladeRunner Posted September 29, 2008 Share Posted September 29, 2008 yay bladerunner, thats cool man one thing, you can place the com.apple.Boot.plist on the EFI partition, but it wont be automatically picked up. the only thing you'd need to type would be something along the lines of: config=bt(0,0)/com.apple.Boot.plist i wonder if u can make the com.apple.Boot.plist on the actual install like so: <key>Kernel Flags</key> <string>bt(0,0)/com.apple.Boot.plist</string> and put the actual params in a plist on the EFI partition. That'd be about as minimal as you can get away with. I've no idea if it works, and tbh its probably not really worth it Note also that Boot.plist changes are only needed on pre-Core machines. All-vanilla setups require zero modifications. yes, always make sure kexts on the EFI partition have this property set. this applies to boot-132 discs too. I will give this a try on my external USB drive and report back. I can't do it on the internal drive because I have 2 Leopard partitions - disk0s2 & disk0s3 - on the same drive. I need different boot-uuid values for them. The external drive has only one boot partition. Edit: Well, I tried. No joy. by the time I got it to boot the L/P/S Boot.plist was not much different from the original. you were correct - it's not worth the trouble /edit Link to comment Share on other sites More sharing options...
munky Posted September 29, 2008 Author Share Posted September 29, 2008 so who would like an updated build with EFI strings support? Link to comment Share on other sites More sharing options...
psychonaut Posted September 29, 2008 Share Posted September 29, 2008 so who would like an updated build with EFI strings support? Please! I've installed but have been using a boot132 usb drive because of my video cards EFI strings. Thanks for your work! Link to comment Share on other sites More sharing options...
munky Posted September 29, 2008 Author Share Posted September 29, 2008 im working on it... problem is i cant seem to build turbo's patch, i seem to have a missing header. i can build dfe's sources with my patch (for EFI strings) no problem. might need to wait until i can speak to turbo, unless i can figure out what the header file needs to be... should just be method prototypes... will keep u posted Link to comment Share on other sites More sharing options...
psychonaut Posted September 29, 2008 Share Posted September 29, 2008 im working on it... problem is i cant seem to build turbo's patch, i seem to have a missing header. i can build dfe's sources with my patch (for EFI strings) no problem. might need to wait until i can speak to turbo, unless i can figure out what the header file needs to be... should just be method prototypes... will keep u posted Cheers. Looking forward to it. Link to comment Share on other sites More sharing options...
skippyretard Posted September 29, 2008 Share Posted September 29, 2008 so who would like an updated build with EFI strings support? Me do!!!! This is a great idea, but still not a polished solution... EFI strings would be a huge improvement! Thanks for all you've done so far... Link to comment Share on other sites More sharing options...
munky Posted September 29, 2008 Author Share Posted September 29, 2008 another change i'd like to make is to get it to display the known bios devices, so no more guesswork on the 90,91,92...9f front remains to be seen whether that's beyond me tho Link to comment Share on other sites More sharing options...
3Dman Posted September 29, 2008 Share Posted September 29, 2008 another change i'd like to make is to get it to display the known bios devices, so no more guesswork on the 90,91,92...9f front remains to be seen whether that's beyond me tho This will be a lot better Link to comment Share on other sites More sharing options...
BladeRunner Posted September 29, 2008 Share Posted September 29, 2008 im working on it... problem is i cant seem to build turbo's patch, i seem to have a missing header. i can build dfe's sources with my patch (for EFI strings) no problem. might need to wait until i can speak to turbo, unless i can figure out what the header file needs to be... should just be method prototypes... will keep u posted I'm in, just let me know when you're ready. Link to comment Share on other sites More sharing options...
Donk Posted September 29, 2008 Share Posted September 29, 2008 another change i'd like to make is to get it to display the known bios devices, so no more guesswork on the 90,91,92...9f front remains to be seen whether that's beyond me tho That would be cool! Link to comment Share on other sites More sharing options...
Paranoid Marvin Posted September 29, 2008 Share Posted September 29, 2008 im working on it... problem is i cant seem to build turbo's patch, i seem to have a missing header. i can build dfe's sources with my patch (for EFI strings) no problem. might need to wait until i can speak to turbo, unless i can figure out what the header file needs to be... should just be method prototypes... will keep u posted EFI strings would be great, saves using extra kexts Link to comment Share on other sites More sharing options...
AlainTox714 Posted September 29, 2008 Share Posted September 29, 2008 I need to ask a favour... can people please send me reports of patches which are *working* from EFI partition? i know there are lots of problems getting certain things to work, but for a project im working on, i need to get a handle on which patches ARE working. for example, my gfx card is working 100% with Natit on my EFI booter... my Wifi works if I put IONetworkingFamily and IO80211Family on the EFI booter, but only if i bump the versions so they are 'preferred'. thanks @ munky You did a good job and your boot loader works very fine for me. What i did: 1) Format a virgin disk as GPT with 3 partitions named TEST, SNOW and SPARE 2) With terminal command open, install iDeneb 10.5.4 on TEST. Someone report Chameleon is not booting properly with D975XBX2, just had to flag partition using Chameleon fdisk command to boot TEST. Otherwise everything works fine (system profiler report is right and complete, Serial-ATA report disk as unknown AHCI and disk shows up with orange icons on desktop.) 3) With terminal command open, vanilla install of Mac.OSX.10.5.4.dmg on SPARE 4) Format the EFI System Partition as HFS+ and copy several kexts from TEST in /Volumes/EFI/System/Booter/Extensions. Natit.kext --> v0.02. IOStorageFamily.kext --> 1.5.2 dependency of IOAHCIBlockStorage IONetworkingFamily.kext --> 1.6.0 IOAHCIFamily.kext --> 1.0.4 IOAHCIBlockStorage.kext --> 1.0.9 modded info.plist to get grey icons for disks. dsmos.kext AppleIntel8254XEthernet.kext --> 1.1.4a5. old but working with D975XBX2. IntelCPUPMDisabler.kext AppleAHCIPort.kext --> 1.5.1 modded info.plist to get ICH7-R AHCI report. kextcache these kexts 5) Boot SPARE vanilla 10.5.4 install Got - QE/CI full support for my nVidia GeForce 7300 GT. - Networking fully fonctionning - Serial-ATA report expected disk Intel ICH7-R AHCI * Disks shows up with orange icons on desktop nothing to do try every combination, Root and Local-Root. * System Profiler report: Hardware Overview: Model Name: Mac Model Identifier: Processor Speed: 4 GHz Number Of Processors: 1 Total Number Of Cores: 4 L2 Cache: 8 MB Memory: 2 GB Bus Speed: 1.07 GHz Boot ROM Version: BX97520J.2813.2008 CHAN A DIMM 0/J6H1: Size: 1 GB Type: DDR2 SDRAM Speed: 800 MHz Status: OK Manufacturer: 0x7F98000000000000 Part Number: 0x393930353331362D3037362E4130304C4600 Serial Number: 0x7823013F System Software Overview: System Version: Mac OS X 10.5.5 (9F33) Kernel Version: Darwin 9.5.0 Boot Volume: SPARE Boot Mode: Normal Not so bad for a vanilla install! At this time i made a software update to 10.5.5 and reboot. Get the same results and everything is working. I just notice IOAHCIBlockStorage.kext version was not 1.0.9 but 1.1.1, so to check if version 1.0.9 is working, i delete 1.1.1 version of /S/L/E. After reboot i get disks on desktop with grey icons as expected. 6) I also try Disabler.kext, working but i don't understand the necessity of disabling - AppleEFINVRAM - AppleEFIRuntime - ACPI_SMC_PlatformPlugin My question is why IOAHCIBlockStorage.kext version 1.1.1 is reloaded over version 1.0.9? Link to comment Share on other sites More sharing options...
munky Posted September 29, 2008 Author Share Posted September 29, 2008 simply because it's a higher version. One of the tricks u can do with this type of Extra extensions approach is to boost the version number of the kext u want loaded so it will be preferred. Link to comment Share on other sites More sharing options...
k00k Posted September 29, 2008 Share Posted September 29, 2008 Earlier I had noted that I was using the built-in support for Realtek 8168/8111 under Leopard. However, I needed to enable the Onboard Lan Boot Rom to get the nic to see the ethernet cable (initialize). I have since added Psystar's latest version of RealtekR1000.kext (http://www.psystar.com/realtek_r1000_driver.html) which allows me to disable the Lan Boot Rom and thus have much faster boot times! So, you can now add RealtekR1000.kext (psystar) to the list of working kexts with this boot method. Well, after all it didn't really work. I mean, I think the kext is fine, but after a hard/cold boot my ethernet was showing as disconnected. So, it looks like for the time being I need to utilize my mobo's BIOS' Lan Boot Rom. Link to comment Share on other sites More sharing options...
munky Posted September 29, 2008 Author Share Posted September 29, 2008 solved my build problem. who wants to be guinea pig? replace the 'boot' file on the EFI partition with the attached version, add some device properties (EFI strings) into your com.apple.Boot.plist in whatever format Chameleon expects them, cross your fingers and reboot EDIT: Do *NOT* use an Extensions.mkext in conjunction with efi strings with this build - it seems to cause instant kernel panic. Just use /System/Booter/Extensions directory. This was a user error on tester's part EDIT2: Attachment removed - please use v2 zipfile on first post! Link to comment Share on other sites More sharing options...
Recommended Posts