Jump to content

Chameleon 2.4svn Official PKG Installer


ErmaC
4,261 posts in this topic

Recommended Posts

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

  • Like 2
Link to comment
Share on other sites

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 !

  • Like 1
Link to comment
Share on other sites

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

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..

001.png002.png

 

ErmaC

  • Like 2
Link to comment
Share on other sites

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

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)

  • Like 1
Link to comment
Share on other sites

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

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 :P ?

Link to comment
Share on other sites

@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 by Zenith432
  • Like 2
Link to comment
Share on other sites

@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
  • Like 2
Link to comment
Share on other sites

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

  • Like 6
Link to comment
Share on other sites

...

 

Awesome :thumbsup_anim:  @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

post-826765-0-38226800-1490984087_thumb.png

  • Like 1
Link to comment
Share on other sites

... 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

  • Like 1
Link to comment
Share on other sites

 

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:

Senza_titolo.jpg

 

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? :yes: 

  • Like 2
Link to comment
Share on other sites

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

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:

Senza_titolo.jpg

 

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? :yes:

 

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  :D 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  :D

post-826765-0-28092500-1490987532_thumb.png

Enoch-r2877-logs-new.txt

  • Like 2
Link to comment
Share on other sites

×
×
  • Create New...