ErmaC Posted March 25, 2017 Author Share Posted March 25, 2017 revision 2874 is up on the svn All the changes, improvements update and ports made by Micky1979 are committed... (I will w8 to publish a pre-packed pkg... the latest Micky's rc6 is the same as 2874) now is time for deep testing and fixing bugs, then we can merge it to the main trunk.. NOTE: also for AMD developer can take this as base for his test and adding code for new cpus ErmaC 2 Link to comment Share on other sites More sharing options...
Micky1979 Posted March 25, 2017 Share Posted March 25, 2017 In addiction the FileNVRAM.dylib on the repository is the old one, so for now use this at this post:#4153, waiting me to have time for a official pull request. 1 Link to comment Share on other sites More sharing options...
jsl Posted March 26, 2017 Share Posted March 26, 2017 In addiction the FileNVRAM.dylib on the repository is the old one, so for now use this at this post:#4153, waiting me to have time for a official pull request. Both rc6 of boot & FileNVRAM.dylib work perfectly at 10.12.3 and 10.12.4 for my Z87 hackintosh. Thanks again ! 1 Link to comment Share on other sites More sharing options...
MaLd0n Posted March 26, 2017 Share Posted March 26, 2017 ...IS BACK! Very Good! I'll use it again. Thx, guys! 1 Link to comment Share on other sites More sharing options...
Shaneee Posted March 26, 2017 Share Posted March 26, 2017 revision 2874 is up on the svn All the changes, improvements update and ports made by Micky1979 are committed... (I will w8 to publish a pre-packed pkg... the latest Micky's rc6 is the same as 2874) now is time for deep testing and fixing bugs, then we can merge it to the main trunk.. NOTE: also for AMD developer can take this as base for his test and adding code for new cpus ErmaC Will the new pkg include the options for using kexts.plist and kernel.plist with some default values? Link to comment Share on other sites More sharing options...
ErmaC Posted March 26, 2017 Author Share Posted March 26, 2017 Will the new pkg include the options for using kexts.plist and kernel.plist with some default values? Yep the basics... as you have already see for the kernel.plist also this is a work in progress.. ErmaC 2 Link to comment Share on other sites More sharing options...
stinga11 Posted March 27, 2017 Share Posted March 27, 2017 Guys, another step (boot rc6). FileNVRAM.dylib rc6 is only compatible with this rc6 or 2848 and older since I have reverted a change introduced with rc1~rc5. That is to restore compatibility, but don't use the module with previous rc files. NEW: Extra/Extensions/Common and Extra/Extensions/10.x 10.x stand for 10.4 or 10.6 ...or 10.11 or 10.12 and so on If Extra/Extensions/Common is found on the bootloader-boot partition now Enoch switch to load kexts only from the boot partition. If not found it behaves as always, i.e. loads from /Extra/Extensions/ of the boot partition or override to the /Extra/Extensions/ of the osx partition actually selected. In Extra/Extensions/Common you should put inside only kexts that are compatible and loads all the OSes you have. FakeSMC.kext and plugins may stay there for example. In Extra/Extensions/10.7 you should place only kexts compatible with Lion, in Extra/Extensions/10.12 instead you should place only kexts compatible with Sierra. Warning: if /Common folder is in use, no kexts will be loaded outside /Common or /10.x The goal: have only one Extra folder to dynamically load different configurations for different OSes Tests appreciated since ErmaC is doing commits to update it, thanks! Regards, I'm excited about all these new updates. With this new version of NVRAM, Recognize my ROM and my MLB automatic? Link to comment Share on other sites More sharing options...
Micky1979 Posted March 27, 2017 Share Posted March 27, 2017 Regards, I'm excited about all these new updates. With this new version of NVRAM, Recognize my ROM and my MLB automatic? Off course no. You have to generate them by hand using the nvram command line to make it persistent. EDIT lately ROM and MLB must be calculated to be valid (mac address/uuid/smbios etc) 1 Link to comment Share on other sites More sharing options...
gabryele Posted March 29, 2017 Share Posted March 29, 2017 I updated to 10.12.4 but nvidia does not update automatically (it doesn't find new drivers) I had to download them manually. Is all normal? Link to comment Share on other sites More sharing options...
mitch_de Posted March 29, 2017 Share Posted March 29, 2017 Yep, normal. Because Nvdia updates drivers mostly a day - 1,5 days after OS X updates. So if you update OS X early, nvida has no new drivers. Beside that - we can be happy that nvida supports us (real Mac Pro Users + hackintosh) even Apple doesn´t buy any nvidia gpus anymore from them! Link to comment Share on other sites More sharing options...
Micky1979 Posted March 29, 2017 Share Posted March 29, 2017 Yep ..but this has nothing to do with the bootloader Link to comment Share on other sites More sharing options...
Zenith432 Posted March 29, 2017 Share Posted March 29, 2017 @ErmaC: There is an error compiling i386/libsaio/smbios.c with Xcode 8.3. It needs -Wno-address-of-packed-member. I've added this locally to i386/libsaio/Makefile to resolve, but needs some permanent solution. 2 Link to comment Share on other sites More sharing options...
gabryele Posted March 29, 2017 Share Posted March 29, 2017 Yep ..but this has nothing to do with the bootloader ok... but My dubt was for the trouble of selecting/unselecting of the boot: http://www.insanelymac.com/forum/topic/231075-chameleon-24svn-official-pkg-installer/page-204?do=findComment&comment=2377040 Link to comment Share on other sites More sharing options...
Micky1979 Posted March 29, 2017 Share Posted March 29, 2017 ok... but My dubt was for the trouble of selecting/unselecting of the boot: http://www.insanelymac.com/forum/topic/231075-chameleon-24svn-official-pkg-installer/page-204?do=findComment&comment=2377040 That was before having the nvram support back. Now if does not work, the only reason should be a bad kexts permissions or cache not updated properly. Or a bug, but to enure this I need a ioreg, otherwise che ne so ? Link to comment Share on other sites More sharing options...
Zenith432 Posted March 29, 2017 Share Posted March 29, 2017 (edited) @ErmaC: Here's a patch that resolves -Waddress-of-packed-member and also works with Xcode earlier than 8.3 that don't recognize this warning diff a/i386/libsaio/smbios.c b/i386/libsaio/smbios.c --- a/i386/libsaio/smbios.c +++ b/i386/libsaio/smbios.c @@ -925,7 +925,7 @@ void addSMBOemProcessorType(SMBStructPtrs *structPtr) p->header.length = sizeof(SMBOemProcessorType); p->header.handle = handle++; - setSMBValue(structPtr, numOfSetters - 2 , (returnType *)&(p->ProcessorType)); + setSMBValue(structPtr, numOfSetters - 2 , (returnType *)(void*)&(p->ProcessorType)); structPtr->new = (SMBStructHeader *)((uint8_t *)structPtr->new + sizeof(SMBOemProcessorType) + 2); tableLength += sizeof(SMBOemProcessorType) + 2; @@ -974,7 +974,7 @@ void addSMBOemProcessorBusSpeed(SMBStructPtrs *structPtr) p->header.length = sizeof(SMBOemProcessorBusSpeed); p->header.handle = handle++; - setSMBValue(structPtr, numOfSetters -1, (returnType *)&(p->ProcessorBusSpeed)); + setSMBValue(structPtr, numOfSetters -1, (returnType *)(void*)&(p->ProcessorBusSpeed)); structPtr->new = (SMBStructHeader *)((uint8_t *)structPtr->new + sizeof(SMBOemProcessorBusSpeed) + 2); tableLength += sizeof(SMBOemProcessorBusSpeed) + 2; Edit: There's a discussion here of this warning. Edited March 29, 2017 by Zenith432 2 Link to comment Share on other sites More sharing options...
ErmaC Posted March 29, 2017 Author Share Posted March 29, 2017 @ErmaC: Here's a patch that resolves -Waddress-of-packed-member and also works with Xcode earlier than 8.3 that don't recognize this warning diff a/i386/libsaio/smbios.c b/i386/libsaio/smbios.c --- a/i386/libsaio/smbios.c +++ b/i386/libsaio/smbios.c @@ -925,7 +925,7 @@ void addSMBOemProcessorType(SMBStructPtrs *structPtr) p->header.length = sizeof(SMBOemProcessorType); p->header.handle = handle++; - setSMBValue(structPtr, numOfSetters - 2 , (returnType *)&(p->ProcessorType)); + setSMBValue(structPtr, numOfSetters - 2 , (returnType *)(void*)&(p->ProcessorType)); structPtr->new = (SMBStructHeader *)((uint8_t *)structPtr->new + sizeof(SMBOemProcessorType) + 2); tableLength += sizeof(SMBOemProcessorType) + 2; @@ -974,7 +974,7 @@ void addSMBOemProcessorBusSpeed(SMBStructPtrs *structPtr) p->header.length = sizeof(SMBOemProcessorBusSpeed); p->header.handle = handle++; - setSMBValue(structPtr, numOfSetters -1, (returnType *)&(p->ProcessorBusSpeed)); + setSMBValue(structPtr, numOfSetters -1, (returnType *)(void*)&(p->ProcessorBusSpeed)); structPtr->new = (SMBStructHeader *)((uint8_t *)structPtr->new + sizeof(SMBOemProcessorBusSpeed) + 2); tableLength += sizeof(SMBOemProcessorBusSpeed) + 2; thx Zenith432 I do some test on my actual version of xcode (8.2.1)... I need time to update my version of xcode to 8.x MacBook-Pro:trunk fabio$ xcodebuild -version && xcode-select --version Xcode 8.2.1 Build version 8C1002 xcode-select version 2347. MacBook-Pro:trunk fabio$ ErmaC 2 Link to comment Share on other sites More sharing options...
ErmaC Posted March 29, 2017 Author Share Posted March 29, 2017 Done in commit 2876 (both Chameleon and Enoch Branch).ErmaC 3 Link to comment Share on other sites More sharing options...
Zenith432 Posted March 29, 2017 Share Posted March 29, 2017 I kinda let it slip that I don't build the modules - because the problem was in 915resolution.c and I missed it Done in commit 2876 (both Chameleon and Enoch Branch).ErmaC 1 Link to comment Share on other sites More sharing options...
ErmaC Posted March 31, 2017 Author Share Posted March 31, 2017 Pre-packed PKG are available in the download section. Chameleon --> http://www.insanelymac.com/forum/files/file/59-chameleon-24-svn/ Enoch --> http://www.insanelymac.com/forum/files/file/71-enoch/ Note: those revision are exactly the same version that you can build by yourself, done by downloading and build it with the source code from official svn repository. Note2: Chameleon support all OS X version from 10.4 to 10.12 (Yosemite, El Capitan and Sierra included!).. (other functionality ...like patching on-fly are only available for Enoch) Note3: Enoch support all the OS X version (until Sierra) and also can patch: kernel and kexts on-fly, also Enoch have an embedded FakeSMC.kext (in the case you missed it ) and iMessage FaceTime feature are available thanks to new module FileNVRAM (still under test) all these changes and credits go to Micky1979. a tiny recap: from bootHelp.txt The boot: prompt waits for you to type advanced startup options. If you don't type anything, the computer continues starting up normally. It uses the kernel and configuration files on the startup device, which it also uses as the root device. Advanced startup options use the following syntax: [device]<kernel> [arguments] Example arguments include device: rd=<BSD device name> (e.g. rd=disk0s2) rd=*<IODeviceTree path> (e.g. rd=*/PCI0@0/CHN0@0/@0:1) kernel: kernel name (e.g. "mach_kernel" - must be in "/" ) flags: -v (verbose), -s (single user mode), -x (safe mode), -f (ignore caches), -F (ignore "Kernel Flags" specified in boot configuration file) "Graphics Mode"="WIDTHxHEIGHTxDEPTH" (e.g. "1024x768x32") kernel flags (e.g. debug=0x144) io=0xffffffff (defined in IOKit/IOKitDebug.h) Example: mach_kernel rd=disk0s1 -v "Graphics Mode"="1920x1200x32" If the computer won't start up properly, you may be able to start it up using safe mode. Type -x to start up in safe mode, which ignores all cached driver files. Special booter hotkeys: ----------------------- F5 Rescans optical drive. F10 Scans and displays all BIOS accessible drives. Special booter commands: ------------------------ ?memory Displays information about the computer's memory. ?video Displays VESA video modes supported by the computer's BIOS. ?norescan Leaves optical drive rescan mode. Additional useful command-line options: --------------------------------------- config=<file> Use an alternate Boot.plist file. Options useful in the org.chameleon.Boot.plist file: ---------------------------------------------------- Wait=Yes|No Prompt for a key press before starting the kernel. "Quiet Boot"=Yes|No Use quiet boot mode (no messages or prompt). Timeout=8 Number of seconds to pause at the boot: prompt. "Instant Menu"=Yes Force displaying the partition selection menu. "Default Partition" Sets the default boot partition, =hd(x,y)|UUID|"Label" Specified as a disk/partition pair, an UUID, or a label enclosed in quotes. "Hide Partition" Remove unwanted partition(s) from the boot menu. =partition Specified, possibly multiple times, as hd(x,y), an [;partition2 ...] UUID or label enclosed in quotes. "Rename Partition" Rename partition(s) for the boot menu. =partition <alias> Where partition is hd(x,y), UUID or label enclosed [;partition2 <alias2> in quotes. The alias can optionally be quoted too. ...] GUI=No Disable the GUI (enabled by default). "Boot Banner"=Yes|No Show boot banner in GUI mode (disabled by default). ShowInfo=No Disables display of partition and resolution details. "Boot Banner"=No will also disable this info. "Legacy Logo"=Yes|No Use the legacy grey apple logo (enabled by default). RebootOnPanic=Yes|No (disabled by default). EnableHiDPI=Yes|No Enable High resolution display (disabled by default). BlackMode=Yes|No The new BlackMode loads the white Apple logo, instead of the gray Apple logo, on a black background (disabled by default). CsrActiveConfig=<value> Set CsrActiveConfig for OS 10.11.x, range 0..127 (default 0x67) PciRoot=<value> Use an alternate value for PciRoot (default value 0). UseKernelCache=Yes|No Yes will load pre-linked kernel and will ignore /E/E and /S/L/E/Extensions.mkext. Default is No but Yes if you use Lion on a Raid partition. KeyLayout=keymap Use to change the keyboard mapping of the bootloader (e.g. KeyLayout=mac-fr) HDAEnabler=Yes|No Automatic device-properties generation for audio controllers. HDEFLayoutID=<value> Inject alternate value of layout-id for HDEF (HEX). HDAULayoutID=<value> Inject alternate value of layout-id for HDAU (HEX). GraphicsEnabler=Yes|No Automatic device-properties generation for graphics cards. SkipIntelGfx=Yes|No Skip the Automatic device-properties generation for Intel cards. SkipNvidiaGfx=Yes|No Skip the Automatic device-properties generation for Nvidia cards. SkipAtiGfx=Yes|No Skip the Automatic device-properties generation for Ati cards. NvidiaGeneric =Yes|No Use the classic Nvidia name for the SystemProfiler (disabled by default). NvidiaSingle =Yes|No If you have two cards Nvidia and wants to inject only first one then you can set this parameter (enbaled by default). AtiConfig=<cardcfg> Use a different card config, e.g. AtiConfig=Megalodon. AtiPorts=<value> Specify the number of ports, e.g. AtiPorts=2. UseAtiROM=Yes|No Use an alternate Ati ROM image (default path: /Extra/<vendorid>_<devid>_<subsysid>.rom) UseNvidiaROM=Yes|No Use an alternate Nvidia ROM image (default path: /Extra/<vendorid>_<devid>.rom) VBIOS=Yes|No Inject VBIOS to device-properties. display_0=<value> Inject alternate value of display-cfg into NVDA,Display-A@0 (HEX). display_1=<value> Inject alternate value of display-cfg into NVDA,Display-B@1 (HEX). IntelCapriFB=<value> For Intel Ivy Bridge, range 0-11. IntelAzulFB=<value> For Intel Haswell, range 0-16. IntelBdwFB=<value> For Intel Broadwell, range 0-19. IntelSklFB=<value> For Intel Skylake, range 0-12. InjectIntel-ig=<value> Inject alternate value into AAPL,ig-platform-id (HEX). EnableBacklight=Yes Enable Back light option for NVIDIA and ATI EnableDualLink=Yes Enable DualLink option for NVIDIA and ATI EnableHDMIAudio=Yes Inject HDMI audio for NVIDIA and ATI. EthernetBuiltIn=Yes|No Automatic "built-in"=YES device-properties generation for ethernet interfaces. ForceHPET=Yes|No Force HPET on (disabled by default). USBBusFix=Yes Enable the XHCI, EHCI and UHCI fixes (disabled by default). EHCIacquire=Yes Enable the EHCI fix (disabled by default). UHCIreset=Yes Enable the UHCI fix (disabled by default). USBLegacyOff=Yes Force USB Legacy off for XHCI and EHCI (disabled by default). XHCILegacyOff=Yes Force USB Legacy off for XHCI (disabled by default). Wake=No Disable wake up after hibernation (enbaled by default). ForceWake=Yes Force using the sleepimage (disabled by default). WakeImage=<file> Use an alternate sleepimage file (default path is /private/var/vm/sleepimage). DropSSDT=Yes Skip the SSDT tables while relocating the ACPI tables. Drop<file>=Yes Skip:[HPET, SLIC, SBST, ECDT, ASF! or DMAR] DSDT=<file> Use an alternate DSDT.aml file (default path: /DSDT.aml /Extra/DSDT.aml bt(0,0)/Extra/DSDT.aml). HPET=<file> Use an alternate HPET.aml file (default path: /HPET.aml /Extra/HPET.aml bt(0,0)/Extra/HPET.aml). SBST=<file> Use an alternate SBST.aml file (default path: /SBST.aml /Extra/SBST.aml bt(0,0)/Extra/SBST.aml). ECDT=<file> Use an alternate ECDT.aml file (default path: /ECDT.aml /Extra/ECDT.aml bt(0,0)/Extra/ECDT.aml). ASFT=<file> Use an alternate ASFT.aml file (default path: /ASFT.aml /Extra/ASFT.aml bt(0,0)/Extra/ASFT.aml). DMAR=<file> Use an alternate DMAR.aml file (default path: /DMAR.aml /Extra/DMAR.aml bt(0,0)/Extra/DMAR.aml). APIC=<file> Use an alternate APIC.aml file (default path: /APIC.aml /Extra/APIC.aml bt(0,0)/Extra/APIC.aml). MCFG=<file> Use an alternate MCFG.aml file (default path: /MCFG.aml /Extra/MCFG.aml bt(0,0)/Extra/MCFG.aml). FADT=<file> Use an alternate FADT.aml file (default path: /FADT.aml /Extra/FADT.aml bt(0,0)/Extra/FADT.aml). GenerateCStates=Yes Enable auto generation of processor idle sleep states (C-States). GeneratePStates=Yes Enable auto generation of processor power performance states (P-States). CSTUsingSystemIO=Yes New C-State _CST generation method using SystemIO registers instead of FixedHW. EnableC2State=Yes Enable specific Processor power state, C2. EnableC3State=Yes Enable specific Processor power state, C3. EnableC4State=Yes Enable specific Processor power state, C4. EnableC6State=Yes Enable specific Processor power state, C6. EnableC7State=Yes Enable specific Processor power state, C7. PrivateData=No Show masked data (serial number) in bdmesg log (enbaled by default). ForceFullMemInfo=Yes Force SMBIOS Table 17 to be 27 bytes long (disabled by default). SMBIOS=<file> Use an alternate SMBIOS.plist file (default path: /smbios.plist /Extra/smbios.plist bt(0,0)/Extra/smbios.plist). SMBIOSdefaults=No Don't use the Default values for SMBIOS overriding if smbios.plist doesn't exist, factory values are kept. KERNELPlist=<file> Use an alternate kernel.plist file (default path: /Extra/Kernel.plist bt(0,0)/Extra/kernel.plist). KEXTPlist=<file> Use an alternate kext.plist file (default path: /Extra/Kext.plist bt(0,0)/Extra/kext.plist). "Scan Single Drive" Scan the drive only where the booter got loaded from. =Yes|No Fix rescan issues when using a DVD reader in AHCI mode. Rescan=Yes Enable CD-ROM rescan mode. "Rescan Prompt"=Yes Prompts for enable CD-ROM rescan mode. SystemId=<UUID> Set the system id manually to UUID. Deprecated - Now SMsystemuuid in smbios.plist SMUUID in smbios config (reserved field) isn't used then. SystemType=<n> Set the system type to n, where n is between 0..6 (default=1 Desktop) md0=<file> Load raw img file into memory for use as XNU's md0 ramdisk. /Extra/Postboot.img is used otherwise. ErmaC 6 Link to comment Share on other sites More sharing options...
Badruzeus Posted March 31, 2017 Share Posted March 31, 2017 ... Awesome @Ermac && @Micky1979, Enoch r2877 just boot my 10.12.5 Beta (16F43c), but: 1. My patched DSDT.aml placed on /Extra won't loaded, but SSDT did (as we can see on my attached logs). Do I need to also install "ACPICodec" under Module section or something else? 2. I still have issue with NVIDIA WebDriver, though with nvda_drv=1 on Boot-args but my system still use Native Drivers. Do I need to write this on nvram.plist? Also got some issue with my ELAN TrackPad (Emly Dinesh's ApplePS2SmartTouchpad, working KB) but it's not really important, since I'm using USB Mouse. Thanks for advance, files attached below. Enoch-r2877-logs.txt Badruzeus MacBook Pro.ioreg.zip Extra.zip 1 Link to comment Share on other sites More sharing options...
ErmaC Posted March 31, 2017 Author Share Posted March 31, 2017 ... files attached below. Pls remove Resolution Module from Extra/module folder and also remove DSDT key from o.c.B.p <key>DSDT</key> <string>/Extra/DSDT.aml</string> no extras modules are needed for your config (I think...) more than FileNVRAM for NVRAM business... post the new log. ErmaC 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted March 31, 2017 Share Posted March 31, 2017 2. I still have issue with NVIDIA WebDriver, though nvda_drv=1 are used on Boot-args but my system still use Native Drivers. Do I need to write this on nvram.plist? nvda_drv=1 does nothing in Sierra if is a kernel flag. You need only to select web drivers using the official manager: but also ensure that the Web drivers must be compatible with 10.12.5 EDIT also remove the SMBIOS key since is already in /Extra/. EDIT 2 may be you want to remove the 'Legacy Logo' and add "BlackMode = Yes" for a nicer black bacground/white apple? 2 Link to comment Share on other sites More sharing options...
Shaneee Posted March 31, 2017 Share Posted March 31, 2017 Micky, Am I right in saying that for Sierra the FileNVRAM module is required along with NVIDIAWebDrv=Yes/No or is just the module enough for the web driver app to select the required drivers. Link to comment Share on other sites More sharing options...
Micky1979 Posted March 31, 2017 Share Posted March 31, 2017 NVIDIAWebDrv is only needed if you don't have the FileNVRAM module 1 Link to comment Share on other sites More sharing options...
Badruzeus Posted March 31, 2017 Share Posted March 31, 2017 Pls remove Resolution Module from Extra/module folder and also remove DSDT key from o.c.B.p <key>DSDT</key> <string>/Extra/DSDT.aml</string> no extras modules are needed for your config (I think...) more than FileNVRAM for NVRAM business... post the new log. ErmaC nvda_drv=1 does nothing in Sierra if is a kernel flag. You need only to select web drivers using the official manager: but also ensure that the Web drivers must be compatible with 10.12.5 EDIT also remove the SMBIOS key since is already in /Extra/. EDIT 2 may be you want to remove the 'Legacy Logo' and add "BlackMode = Yes" for a nicer black bacground/white apple? Done! as suggested now my Sierra 10.12.5 Beta (16F43c) works as expected with patched DSDT loaded, and working NVIDIA Web Driver. But the best of it, (I feel) my system just boot faster than b4. Thanks again @ErmaC && @Micky1979 (especially OTF patching methods) for this updated bootloader. FYi, my OS X El Capitan 10.11.6 Beta (15G1502) also works very well with same config. #Edit: @Micky1979 >> I still luv gray Apple boot screen, cz it reminds me with my 1st hackintosh using 10.6.x & Chameleon (which rev. I don't remember) LoL Enoch-r2877-logs-new.txt 2 Link to comment Share on other sites More sharing options...
Recommended Posts