cecekpawon Posted December 3, 2015 Share Posted December 3, 2015 Hello Slice, i saw dev like Rehabman distribute their generic config with "disabled:" prefixes to let user to choose what they need later. Its perfectly fine anyway, but can lead confusing for some (new) users. I wonder if Clover Configurator applied those changes someday, we can do more fun with bytes patching which lot easier to manage. About dupicating config, like i mentioned before, without the patch below, all my patches in other config "ex: test.plist" was ignored by Clover if i do direct switch from boot GUI by typing other config filename from it. Its a bug / just me, can you confirm it? ** I also add en/disable EFI strings inject under PCI menu in boot GUI. Maybe someone found it useful while doing trial & error with EFI strings injection. --- /Users/yod/Downloads/Settings.c 2015-12-03 14:41:52.000000000 +++ /Users/yod/Desktop/patch/Settings.c 2015-12-03 14:40:25.000000000 @@ -4750,12 +4750,25 @@ AppleGuid.Data1 = SwapBytes32 (AppleGuid.Data1); AppleGuid.Data2 = SwapBytes16 (AppleGuid.Data2); AppleGuid.Data3 = SwapBytes16 (AppleGuid.Data3); DBG ("Platform Uuid: %g, InjectSystemID: %a\n", &AppleGuid, gSettings.InjectSystemID ? "Yes" : "No"); } */ + // KernelAndKextPatches + if (!StrLen(gSettings.ConfigName)) { + //DBG("\n\n***********************************************n\n"); + //DBG("\nConfigName: %s\n", gSettings.ConfigName); + //DBG("==================================================\n\n"); + DictPointer = GetProperty (Dict, "KernelAndKextPatches"); + if (DictPointer != NULL) { + FillinKextPatches ((KERNEL_AND_KEXT_PATCHES *)(((UINTN)&gSettings) + OFFSET_OF(SETTINGS_DATA, KernelAndKextPatches)), DictPointer); + } + } else { + //DBG("\n ConfigName: %s n", gSettings.ConfigName); + } + SaveSettings(); } //DBG ("config.plist read and return %r\n", Status); return EFI_SUCCESS; } --- /Users/yod/Downloads/menu.c 2015-12-03 14:10:02.000000000 +++ /Users/yod/Desktop/patch/menu.c 2015-12-03 14:23:39.000000000 @@ -368,13 +368,16 @@ InputItems[InputItemsCount].ItemType = Decimal; //71 InputItems[InputItemsCount++].SValue = PoolPrint(L"%04d", gSettings.DoubleClickTime); InputItems[InputItemsCount].ItemType = BoolValue; //72 InputItems[InputItemsCount].BValue = gSettings.PointerMirror; InputItems[InputItemsCount++].SValue = gSettings.PointerMirror?L"[+]":L"[ ]"; //reserve for mouse and continue - + InputItems[InputItemsCount].ItemType = BoolValue; //73 + InputItems[InputItemsCount].BValue = gSettings.StringInjector; + InputItems[InputItemsCount++].SValue = gSettings.StringInjector?L"[+]":L"[ ]"; + InputItemsCount = 74; InputItems[InputItemsCount].ItemType = BoolValue; //74 InputItems[InputItemsCount].BValue = gSettings.USBFixOwnership; InputItems[InputItemsCount++].SValue = gSettings.USBFixOwnership?L"[+]":L"[ ]"; InputItems[InputItemsCount].ItemType = Hex; //75 @@ -791,13 +794,18 @@ // DBG("DoubleClickTime=%d ms\n", gSettings.DoubleClickTime); } i++; //72 if (InputItems[i].Valid) { gSettings.PointerMirror = InputItems[i].BValue; } - + + i++; //73 + if (InputItems[i].Valid) { + gSettings.StringInjector = InputItems[i].BValue; + } + i = 74; if (InputItems[i].Valid) { gSettings.USBFixOwnership = InputItems[i].BValue; } i++; //75 @@ -888,25 +896,29 @@ DBG("Main settings%d from menu: %r\n", i, Status); } } } else { Status = LoadUserSettings(SelfRootDir, InputItems[i].SValue, &dict); if (!EFI_ERROR(Status)) { - GetUserSettings(SelfRootDir, dict); + if (gSettings.ConfigName) FreePool(gSettings.ConfigName); + gSettings.ConfigName = PoolPrint(L""); + GetUserSettings(SelfRootDir, dict); if (gConfigDict[2]) FreeTag(gConfigDict[2]); gConfigDict[2] = dict; - if (gSettings.ConfigName) FreePool(gSettings.ConfigName); + //if (gSettings.ConfigName) FreePool(gSettings.ConfigName); gSettings.ConfigName = EfiStrDuplicate(InputItems[i].SValue); } + DBG("Main settings3 from menu: %r\n", Status); } FillInputs(FALSE); NeedSave = FALSE; } } + i++; //91 if (InputItems[i].Valid) { gSettings.KernelAndKextPatches.KPLapicPanic = InputItems[i].BValue; gBootArgsChanged = TRUE; } i++; //92 @@ -3729,13 +3741,22 @@ InputBootArgs->Entry.Tag = TAG_INPUT; InputBootArgs->Entry.Row = 0xFFFF; InputBootArgs->Item = &InputItems[93]; InputBootArgs->Entry.AtClick = ActionEnter; InputBootArgs->Entry.AtRightClick = ActionDetails; AddMenuEntry(SubScreen, (REFIT_MENU_ENTRY*)InputBootArgs); - + + InputBootArgs = AllocateZeroPool(sizeof(REFIT_INPUT_DIALOG)); + InputBootArgs->Entry.Title = PoolPrint(L"Inject EFI Strings:"); + InputBootArgs->Entry.Tag = TAG_INPUT; + InputBootArgs->Entry.Row = 0xFFFF; + InputBootArgs->Item = &InputItems[73]; + InputBootArgs->Entry.AtClick = ActionEnter; + InputBootArgs->Entry.AtRightClick = ActionDetails; + AddMenuEntry(SubScreen, (REFIT_MENU_ENTRY*)InputBootArgs); + InputBootArgs = AllocateZeroPool(sizeof(REFIT_INPUT_DIALOG)); InputBootArgs->Entry.Title = PoolPrint(L"FakeID LAN:"); InputBootArgs->Entry.Tag = TAG_INPUT; InputBootArgs->Entry.Row = StrLen(InputItems[97].SValue); //cursor InputBootArgs->Item = &InputItems[97]; InputBootArgs->Entry.AtClick = ActionSelect; Link to comment Share on other sites More sharing options...
Micky1979 Posted December 3, 2015 Share Posted December 3, 2015 cecekpawon changes are commited, but RehabMan's "disabled:" prefix is commited and working or what? Thanks Link to comment Share on other sites More sharing options...
Slice Posted December 3, 2015 Share Posted December 3, 2015 cecekpawon changes are commited, but RehabMan's "disabled:" prefix is commited and working or what? Thanks Click true or false is simpler then erase prefix. 4 Link to comment Share on other sites More sharing options...
cecekpawon Posted December 3, 2015 Share Posted December 3, 2015 @Micky1979 previously Rehabman (just example) did use those prefixes in kexts name to disable kext patching (which inaccessible). With last commits we can add "Disabled" key for each with boolean value: true / false to en/disable it 1 Link to comment Share on other sites More sharing options...
Fljagd Posted December 3, 2015 Share Posted December 3, 2015 Click true or false is simpler then erase prefix. Снимок экрана 2015-12-03 в 15.39.38.png which is handy Thank you Link to comment Share on other sites More sharing options...
Multisaft Posted December 3, 2015 Share Posted December 3, 2015 Can someone plz give me some input to my last post on page 446? I don't like to interupt you in your development stuff, therefore, would you recomment to open a new topic about my installation issues? Link to comment Share on other sites More sharing options...
Riley Freeman Posted December 3, 2015 Share Posted December 3, 2015 Is there any chance we might see a fix for the recovery partition with fusion drives? Selecting it in the boot menu just loads the OS instead. Link to comment Share on other sites More sharing options...
magnifico Posted December 3, 2015 Share Posted December 3, 2015 Can someone plz give me some input to my last post on page 446? I don't like to interupt you in your development stuff, therefore, would you recomment to open a new topic about my installation issues? Open a new topic Link to comment Share on other sites More sharing options...
liujianwei Posted December 4, 2015 Share Posted December 4, 2015 I have a 1TB WDBlack Caviar format as EXFAT MBR plug as usb hdd enclosure,there is only one folder named Download in it.When I power on it and reboot,clover waste a lot time to load usb hdd data to reach boot menu,there is not such problem when power off it.How to fix it? I turn 1TB WD Black Caviar to SATA device,seems clover slowly scan entry problem solved. Link to comment Share on other sites More sharing options...
FranticJohny Posted December 4, 2015 Share Posted December 4, 2015 Can someone please post a new build? Compiling fails for me unfortunately. Link to comment Share on other sites More sharing options...
Slice Posted December 4, 2015 Share Posted December 4, 2015 Can someone plz give me some input to my last post on page 446? I don't like to interupt you in your development stuff, therefore, would you recomment to open a new topic about my installation issues? All your questions are answered. Move forward. Link to comment Share on other sites More sharing options...
ipurc Posted December 4, 2015 Share Posted December 4, 2015 hi guys,, can you help me to solve my problem,, i got stuck and hang at clover bootloader , only blank screen and underscore at top left on my scree, but if i use usb clover i can get to clover and show clover boot menu. please help me guys,, OSx 10.11 MBR Partition,, Clover 3320,, Link to comment Share on other sites More sharing options...
FranticJohny Posted December 4, 2015 Share Posted December 4, 2015 It is for good testers. <string>0xA000</string> will disable EHCI 1 and 2 Doesn't work for me. Boot log, ioreg of ehc* and dsdt attached. Archiv.zip Link to comment Share on other sites More sharing options...
Slice Posted December 5, 2015 Share Posted December 5, 2015 Doesn't work for me. Boot log, ioreg of ehc* and dsdt attached. it is for good testers, who can say why it is not working. 10:158 0:000 RCBA access disabled; trying to enable 10:158 0:000 Initial value of FD register 0x1F17EC1F 10:158 0:000 recheck value after patch 0x1F17EC1F Link to comment Share on other sites More sharing options...
Fljagd Posted December 5, 2015 Share Posted December 5, 2015 hi in my bdmesg 5:985 0:003 USB Controller [8086:8CA6] :: PciRoot(0x0)\Pci(0x1D,0x0) 5:987 0:001 RCBA access disabled; trying to enable 5:988 0:001 stringlength = 2072 I use clover 3329 What does "RCBA"?And how to implement it? Link to comment Share on other sites More sharing options...
arsradu Posted December 6, 2015 Share Posted December 6, 2015 Hey guys. Quick question for you: is FakeSMC.kext not required to boot anymore? Cause I sure don't have it anywhere in EFI and I can boot just fine. And no, it's no in L/E or S/L/E, since I don't keep it there. I'm not complaining that it works without it. ) I'm just curious if you might know anything about this. For as far as I remember, it was always required. bdmesg also doesn't show it as being included. Is it cached anywhere...? I'm on Clover 3330, if that makes any difference. Link to comment Share on other sites More sharing options...
Micky1979 Posted December 6, 2015 Share Posted December 6, 2015 Also booting with NoCaches? Link to comment Share on other sites More sharing options...
arsradu Posted December 6, 2015 Share Posted December 6, 2015 Also booting with NoCaches? Well, I previously removed kextcache, just for this test. And it booted right up. But yes, without caches also boots up just fine here. Link to comment Share on other sites More sharing options...
Micky1979 Posted December 6, 2015 Share Posted December 6, 2015 Well, I previously removed kextcache, just for this test. And it booted right up. But yes, without caches also boots up just fine here. Should be easy to embed a kext in the bootloader, tried in Enoch, but the problem initially was the size limit of the boot file (no place for FakeSMC, even if compressed with lzvn/lzss) then to thin the binary (solved trying a smaller kext), idea abandoned... But for Clover I think that there is no problem to load kexts in this way: FakeSMC_Bin.h.zip FakeSMC_Info.h.zip HWSensor3 rev.19 As I said, data may also be compressed, then decompressed on the fly.. (the above are not) I have not heard of a commit for this, so probably be sure that you have deleted both prelinkedkernel and kernelcache, because Yosemite and El Capitan have both (one is a copy of the other placed there by kextcache): #define k_kernelcacheFilePath \ "/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache" #define kPrelinkedKernelsPath "/System/Library/PrelinkedKernels" #define k_prelinkedkernelFilePath kPrelinkedKernelsPath "/prelinkedkernel" source: http://www.opensource.apple.com/source/kext_tools/kext_tools-384.30.2/kextcache_main.c also old path will be abandoned soon: /* Make sure target volume wants a copy of the prelinked kernel in * /System/Library/PrelinkedKernels/prelinkedkernel * This is a temporary hack, using the Yosemite added support for lzvn * compression to mean "wants /System/Library/PrelinkedKernels". * * We will update the path key / value in bootcaches.plist in Yosemite + 1 */ ... because Apple forgot what was said for El Capitan at Yosemite time (about "temporary hack"), ok, bootcache.plist is updated (but old path already in use yet, apparently). they will do ..no sense to have both Link to comment Share on other sites More sharing options...
arsradu Posted December 6, 2015 Share Posted December 6, 2015 Should be easy to embed a kext in the bootloader, tried in Enoch, but the problem initially was the size limit of the boot file (no place for FakeSMC, even if compressed with lzvn/lzss) then to thin the binary (solved trying a smaller kext), idea abandoned... But for Clover I think that there is no problem to load kexts in this way: FakeSMC_Bin.h.zip FakeSMC_Info.h.zip HWSensor3 rev.19 As I said, data may also be compressed, then decompressed on the fly.. (the above are not) I have not heard of a commit for this, so probably be sure that you have deleted both prelinkedkernel and kernelcache, because Yosemite and El Capitan have both (one is a copy of the other placed there by kextcache): #define k_kernelcacheFilePath \ "/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache" #define kPrelinkedKernelsPath "/System/Library/PrelinkedKernels" #define k_prelinkedkernelFilePath kPrelinkedKernelsPath "/prelinkedkernel" source: http://www.opensource.apple.com/source/kext_tools/kext_tools-384.30.2/kextcache_main.c also old path will be abandoned soon: /* Make sure target volume wants a copy of the prelinked kernel in * /System/Library/PrelinkedKernels/prelinkedkernel * This is a temporary hack, using the Yosemite added support for lzvn * compression to mean "wants /System/Library/PrelinkedKernels". * * We will update the path key / value in bootcaches.plist in Yosemite + 1 */ ... because Apple forgot what was said for El Capitan at Yosemite time (about "temporary hack"), ok, bootcache.plist is updated (but old path already in use yet, apparently). they will do ..no sense to have both Well I guess I'm doing something wrong, or not doing something. Cause it still boots up just fine. ) Not that I wish it not to boot. But just saying... Anyway, can you try this on your computer, just to confirm? Or you're not using Clover anymore? Link to comment Share on other sites More sharing options...
Micky1979 Posted December 6, 2015 Share Posted December 6, 2015 Anyway, can you try this on your computer, just to confirm? Or you're not using Clover anymore? I have both Enoch and Clover: 0:100 0:000 Now is 6.12.2015, 1:19:21 (GMT+2047) 0:100 0:000 Starting Clover rev 3320 on INSYDE Corp. EFI ...going to try.. Link to comment Share on other sites More sharing options...
arsradu Posted December 6, 2015 Share Posted December 6, 2015 I have both Enoch and Clover: 0:100 0:000 Now is 6.12.2015, 1:19:21 (GMT+2047) 0:100 0:000 Starting Clover rev 3320 on INSYDE Corp. EFI ...going to try..I can provide you with the installer for 3330 if you want. In case you don't already have it. And so we can have at least some consistency in this test. So just let me know if you need it. Link to comment Share on other sites More sharing options...
Micky1979 Posted December 6, 2015 Share Posted December 6, 2015 3330... I'v lost it , downloading.. Link to comment Share on other sites More sharing options...
arsradu Posted December 6, 2015 Share Posted December 6, 2015 3330... I'v lost it , downloading.. ) Yeah, now it's available on SF, as well. It wasn't before, so I compiled it myself. But yeah, now you can download it. Link to comment Share on other sites More sharing options...
Slice Posted December 6, 2015 Share Posted December 6, 2015 Hey guys. Quick question for you: is FakeSMC.kext not required to boot anymore? Cause I sure don't have it anywhere in EFI and I can boot just fine. And no, it's no in L/E or S/L/E, since I don't keep it there. I'm not complaining that it works without it. ) I'm just curious if you might know anything about this. For as far as I remember, it was always required. bdmesg also doesn't show it as being included. Screen Shot 2015-12-06 at 1.52.48 PM.png Is it cached anywhere...? I'm on Clover 3330, if that makes any difference. I have a strange idea that your kext RealtekALC is really FakeSMC Link to comment Share on other sites More sharing options...
Recommended Posts