crazybirdy Posted September 14, 2015 Share Posted September 14, 2015 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. 1 Link to comment Share on other sites More sharing options...
blackosx Posted September 14, 2015 Share Posted September 14, 2015 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. 6 Link to comment Share on other sites More sharing options...
Micky1979 Posted September 14, 2015 Share Posted September 14, 2015 really cool! 1 Link to comment Share on other sites More sharing options...
jsl Posted September 14, 2015 Share Posted September 14, 2015 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. Thanks and I'll try to follow your advice to fix it soon. 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted September 14, 2015 Share Posted September 14, 2015 Sure, but when you have done all of your things is more secure for you to re-enable the FS protection! Link to comment Share on other sites More sharing options...
Micky1979 Posted September 14, 2015 Share Posted September 14, 2015 (edited) 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 September 14, 2015 by Micky1979 added a Darwin version Link to comment Share on other sites More sharing options...
Slice Posted September 14, 2015 Share Posted September 14, 2015 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 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted September 14, 2015 Share Posted September 14, 2015 Intresting we have a formula for 10.9.5? patching kernel is essential... 13-4 = 9 = Mavericks Link to comment Share on other sites More sharing options...
blackosx Posted September 14, 2015 Share Posted September 14, 2015 Hi Micky1979 I found this list which should help http://user-agents.me/cfnetwork-version-list 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted September 14, 2015 Share Posted September 14, 2015 @blackosx:Thaaaaaanks , post updated Link to comment Share on other sites More sharing options...
Pike R. Alpha Posted September 14, 2015 Share Posted September 14, 2015 OS X 10.6.1 -> 10.0.0 See: http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/config/MasterVersion 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted September 14, 2015 Share Posted September 14, 2015 Thanks Pike! Never I see 'S' and 'L'. I' m not at Home, but are there in El Capitan kernel? EDIT I'cant check it.. Link to comment Share on other sites More sharing options...
Micky1979 Posted September 14, 2015 Share Posted September 14, 2015 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 More sharing options...
Micky1979 Posted September 14, 2015 Share Posted September 14, 2015 Anyone want to try this test version? added a SkipKP key to unload the internal Kernel Patcher to use at boot time (SkipKP=Yes) 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). 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 ) 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. My boot file is on disk with MBR partition scheme.... stage 1 used matters. Sorry is late here I have to go to bed Anyway little changes on it, please try. EDIT KernelHasswell but should be KernelHaswell, and must be changed for future release, sorry. boot.zip 3 Link to comment Share on other sites More sharing options...
crazybirdy Posted September 15, 2015 Share Posted September 15, 2015 Anyone want to try this test version? added a SkipKP key to unload the internal Kernel Patcher to use at boot time (SkipKP=Yes) 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). 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: bdmesg1075-1011GM.zip 1 Link to comment Share on other sites More sharing options...
polyzargone Posted September 15, 2015 Share Posted September 15, 2015 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 ) 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 ! 1 Link to comment Share on other sites More sharing options...
crazybirdy Posted September 15, 2015 Share Posted September 15, 2015 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. 1 Link to comment Share on other sites More sharing options...
polyzargone Posted September 15, 2015 Share Posted September 15, 2015 I didn't tried createinstallmedia method, only BaseSysem.dmg restore one's but I don't see why it would make a difference … 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 . 1 Link to comment Share on other sites More sharing options...
crazybirdy Posted September 15, 2015 Share Posted September 15, 2015 I didn't tried createinstallmedia method, only BaseSysem.dmg restore one's but I don't see why it would make a difference … 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 More sharing options...
Pike R. Alpha Posted September 15, 2015 Share Posted September 15, 2015 No idea (not checked) how you did it, but this is what I use for RevoBoot Note the 32-bit support! Link to comment Share on other sites More sharing options...
Micky1979 Posted September 15, 2015 Share Posted September 15, 2015 how you did it, Please do not laugh , I hope you do not think I have become very good last night .. it did not happen . 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: bdmesg1075-1011GM.zip Good! 1 Link to comment Share on other sites More sharing options...
Pike R. Alpha Posted September 15, 2015 Share Posted September 15, 2015 // 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. 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted September 15, 2015 Share Posted September 15, 2015 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 More sharing options...
Micky1979 Posted September 15, 2015 Share Posted September 15, 2015 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 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: 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 More sharing options...
polyzargone Posted September 16, 2015 Share Posted September 16, 2015 All us here, me included 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 . 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 . 1 Link to comment Share on other sites More sharing options...
Recommended Posts