cecekpawon Posted January 27, 2017 Share Posted January 27, 2017 Hello.. Early days i adapted Chameleon xml lib to support attributes (size, ID & IDREF) tag into Clover, but it seems Chameleon didnt use this cool features anywhere yet? What I want to suggest is not to do 'GetRef ...' while parsing until its done reading the whole file. ID & IDREF can be in random order, lib will fail to read its references while on top order. So only call 'GetRef ...' as we need, as in this example. 1 Link to comment Share on other sites More sharing options...
Shaneee Posted January 27, 2017 Share Posted January 27, 2017 Will Enoch get an update to correctly enable nvidia on Sierra? I get a lot of questions about it and the nvram method doesn't seem to work for all them. Link to comment Share on other sites More sharing options...
Micky1979 Posted January 27, 2017 Share Posted January 27, 2017 Hello.. Early days i adapted Chameleon xml lib to support attributes (size, ID & IDREF) tag into Clover, but it seems Chameleon didnt use this cool features anywhere yet? What I want to suggest is not to do 'GetRef ...' while parsing until its done reading the whole file. ID & IDREF can be in random order, lib will fail to read its references while on top order. So only call 'GetRef ...' as we need, as in this example. That is good patching the info.plist of prelinked kernel? Will Enoch get an update to correctly enable nvidia on Sierra? I get a lot of questions about it and the nvram method doesn't seem to work for all them. Good chances to make it work with a little cange + a patched NVDAStartupWeb. But I need testers, I have someone? 1 Link to comment Share on other sites More sharing options...
Shaneee Posted January 27, 2017 Share Posted January 27, 2017 I can't test as can't install Sierra but I can get some to test it. Link to comment Share on other sites More sharing options...
mitch_de Posted January 27, 2017 Share Posted January 27, 2017 That is good patching the info.plist of prelinked kernel? Good chances to make it work with a little cange + a patched NVDAStartupWeb. But I need testers, I have someone? Yep, i can test. Using El Capitan and Sierra , Chameleon with NVRAM, works for me to use Nvdia Web. My gpu , GT 740 (Kepler) could work with Apple drivers also (mostly ) But would be great to do same without NVRAM dylib / .kext , like in Clover. Link to comment Share on other sites More sharing options...
Micky1979 Posted January 27, 2017 Share Posted January 27, 2017 ok, tomorrow I'll do that build. Link to comment Share on other sites More sharing options...
crazybirdy Posted January 28, 2017 Share Posted January 28, 2017 Guys any problems injecting kexts from Extra/Extensions in 10.12.4 beta? Not update to 10.12.4.beta yet, but Enoch r2839 work fine with 10.6.8~10.10.5 with -f, and without -f to load /Extra/Extensions. from 10.11.x~10.12.3, only work with -f to load /Extra/Extensions.(need SIP code) did not load /Extra/Extensions without -f, only load prelinkedkernel.(need EXT code) It lost the patch code for 10.11.x and 10.12.x as below, only SIP work fine with 10.11~10.12. Lost KBEYos*EXT for 10.11 and 10.12.dp1, Lost KBESie*EXT patch for Sierra DP2+ https://sourceforge.net/p/cloverefiboot/code/HEAD/tree/rEFIt_UEFI/Platform/kext_inject.c // El Capitan // need to use KBEYos*EXT patch for El Capitan // Yosemite, Need for 10.11.x UINT8 KBEYosSearchEXT[] = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0xEB, 0x05, 0xE8, 0xCE, 0x02, 0x00, 0x00 }; UINT8 KBEYosReplaceEXT[] = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0x90, 0x90, 0xE8, 0xCE, 0x02, 0x00, 0x00 }; UINT8 KBEECSearchSIP[] = { 0xC3, 0x48, 0x85, 0xDB, 0x74, 0x70, 0x48, 0x8B, 0x03, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 }; UINT8 KBEECReplaceSIP[] = { 0xC3, 0x48, 0x85, 0xDB, 0xEB, 0x12, 0x48, 0x8B, 0x03, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 }; // Sierra // Sherlocks: Sierra SIP, cecekpawon: Sierra DP2+, Micky1979: 10.12.4+ // need to use KBEYos*EXT patch for Sierra DP1 // Yosemite, Need for 10.12.DP1 UINT8 KBEYosSearchEXT[] = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0xEB, 0x05, 0xE8, 0xCE, 0x02, 0x00, 0x00 }; UINT8 KBEYosReplaceEXT[] = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0x90, 0x90, 0xE8, 0xCE, 0x02, 0x00, 0x00 }; // need to use KBESie*EXT patch for Sierra DP2+ UINT8 KBESieSearchEXT[] = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0xEB, 0x05, 0xE8, 0x7E, 0x05, 0x00, 0x00 }; UINT8 KBESieReplaceEXT[] = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0x90, 0x90, 0xE8, 0x7E, 0x05, 0x00, 0x00 }; // need to use KBESie4*EXT patch for 10.12.4+ UINT8 KBESie4SearchEXT[] = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0xEB, 0x05, 0xE8, 0x9E, 0x05, 0x00, 0x00 }; UINT8 KBESie4ReplaceEXT[] = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0x90, 0x90, 0xE8, 0x9E, 0x05, 0x00, 0x00 }; UINT8 KBESieSearchSIP[] = { 0xC3, 0x48, 0x85, 0xDB, 0x74, 0x71, 0x48, 0x8B, 0x03, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 }; UINT8 KBESieReplaceSIP[] = { 0xC3, 0x48, 0x85, 0xDB, 0xEB, 0x12, 0x48, 0x8B, 0x03, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 }; Link to comment Share on other sites More sharing options...
Micky1979 Posted January 28, 2017 Share Posted January 28, 2017 Ok, give me the time to do something.. 1 Link to comment Share on other sites More sharing options...
crazybirdy Posted January 28, 2017 Share Posted January 28, 2017 Ok, give me the time to do something.. btw, I try to cut down the patch code for EXT, find only one set of this code for all the kernels of 10.10.x, 10.11.x, 10.12.x, we can use 0xE8, 0x25, 0x00, 0x00, 0x00, 0xEB, 0x05, 0xE8 only to patch for all 10.10~10.12 as the same code, and ignore the CE, 7E, 9E things. UINT8 KBEYosSearchEXT[] = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0xEB, 0x05, 0xE8 }; UINT8 KBEYosReplaceEXT[] = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0x90, 0x90, 0xE8 }; Link to comment Share on other sites More sharing options...
PMheart Posted January 28, 2017 Share Posted January 28, 2017 And crazybirdy's idea can be also used for Clover's kext_inject.c 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted January 28, 2017 Share Posted January 28, 2017 This imply to looks on all kernels made between yosemite and Sierra to see if that short array exists only once Link to comment Share on other sites More sharing options...
PMheart Posted January 28, 2017 Share Posted January 28, 2017 This imply to looks on all kernels made between yosemite and Sierra to see if that short array exists only once I think the code is for loading kexts and thus it could be very important.. The hex value changed could be due to other code modifications. Link to comment Share on other sites More sharing options...
Micky1979 Posted January 28, 2017 Share Posted January 28, 2017 and anyway for 10.10~10.10.4 if I'm not mistaken is: E8 27 00 00 00 EB 08 48 89 DF (index 5 and 6 to nop) EDIT I'm on 10.10.1 now.. so I can take a look, let you know! 1 Link to comment Share on other sites More sharing options...
PMheart Posted January 28, 2017 Share Posted January 28, 2017 and anyway for 10.10~10.10.4 if I'm not mistaken is: E8 27 00 00 00 EB 08 48 89 DF (index 5 and 6 to nop) If so and then how can we inject kexts for Yos at that time... And do you think we should make a innovation that we should patch this like KernelLapic? 1 Link to comment Share on other sites More sharing options...
crazybirdy Posted January 28, 2017 Share Posted January 28, 2017 This imply to looks on all kernels made between yosemite and Sierra to see if that short array exists only once I have all the orig kernel between yosemite and Sierra (just crazy), and have checked it exists only once. 2 Link to comment Share on other sites More sharing options...
Micky1979 Posted January 28, 2017 Share Posted January 28, 2017 Confirmed what I said: E8 25 00 00 0E B0 5E 08 did not exist in 10.10.1, so also Clover is wrong. For 10.10, 10.10.1, 10.10.2, 10.10.3 and 10.10.4 is: E8 27 00 00 00 EB 08 48 89 DF (index 5 and 6 to nop) Please crazybirdy look at all other Yose kernels 1 Link to comment Share on other sites More sharing options...
crazybirdy Posted January 28, 2017 Share Posted January 28, 2017 Confirmed what I said: E8 25 00 00 0E B0 5E 08 did not exist in 10.10.1, so also Clover is wrong. For 10.10, 10.10.1, 10.10.2, 10.10.3 and 10.10.4 is: E8 27 00 00 00 EB 08 48 89 DF (index 5 and 6 to nop) Please crazybirdy look at all other Yose kernels No, here is the same as E8 25 00 00 00 EB 05 E8 for 10.10.0, 10.10.1, 10.10.2, 10.10.3, 10.10.4, 10.10.5. why? 10.10.1 Link to comment Share on other sites More sharing options...
PMheart Posted January 28, 2017 Share Posted January 28, 2017 Confirmed what I said: E8 25 00 00 0E B0 5E 08 did not exist in 10.10.1, so also Clover is wrong. For 10.10, 10.10.1, 10.10.2, 10.10.3 and 10.10.4 is: E8 27 00 00 00 EB 08 48 89 DF (index 5 and 6 to nop) Please crazybirdy look at all other Yose kernels Yours seems to be commented out at such an early time... See https://sourceforge.net/p/cloverefiboot/code/2817/tree//rEFIt_UEFI/Platform/kext_inject.c#l517 Link to comment Share on other sites More sharing options...
Micky1979 Posted January 28, 2017 Share Posted January 28, 2017 Yours seems to be commented out at such an early time... See https://sourceforge.net/p/cloverefiboot/code/2817/tree//rEFIt_UEFI/Platform/kext_inject.c#l517 Yes , but that was right apparently! I cannot understand why this was removed. This is still needed for old versions of Yosemite: Link to comment Share on other sites More sharing options...
PMheart Posted January 28, 2017 Share Posted January 28, 2017 Yes , but that was right! I cannot understand why this was removed. This is still needed for old versions of Yosemite. So you mean that the commented patch is still existing in the kernel of 10.10.1? In this you can revert it back just like some months ago I suggest @Sherlocks keep the kext injection patch for SieDP1. Link to comment Share on other sites More sharing options...
Micky1979 Posted January 28, 2017 Share Posted January 28, 2017 crazybirdy, PMHeart, I'm looking at a decompressed prelinked. 1 Link to comment Share on other sites More sharing options...
crazybirdy Posted January 28, 2017 Share Posted January 28, 2017 Yes , but that was right apparently! I cannot understand why this was removed. This is still needed for old versions of Yosemite: Untitled.png I see, so strange, can you check the address around 8A0980. Link to comment Share on other sites More sharing options...
PMheart Posted January 28, 2017 Share Posted January 28, 2017 Sorry maybe I can help nothing... Would @crazybirdy @Micky1979 mind sharing a vanilla kernel? Thanks a lot! Link to comment Share on other sites More sharing options...
Micky1979 Posted January 28, 2017 Share Posted January 28, 2017 nothing. What's your Hex editor? Link to comment Share on other sites More sharing options...
PMheart Posted January 28, 2017 Share Posted January 28, 2017 nothing. What's your Hex editor? Mine? It's also HexFiend. 1 Link to comment Share on other sites More sharing options...
Recommended Posts