Jump to content

Chameleon 2.4svn Official PKG Installer


ErmaC
4,261 posts in this topic

Recommended Posts

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

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

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!

 

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

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

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

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

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

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

#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

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

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

 

 

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

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

attachicon.gifE6440_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...  :rolleyes:

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

Link to comment
Share on other sites

 

 

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! :|  :cry:  :wacko:  :blink:  :huh:  :o  :shock:  :mad:

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

I understand what you mean with id replacement Micky,...

attachicon.gifbdmesg_No-AzulFB-injection.zip attachicon.gifbdmesg_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

  • Like 1
Link to comment
Share on other sites

:whistle: As I said in my previous posts, 'done it, 'been there, 'does not work. :thumbsdown_anim:

 

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

  • Like 2
Link to comment
Share on other sites

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

  • Like 2
Link to comment
Share on other sites

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

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.

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

attachicon.gifboot.jpg

 

Something wrong with 2737, 2748, i think. FYI.

can you pleeeeease :drool:  test this boot file made for @Hervé five days ego?

  • Like 1
Link to comment
Share on other sites

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?

  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...