ncmontas Posted July 26, 2015 Share Posted July 26, 2015 Hi ErmaC, Here you go and thanks in advance. <?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>EthernetBuiltIn</key> <string>Yes</string> <key>GraphicsEnabler</key> <string>Yes</string> <key>Instant Menu</key> <string>Yes</string> <key>Kernel</key> <string>/System/Library/Kernels/kernel</string> <key>Kernel Flags</key> <string>-v kext-dev-mode=1</string> <key>PciRootUID</key> <string>0</string> <key>Scan Single Drive</key> <string>Yes</string> <key>ShowInfo</key> <string>Yes</string> <key>UseKernelCache</key> <string>Yes</string> </dict> </plist> <?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>SMbiosdate</key> <string>02/29/08</string> <key>SMbiosversion</key> <string>MP31.88Z.006C.B05.0802291410</string> <key>SMfamily</key> <string>MacPro</string> <key>SMmanufacter</key> <string>Apple Inc.</string> <key>SMproductname</key> <string>MacPro3,1</string> <key>SMsystemuuid</key> <string>??????????????????</string> <key>SMserial</key> <string>????????</string> <key>SMboardproduct</key> <string>Mac-F42C88C8</string> </dict> </plist> I am booting directly from hdd. My Fakesmc.kext is located in /S/L/E. I am booting fine with this setting in El Capitan Beta 1. Link to comment Share on other sites More sharing options...
ErmaC Posted July 26, 2015 Author Share Posted July 26, 2015 Here you go... Pls do a test in this way from a USB use Enoch 2737 with this org.chameleon.Boot.plist ... EthernetBuiltIn Yes GraphicsEnabler Yes Instant Menu Yes PciRootUID 0 Scan Single Drive Yes ShowInfo Yes ... Your smbios.plist looks ok Move your Fakesmc.kext located in /S/L/E into USB/Extra/Extensions IS A TEST SO I can't promise it work... ErmaC Link to comment Share on other sites More sharing options...
deek5 Posted July 26, 2015 Share Posted July 26, 2015 TEST: Rev 2739. I implement the LZVN packed Logo and Clut from macosxbootloader (Thx Pike) Also from the Chameleon SVN trunk 2738 the Legacy Logo is enabled by default To see the BlackMode add the BlackMode=Yes to your org.chameleon.Boot.plist <key>BlackMode</key> <string>Yes</string> The other needed condition is the OS X version: Yosemite and up! boot_r2739_TEST.zip Let me Know. ErmaC Hello very expensive Ermac, I "ve tried r2739 chameleon with El Capitan (15A226f), it restarts after "[PCI configuration begin]" each time. Thank you Link to comment Share on other sites More sharing options...
ErmaC Posted July 26, 2015 Author Share Posted July 26, 2015 Made up some new El Capitan boot icons to be up to date at bootloader screen. You mean the device icon in the GUI? Chameleon already have it... (Thx to blackosx) http://forge.voodooprojects.org/p/chameleon/source/tree/HEAD/trunk/artwork/themes/default Hello very expensive Ermac,I "ve tried r2739 chameleon with El Capitan (15A226f), it restarts after"[PCI configuration begin]" each time.Thank you Same with 2737? Link to comment Share on other sites More sharing options...
ErmaC Posted July 26, 2015 Author Share Posted July 26, 2015 I made GUI icons based on the Apple OS X logo that fit into the good old round shape. Always thought these were kinda default, but I could be wrong of course! But that's off topic.In this case is my fault... I only see the files name in the topic link you provide and I no pay attention at the content of the file... ErmaC Link to comment Share on other sites More sharing options...
Micky1979 Posted July 26, 2015 Share Posted July 26, 2015 Guys, after the update to new betas/dps anyone has repair its permission correctly? ...Seem Apple does not repair your hack-kexts... If not try this:http://www.insanelymac.com/forum/files/file/432-insanelyrepairpermission/ You can use it from another partition (and onother OSX version too), and using "-rt" option can cause your bootloader to skip the prelinkedkernelcache . ...You can also verify it only ("-v") --------------------------------------------------------- Hi ErmaC Link to comment Share on other sites More sharing options...
ncmontas Posted July 26, 2015 Share Posted July 26, 2015 Pls do a test in this way from a USB use Enoch 2737 with this org.chameleon.Boot.plist No luck.. Link to comment Share on other sites More sharing options...
deek5 Posted July 26, 2015 Share Posted July 26, 2015 You mean the device icon in the GUI? Chameleon already have it... (Thx to blackosx) http://forge.voodooprojects.org/p/chameleon/source/tree/HEAD/trunk/artwork/themes/default Same with 2737? Yes it 's same with 2737 , smbios mac mini 4.1, fakesmc.kext in s/l/e, with clover no problem for boot on 15A226f Link to comment Share on other sites More sharing options...
Micky1979 Posted July 27, 2015 Share Posted July 27, 2015 GraphicsEnabler=No? or GraphicsEnabler=Yes and SkipIntelGfx=Yes? (ok, I suppose that your Laptop can have more than one GPU... but only one works) Edit: Sorry Micky, I deleted my post by mistake after you replied. Do not worry, I fixed! it Link to comment Share on other sites More sharing options...
bronxteck Posted July 27, 2015 Share Posted July 27, 2015 look in GMA.c line 329, 788, 789 0x00000412, 797 and GMA.h line 191 replace with your desired id http://forge.voodooprojects.org/p/chameleon/source/tree/HEAD/trunk/i386/libsaio Link to comment Share on other sites More sharing options...
Micky1979 Posted July 28, 2015 Share Posted July 28, 2015 The discrete AMD fitted to the laptop is unsupported, so I'm only after retaining the HD4600 in 10.11. Maybe the devs can explain the reasons why this id change was introduced. I've tried with GE=Yes/No with a combination of DSDT edits where device-id is set to either 0412 or 0416 and, at best, I get framebuffer support but not full QE/CI. So, until I manage to understand how these recent Chameleon and Enoch versions should be used in that context, I'm kind of stuck to the old versions and my patched kexts with no prospect of 10.11 for the time being on the E6440. I'd rather not switch to Clover... The reason I'm sure is/was on the purpose to skip the kexts patching, and yes, if that is really wrong for that card, of course this must be changed. And sorry my suggestion for GE=No was only because if you use DSDT patch (with all needed properties) I can't se the reason you need to use the Graphics injection at same time, because this can cause interferences, so the question is: is your DSDT able to activate your card using r2401 and GE=No, or that does not matter? What I mean, is to see if you need some other property, normally injected by GraphicsEnabler: devprop_add_value(device, "AAPL00,DualLink", HD4000_vals[10], 4); devprop_add_value(device, "built-in", &BuiltIn, 1); devprop_add_value(device, "class-code", ClassFix, 4); ...probably missing in your DSDT, otherwise must should be the same apparently. Link to comment Share on other sites More sharing options...
Micky1979 Posted July 28, 2015 Share Posted July 28, 2015 Guys, look here: https://pikeralpha.wordpress.com/2015/07/28/apples-kext-signing-bypassed/comment-page-1/#comment-3358 ....good! 4 Link to comment Share on other sites More sharing options...
Micky1979 Posted July 29, 2015 Share Posted July 29, 2015 #define GMA_HASWELL_M_GT2 GFX_MODEL_CONSTRUCT(INTEL, 0x0416) // Haswell Mobile GT2 line 195 in gma.h in gma.c move case GMA_HASWELL_M_GT2: // 0416 (at line 783) to line 793, you will be fine then. EDIT Is your ig-platform supported by gma.c? or is missing since you are experiment with Pike's findings (as I'v understand)? if ((n_igs >= 0) || (n_igs <= 16)) { verbose("\tAAPL,ig-platform-id was set in org.chameleon.Boot.plist with value %d\n", n_igs); devprop_add_value(device, "AAPL,ig-platform-id", haswell_ig_vals[n_igs], 4); else { verbose("\tAAPL,ig-platform-id was set in org.chameleon.Boot.plist with bad value please choose a number between 0 and 16.\n"); } else { uint32_t ig_platform_id = 0x0000260c; // set the default platform ig devprop_add_value(device, "AAPL,ig-platform-id", (uint8_t *)&ig_platform_id, 4); } } otherwise change the default value: IntelAzulFB uint32_t ig_platform_id = 0x0000260c; // set the default platform ig 0x0000260c to what you want..and will always use that if no key is defined, or is not in the array. You need to do the same at line 69 since there are two king of keys that you can set in ocBp InjectIntel-ig static uint8_t default_aapl_haswell[]={ 0x00,0x00,0x26,0x0c }; // haswell_ig_vals[7] replace 0x00,0x00,0x26,0x0c with your value. Link to comment Share on other sites More sharing options...
Micky1979 Posted July 29, 2015 Share Posted July 29, 2015 can you try this one? your ig-platform 0x06, 0x00, 0x26, 0x0A is auto injected by default (if no InjectIntel-ig/IntelAzulFB keys are present or their value are unknown), no id patch for 8086 0416...and no black mode here... please try on a usb stick. EDIT please try also removing the entire DSDT patch. boot.2737.Hervè.HD4600.auto-ig.zip Link to comment Share on other sites More sharing options...
yakei Posted July 29, 2015 Share Posted July 29, 2015 TEST: Rev 2739. I implement the LZVN packed Logo and Clut from macosxbootloader (Thx Pike) Also from the Chameleon SVN trunk 2738 the Legacy Logo is enabled by default boot_r2739_TEST.zip ErmaC Hello ErmaC, I need a new function in your Bootloader. In Fstab there is the possibility volumes under Yosemite to hide. Is it possible this function in the Bootloader to integrate to change (without to change the the fstab file)? Possibly only the volume designation could be changed temporarly under Yosemite, thus Yosemite would not find/would show the volume/partitions any longer. I have the situation that I have 5 Hard disk installed,these am in approx. 10 partitions divided. Under Yosemite I would like to naturally see not all partitions. Thank you for your support Link to comment Share on other sites More sharing options...
Micky1979 Posted July 29, 2015 Share Posted July 29, 2015 I could have easily recovered if required, so I just installed that boot file directly on my HDD and retained patched DSDT + patched AzulFB & HD5000 kexts. The main thing for me was to test successful boot of 10.11 and it did. Got me there with full QE/CI. Perfect! glad that this works for you! Thanks a bunch Micky. What was it you changed compared to my edits that allowed booting 10.11? what I've said in post #3253, Can I have a bdmesg and detail info on what you have done to the Azul & HD5000.. kext? 'turned out I still had to inject the layout-id for Azul FB 12. On checking the IOReg, I noticed that my default ig-platform-id was now 0c 26 00 06, not 0a 26 00 06; I guess that was a typo in the code... E6440_IOReg_No-HD4600-DSDT-patch.jpg Other than that and the boot loader screen corruption, all is fine as far as I'm concerned. Just a matter of a little tidy up I guess, if at all possible... I have inserted 0x06, 0x00, 0x26, 0x0A as default for you. This can be overrided by InjectIntel-ig or IntelAzulFB keys,..... or by some injector like the one from Rehabman. The bootloader you test no longer replace the id for your card... At boot time corruption sure has nothing to do with the ig-platform, maybe because some changes to that fork. ErmaC can fix for you as I said in #3253, at least only regarding to move your id ahead in the code. 'turned out I still had to inject the layout-id for Azul FB 12. On checking the IOReg, I noticed that my default ig-platform-id was now 0c 26 00 06, not 0a 26 00 06; I guess that was a typo in the code... Your sample DSDT at post #3254 show 0x06, 0x00, 0x26, 0x0A, as I do, it's your fault Link to comment Share on other sites More sharing options...
Micky1979 Posted July 29, 2015 Share Posted July 29, 2015 2) using hex editor 0xED, replace Intel desktop HD4600 id by that of Intel mobile HD4600 in the binary file found in the Contents/MacOS subfolder of the kext, i.e. change this 86 80 12 04 to this 86 80 16 04 There's only 1 instance in the binary file of each kext in 10.11 as far as I've seen so far. is what the bootloader do by default, ie as before, as at svn, as the one in the download section! Why don't work? mmmh, have you try to remove all your DSDT patch like this: Device (IGPU) { Name (_ADR, 0x00020000) Method (_DSM, 4, NotSerialized) { Store (Package (0x08) { "AAPL,slot-name", "Built-in", "device-id", Buffer (0x04) { 0x16, 0x04, 0x00, 0x00 }, "AAPL,ig-platform-id", Buffer (0x04) { 0x06, 0x00, 0x26, 0x0A }, "hda-gfx", Buffer (0x0A) { "onboard-1" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } ??? Link to comment Share on other sites More sharing options...
Micky1979 Posted July 30, 2015 Share Posted July 30, 2015 I understand what you mean with id replacement Micky,... bdmesg_No-AzulFB-injection.zip bdmesg_with_AzulFB-injection.zip Yes, istead of patch binary on filesystem...just deceive OSx before, so if a fake 0412 is detected the driver should be ok with this... Thanks for the files, but now I will see them tomorrow... here .... 3:39 AM, good night 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted July 30, 2015 Share Posted July 30, 2015 Hervè, to be vanilla, your test should be done with vanilla kexts too, otherwise if you had replaced the id in the kext binary then is normal that cannot work Link to comment Share on other sites More sharing options...
ErmaC Posted August 1, 2015 Author Share Posted August 1, 2015 As I said in my previous posts, 'done it, 'been there, 'does not work. I have not consulted the HD4600 Yosemite thread for a while but I'm not sure anyone has actually succeeded with mobile id replacement to desktop HD4600 0412 + vanilla kexts + Azul FB injection. Again, in the case of my E6440 with i5-4300M and mobile Intel HD graphics 4600 (id 0x0416), booting Yos 10.10.x or El Capitan DBx with: Enoch r2737 (with 0416 id replacement by id 0412) + boot option InjectIntel-ig=0600260a (or IntelAzulFB=12) + vanilla AzulFB & HD5000Graphics kexts = framebuffer support only, no QE/CI Clover 3224 + InjectIntel=Yes + FakeID=04120000 + FBConfig=0600260a + vanilla AzulFB & HD5000Graphics kexts = framebuffer support only, no QE/CI In both cases, same results with or without DSDT injection of device id 0412 and/or ig-platform-id 0x0a260006. That's why I believe Desktop HD 4600 (id 0412) + Azul FB #12 (id 0x0a260006) = incompatibility. Maybe this id replacement business works for Haswell mobile HD4400 and/or Iris, but it certainly does not for mobile HD4600, at least on the Dell E6440! Enoch 2748 is avaiable in the download section. I "turned off" the device id substitution for your gfx IDs. Let me know ErmaC 2 Link to comment Share on other sites More sharing options...
marcozardi Posted August 2, 2015 Share Posted August 2, 2015 i also confirm that with r2748 & yosemite 10.10.4 no progress bar on boot screen Link to comment Share on other sites More sharing options...
ErmaC Posted August 2, 2015 Author Share Posted August 2, 2015 Looks like for El Capitan DP4/DP5 and PB3 Enoch not work anymore....Until now the CSR (Code Signing Restrictions) was set to 0x01 (00000001) (Thx Pike)so only untrusted kext was allowed...Pls try this UNTESTED versions: CsrActiveConfig (Hex 0x00) (Binary 00000000) (Decimal 0) CsrActiveConfig (Hex 0x67) (Binary 01100111) (Decimal 103) CsrActiveConfig (Hex 0x65) (Binary 01100101) (Decimal 101) Let me know...ErmaC 2 Link to comment Share on other sites More sharing options...
jsl Posted August 4, 2015 Share Posted August 4, 2015 boot in clover, touch /s/l/e then boot in chameleon Thanks and tried as advised, got the same kernel Panic as before. Just touch /S/L/E seems not enough for me. I guess Clover and Chameleon applied different ways to handle kernelcache. Link to comment Share on other sites More sharing options...
Micky1979 Posted August 4, 2015 Share Posted August 4, 2015 I test it as yours as below with DB6. 2732 and below, you can boot with /System/Library/PrelinkedKernels/prelinkedkernel. 2737, 2748 can boot only with /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache. If prelinkedkernel and kernelcache didn't exist, it will boot as -f as loading all kexts, and get KP as yours. So, you need prelinkedkernel or kernelcache, get it with Clover first. [edit] Another findings, test with DB6, 2732 and below boot fine with prelinkedkernel, 2737, 2748 can't boot with kernelcache as your reply. 2737, 2748 didn't work here with DB6. I think, that's could be the problem of Chameleon. update: Test with DB6. 1.Rebuild prelinkedkernel and kernelcache by Kext Utility 2.6.4 with Clover 2353. Chameleon 2732 can boot with prelinkedkernel, 2737, 2748 can't, (delete kernelcache first) reboot as pics below. reboot.jpg 2.Rebuild prelinkedkernel and kernelcache by Kext Utility 2.6.4 with Chameleon 2732, and 2748. Chameleon 2732, 2737, 2748, Clover 2353 all can boot with prelinkedkernel. (delete kernelcache first) boot fine. boot.jpg Something wrong with 2737, 2748, i think. FYI. can you pleeeeease test this boot file made for @Hervé five days ego? 1 Link to comment Share on other sites More sharing options...
Pike R. Alpha Posted August 4, 2015 Share Posted August 4, 2015 My new kext injection is huge. A lot of code is required to strip off the code signature/symbols of the kext(s) and to fix up the addresses and sizes so I was thinking of having a (command line) tool/app to prepare the kext for injection, with just the data and binary, so that the source code can be smaller and faster. What do you think? 1 Link to comment Share on other sites More sharing options...
Recommended Posts