Jump to content

Chameleon 2.4svn Official PKG Installer


ErmaC
4,261 posts in this topic

Recommended Posts

This trick "put /Extra to all Mac partitions and EFI partition" seems not working for me.

I'll try next trick later.

 

[Different finding]

In another hackintosh with GTX980 display card the above trick can display GUI=Y normally.

But this version 2760 can not boot previous 10.11DP7.

It can boot both 10.10.5 and 10.11GM.

 

2760 can boot 10.11.DP7 here with /Extra/Kernel.plist.

 

Your problem should be the wrong partition of /Extra/Kernel.plist to load.

Because 2760 doesn't load the boot system partition's /Extra/Kernel.plist, only loads the default partition's /Extra/Kernel.plist of Chameleon, you need to find out the right partition to put /Extra/Kernel.plist in it.

 

example (bdmesg of 2716 #3420):

Boot system partition is 10.11.GM hd(0,8), and Chameleon loads the default active partition hd(0,10)'s /Extra/Kernel.plist firstly and only.

Same as your Themes (GUI=Y).

Read HFS+ file: [hd(0,10)/Extra/modules/klibc.dylib] 32052 bytes.
Read HFS+ file: [hd(0,10)/Extra/modules/uClibcxx.dylib] 43824 bytes.
Read HFS+ file: [hd(0,10)/Extra/Kernel.plist] 529 bytes.
Read HFS+ file: [hd(0,10)/Extra/Themes/Default/theme.plist] 2787 bytes.
.....
Read HFS+ file: [hd(0,10)/Extra/Themes/Default/font_small.png] 3371 bytes.
Read HFS+ file: [hd(0,8)/Library/Preferences/SystemConfiguration/com.apple.Boot.plist] 232 bytes.
Read HFS+ file: [hd(0,8)/Extra/org.chameleon.Boot.plist] 817 bytes.

I think, it needs to be fixed to load hd(0,8)/Extra/Kernel.plist as hd(0,8)/Extra/org.chameleon.Boot.plist. :yes:

  • Like 1
Link to comment
Share on other sites

There has been a small flood of Chameleon themes recently over at the voodooprojects forum so I would just like to raise awareness of them. One user in particular, rmf_z, has contributed an total of 9 themes alone. That’s a lot of time and effort!

 
Here’s an overview of the themes using the previews supplied by the users.
axbuoi.jpg
  • Like 6
Link to comment
Share on other sites

2760 can boot 10.11.DP7 here with /Extra/Kernel.plist.

 

Your problem should be the wrong partition of /Extra/Kernel.plist to load.

Because 2760 doesn't load the boot system partition's /Extra/Kernel.plist, only loads the default partition's /Extra/Kernel.plist of Chameleon, you need to find out the right partition to put /Extra/Kernel.plist in it.

 

example (bdmesg of 2716 #3420):

Boot system partition is 10.11.GM hd(0,8), and Chameleon loads the default active partition hd(0,10)'s /Extra/Kernel.plist firstly and only.

Same as your Themes (GUI=Y).

Read HFS+ file: [hd(0,10)/Extra/modules/klibc.dylib] 32052 bytes.
Read HFS+ file: [hd(0,10)/Extra/modules/uClibcxx.dylib] 43824 bytes.
Read HFS+ file: [hd(0,10)/Extra/Kernel.plist] 529 bytes.
Read HFS+ file: [hd(0,10)/Extra/Themes/Default/theme.plist] 2787 bytes.
.....
Read HFS+ file: [hd(0,10)/Extra/Themes/Default/font_small.png] 3371 bytes.
Read HFS+ file: [hd(0,8)/Library/Preferences/SystemConfiguration/com.apple.Boot.plist] 232 bytes.
Read HFS+ file: [hd(0,8)/Extra/org.chameleon.Boot.plist] 817 bytes.

I think, it needs to be fixed to load hd(0,8)/Extra/Kernel.plist as hd(0,8)/Extra/org.chameleon.Boot.plist. :yes:

Thanks and I'll try to follow your advice to fix it soon.

  • Like 1
Link to comment
Share on other sites

Any help ?

 

OSX 10.11   El Capitan Darwin/15.0.0 30. Sep 2015

 

OSX 10.10.5 Yosemite Darwin/14.5.0 13. Aug 2015

OSX 10.10.4 Yosemite Darwin/14.4.0 30. Jun 2015

OSX 10.10.3 Yosemite Darwin/14.3.0 08. Apr 2015

OSX 10.10.2 Yosemite Darwin/14.1.0 27. Jan 2015

OSX 10.10.1 Yosemite Darwin/14.0.0 17. Nov 2014

OSX 10.10.0 Yosemite Darwin/14.0.0 16. Oct 2014

 

OSX 10.9.5 Darwin/13.4.0 18. Sep 2014

OSX 10.9.4 Darwin/13.3.0 30. Jun 2014

OSX 10.9.3 Darwin/13.2.0 15. May 2014

OSX 10.9.3 Darwin/13.2.0

OSX 10.9.2 Darwin/13.1.0 25. Feb 2014

OSX 10.9.1 Darwin/13.0.2 16. Dec 2013

OSX 10.9.0 Darwin/13.0.0 22. Oct 2013

 

OS X 10.8.5 Darwin/12.5.0 03. Oct 2013

OS X 10.8.4 Darwin/12.4.0 04. Jun 2013

OS X 10.8.3 Darwin/12.3.0 14. Mar 2013

OS X 10.8.2 Darwin/12.2.0 19. Sep 2012

OS X 10.8.1 Darwin/12.1.0 23. Aug 2012

 

Mac OS X 10.7.5 Darwin/11.4.2 04. Oct 2012

Mac OS X 10.7.4 Darwin/11.4.0 09. May 2012

Mac OS X 10.7.3 Darwin/11.3.0 01. Feb 2012

Mac OS X 10.7.2 Darwin/11.2.0 12. Oct 2011

Mac OS X 10.7.1 Darwin/11.1.0 16. Aug 2011

 

Mac OS X 10.6.8 Darwin/10.8.0 23. Jun 2011

Mac OS X 10.6.7 Darwin/10.7.0 06. Jan 2011

Mac OS X 10.6.6 Darwin/10.6.0 10. Nov 2010

Mac OS X 10.6.5 Darwin/10.5.0 15. Jun 2010

Mac OS X 10.6.4 Darwin/10.4.0 12. Apr 2010

Mac OS X 10.6.3 Darwin/10.3.0 29. Mar 2010

Mac OS X 10.6.2 Darwin/10.2.0 09. Nov 2009

 

Mac OS X 10.6.0 Darwin/10.0.0 28. Aug 2009

 

I need all "minor" version since Snow....

 

EDIT

Always the first number after the first dot coincide with the OSX version ??

 

EDIT II

Nope, Lion 10.7.5 has Darwin 11.4.2, and here we have Ivy support for the first time..

 

EDIT III

Thx blackosx for the link, missing 10.6.1 but I suppose is the same for 10.6

thx Slice for the Tip

Edited by Micky1979
added a Darwin version
Link to comment
Share on other sites

Mavericks 10.9.5

Darwin iMac.local 13.4.0 Darwin Kernel Version 13.4.0: Wed Mar 18 16:20:14 PDT 2015; root:xnu-2422.115.14~1/RELEASE_X86_64 x86_64

 

First number of Darwin = Second number of system + 4

13.4.0  -> 10.9.5 

  • Like 1
Link to comment
Share on other sites

got it:

/* Build-time value of VERSION_MAJOR */
extern const int version_major;

/* Build-time value of VERSION_MINOR */
extern const int version_minor;

/* Build-time value of VERSION_VARIANT */
extern const char version_variant[];

/* Build-time value of VERSION_REVISION */
extern const int version_revision;

/* Build-time value of VERSION_STAGE */
extern const int version_stage;

/* Build-time value of VERSION_PRERELEASE_LEVEL */
extern const int version_prerelease_level;

/* Build-time value of OSTYPE */
extern const char ostype[];

/* Build-time value of OSRELEASE */
extern const char osrelease[];

/* osbuilder is a string as returned by uname -r */
extern const char osbuilder[];

/* version is a string of the following form, as returned by uname -v:
* "Darwin Kernel Version <osrelease>: <build date>; <osbuilder>:<build root>"
*/
Link to comment
Share on other sites

Anyone want to try this test version?

 

  1.  added a SkipKP key to unload the internal Kernel Patcher to use at boot time (SkipKP=Yes)
  2. added the ability to override any single key in the kernel.plist, eg: suppose you have KernelHaswell=Yes in kernel.plist but cause problem... you can override it at boot time by entering KernelHaswell=No. You can do the opposite too (for each key).
  3. Extracted the kernel version. *Actually do nothing

 

the bdmesg looks like:

[ KERNEL PATCHER START ]
		KernelBooter_kexts state: enabled!
		KernelPm           state: disabled!
		KernelLapicError   state: enabled!
		KernelLapicVersion state: enabled!
		KernelHasswell     state: enabled!
		KernelcpuFamily    state: disabled!
		KernelSSE3         state: disabled!

		***** kernel version = 15.0.0 *****

[ 64-bit ]
	- Searching for booter extensions pattern
		Found Yosemite and El Capitan pattern, patched!
		Found Yosemite pattern, patched!
		2 substitution(s) made.
	- Looking for Lapic panic call Start
		Found El Capitan Lapic panic at 0x001de69e
		Lapic Error call removed.
	- Looking for Lapic Version panic call Start
		Found El Capitan Lapic Version panic at 0x001dd250
		Lapic Version call removed.
[ KERNEL PATCHER END ] 

***** kernel version = 15.0.0 *****

please provide a bdmesg from different OSes. * If all goes well (actually do nothing) we'll use that to patch the kernel (bye bye OS version :hysterical: )

 

 

EDIT

Just for info, this boot file but also the r2760 in the download section, skip all the patches if the KernelPatcher.dilyb is loaded (because will use that)


 

Boot system partition is 10.11.GM hd(0,8), and Chameleon loads the default active partition hd(0,10)'s /Extra/Kernel.plist firstly and only.

I think, it needs to be fixed to load hd(0,8)/Extra/Kernel.plist as hd(0,8)/Extra/org.chameleon.Boot.plist. :yes:

My boot file is on disk with MBR partition scheme.... stage 1 used matters. Sorry is late here I have to go to bed :P

Anyway little changes on it, please try.

 

EDIT

 

KernelHasswell :blush: but should be KernelHaswell, and must be changed for future release, sorry.

boot.zip

  • Like 3
Link to comment
Share on other sites

Anyone want to try this test version?

 

  1.  added a SkipKP key to unload the internal Kernel Patcher to use at boot time (SkipKP=Yes)
  2. added the ability to override any single key in the kernel.plist, eg: suppose you have KernelHaswell=Yes in kernel.plist but cause problem... you can override it at boot time by entering KernelHaswell=No. You can do the opposite too (for each key).
  3. Extracted the kernel version. *Actually do nothing.

 

Works fine here with SkipKP=Yes and others, kernel.plist is loaded fine on each boot OS partition.

Good job!! :thumbsup_anim: :thumbsup_anim:

bdmesg1075-1011GM.zip

  • Like 1
Link to comment
Share on other sites

Hey guys ! Nice work so far but I can't boot OS X 10.11 GM (15A282a) from an install USB stick with Enoch r2760 (or any other version).

 

None of the Extra folder kexts are loaded and therefore there's no FakeSMC to reach the install screen without the Beach ball of death.

 

Wherever I place my kexts (actually, there's not a lot of choice between Extra and L/E :P) and of course, CsrActiveConfig=103 is set in org.chameleon.Boot.plist as the verbose mode clearly states that SIP is disabled.

 

And that happens only on OS X 10.11 GM (15A282a). DP1 boots fine.

 

So I was wondering if someone already tried and successfully booted an OS X 10.11 GM install disk (not an already working and updated system) ? If so, then I must have missed something. Otherwise, I think we have a problem here.

 

Keep going, I'm sure you'll make it as you ever did :D !

  • Like 1
Link to comment
Share on other sites

So I was wondering if someone already tried and successfully booted an OS X 10.11 GM install disk (not an already working and updated system) ? If so, then I must have missed something. Otherwise, I think we have a problem here.

 

Works fine here with 10.11 GM 15A282a installer disk created with "createinstallmedia", both 2760 and #3461 2761. FYI.

  • Like 1
Link to comment
Share on other sites

I didn't tried createinstallmedia method, only BaseSysem.dmg restore one's but I don't see why it would make a difference :unsure:

 

Since I can't boot I have no bdmesg to analyze so I don't know what's wrong with my setup.

 

Anyway, thanks for the reply :).

 

Actually, still works fine here (10.11 GM 15A282a) with old method of BaseSysem.dmg restore one, and Recovery HD, FYI.

Link to comment
Share on other sites

how you did it,

Please do not laugh :blush: , I hope you do not think I have become very good last night .. it did not happen :hysterical: .

I just looked up in the source and I found something simple and already exists: gDarwinBuildVerStr

 

    bool useDarwinVersion = false;

    const char *pattern = strstr(gDarwinBuildVerStr, "Darwin Kernel Version ")+22;

    const char *until = strstr(pattern, ":");

    size_t len = until - pattern;

    char *ver = (char*)malloc(sizeof(char)*(len+1));

    strncpy(ver, pattern, len);

    ver[len] = '\0';

    char* delim;

    char* temp;

    int gDarwinMajor = -1, gDarwinMinor = -1, gDarwinRev = -1;

    if (ver != NULL// to check if is "Unknown"

    {

        temp = ver;

        int count = 1;

        while ((delim = strsep_c(&ver, ".")) != NULL)

        {

            switch (count)

            {

                    case 1: gDarwinMajor = atoi(delim); break;

                    case 2: gDarwinMinor = atoi(delim); break;

                    case 3: gDarwinRev   = atoi(delim); break;

                default:

                    break;

            }

            count ++;

        }

        free(temp);

    }

    if (gDarwinMajor >= 0 && gDarwinMajor >= 0 && gDarwinMajor >= 0) {

        printf("\n\t\t***** kernel version = %d.%d.%d *****\n\n", gDarwinMajor, gDarwinMinor, gDarwinRev);

        useDarwinVersion = true;

    } else {

        printf("\n\t\t***** kernel version is bad, using OS Version *****\n\n");

    }

 

As I said I tried moving patch after decode function, all seems ok, but it does not work effectively (no kext loaded from EE, booter prelink patch not really applied)...

Your code is fantastic but I admit I have to study it calmly.

NOTE I have to re-create the strsep_c  function in place (strsep already define in klibc but is not standard??)

Works fine here with SkipKP=Yes and others, kernel.plist is loaded fine on each boot OS partition.

Good job!! :thumbsup_anim: :thumbsup_anim:

attachicon.gifbdmesg1075-1011GM.zip

Good!

  • Like 1
Link to comment
Share on other sites

// Bungo: scan binary for Darwin Kernel Version string
uint32_t offset = 0;
strncpy(gDarwinBuildVerStr, "Darwin Kernel Version", sizeof(gDarwinBuildVerStr));

while ((offset < 0xFFFFFFFF - (uint32_t)binary - 256) && memcmp(binary + offset, gDarwinBuildVerStr, 21))
{
offset++;
}
if (offset < 0xFFFFFFFF - (uint32_t)binary - 256)
{
strncpy(gDarwinBuildVerStr, (char *)(binary + offset), sizeof(gDarwinBuildVerStr));
}
else
{
strcat(gDarwinBuildVerStr, ": Unknown");
}

Right. This can be found in drivers.c and skims over the binary, but I am a developer and know how to get it properly so that is what I do.

  • Like 1
Link to comment
Share on other sites

Sure your code is the right and more elegant way. As I said actual limitation seem (for me) make it work after decoding the kernel, otherwise just copy your code is a starting point here.

Also because in load.c seem the right place to play with kernel binary.

In the meantime We can elaborate code to replace the use of the os version and make any installers works (made by the app..no createinstallermedia that is ok) with its own prelinked cache file ....

Link to comment
Share on other sites

So I was wondering if someone already tried and successfully booted an OS X 10.11 GM install disk (not an already working and updated system) ?

 

All us here, me included :P

but sorry polyzargone, if you can see the "Beach ball of death" that mean that your installar is working, and that all bootloader that you tried are working too:

 

 

18mp1e7vpadplgif.gif

 

This is drawn by a cocoa application...it is to say that your system is running. Problem is elsewhere (the installer?, RecoveryHD already present on your disk and cause hang?), bootloader is working...

Link to comment
Share on other sites

All us here, me included :P

but sorry polyzargone, if you can see the "Beach ball of death" that mean that your installar is working, and that all bootloader that you tried are working:

 

This is drawn by a cocoa application...it is to say that your system is working. Problem is elsewhere, bootloader is working...

 

I'm sure it's working for everyone else but me :P. But in my case, why there's no mention of FakeSMC anywhere in the verbose mode ? And the beach ball is known to be a FakeSMC issue ? Correct ?

 

As you say, it's just proving me that the installer works while I'm not so sure about the bootloader doing his to job if it can't inject any extra kexts !

 

Unless I missed something and extra kexts have to be placed somewhere else or in a special place I'm unaware of… Could this have something to do with that Kernel.plist you're talking about ?

 

I use the same exact Extra folder with Enoch r2760 and I can successfully boot DP 1 :

 

 

 

<key>Boot Banner</key>

<string>No</string>

<key>CsrActiveConfig</key>

<string>103</string>

<key>EthernetBuiltIn</key>

<string>Yes</string>

<key>GUI</key>

<string>No</string>

<key>GraphicsEnabler</key>

<string>Yes</string>

<key>Kernel Flags</key>

<string>-v</string>

<key>SMBIOS</key>

<string>/Extra/SMBios.plist</string>

<key>UseKernelCache</key>

<string>Yes</string>

 

 

 

Kexts :

 

 

 

AppleACPIPS2Nub.kext

BCM5722D.kext

FakeSMC.kext <- version 6.14.1364 + PlugIns

VoodooPS2Trackpad.kext

 

 

 

With a MacBookPro5,1 SMBios + DSDT.aml

 

That's why I'm wondering if something has changed with GM beside having to set CsrActiveConfig to 103 for example. But you say no and I trust you of course.

 

Is there something else I should add ? Boot-flag ?

 

I just really want to know why this is failing so badly with my system ;).

  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...