Jump to content
ErmaC

Chameleon 2.4svn Official PKG Installer

4,333 posts in this topic

Recommended Posts

14 hours ago, AuralArchitect said:

Perhaps an additional download link of Enoch should be included in this thread for version 2889 specifying it for use on 10.11 and lower (in order to boot with verbose messages)?   That seems reasonable, and I think anyone trying to install the older versions of OS X (for whatever reason) would find that extremely helpful.

 

Too many versions.........since..

You may try to compile Enoch by yourself, quite easy.

 

1. Install Xcode.

2. compile Enoch with any version you want.

svn co -r 2907 http://forge.voodooprojects.org/svn/chameleon/branches/ErmaC/Enoch
cd Enoch
make pkg

done.

Find boot here.

 

Enoch/sym/i386/boot

Enoch/sym/Enoch-rev.2907.pkg

Share this post


Link to post
Share on other sites
Advertisement

So I did some experiments yesterday evening.

On my side:

- Official 2889 binaries works

- Official 2902 binaries does not.

 

I first suspect that it was related to the changes that I did for supporting the firmwarefeatures block (required for booting High Sierra)...

But, when compiling any version (even the last trunk state) myself using Xcode 9.4, I was not able to reproduce this issue.

Share this post


Link to post
Share on other sites
================= Making all in libsa =================
	[MKDIR] /Users/imac/Desktop/Enoch/obj/i386/libsa
	[CC] prf.c
	[CC] printf.c
	[CC] zalloc.c
	[CC] string.c
	[CC] strtol.c
	[CC] error.c
	[AS] setjmp.s
	[CC] qsort.c
In file included from qsort.c:59:
/Users/imac/Desktop/Enoch/i386/include/stdlib.h:99:6: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]
#if !__DARWIN_NO_LONG_LONG
     ^
/Users/imac/Desktop/Enoch/i386/include/sys/cdefs.h:473:32: note: expanded from macro '__DARWIN_NO_LONG_LONG'
#define __DARWIN_NO_LONG_LONG   (defined(__STRICT_ANSI__) \
                                 ^
In file included from qsort.c:59:
/Users/imac/Desktop/Enoch/i386/include/stdlib.h:99:6: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]
/Users/imac/Desktop/Enoch/i386/include/sys/cdefs.h:475:9: note: expanded from macro '__DARWIN_NO_LONG_LONG'
                                && !defined(__GNUG__))
                                    ^
In file included from qsort.c:59:
/Users/imac/Desktop/Enoch/i386/include/stdlib.h:151:6: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]
#if !__DARWIN_NO_LONG_LONG
     ^
/Users/imac/Desktop/Enoch/i386/include/sys/cdefs.h:473:32: note: expanded from macro '__DARWIN_NO_LONG_LONG'
#define __DARWIN_NO_LONG_LONG   (defined(__STRICT_ANSI__) \
                                 ^
In file included from qsort.c:59:
/Users/imac/Desktop/Enoch/i386/include/stdlib.h:151:6: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]
/Users/imac/Desktop/Enoch/i386/include/sys/cdefs.h:475:9: note: expanded from macro '__DARWIN_NO_LONG_LONG'
                                && !defined(__GNUG__))
                                    ^
In file included from qsort.c:59:
/Users/imac/Desktop/Enoch/i386/include/stdlib.h:164:6: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]
#if !__DARWIN_NO_LONG_LONG
     ^
/Users/imac/Desktop/Enoch/i386/include/sys/cdefs.h:473:32: note: expanded from macro '__DARWIN_NO_LONG_LONG'
#define __DARWIN_NO_LONG_LONG   (defined(__STRICT_ANSI__) \
                                 ^
In file included from qsort.c:59:
/Users/imac/Desktop/Enoch/i386/include/stdlib.h:164:6: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]
/Users/imac/Desktop/Enoch/i386/include/sys/cdefs.h:475:9: note: expanded from macro '__DARWIN_NO_LONG_LONG'
                                && !defined(__GNUG__))
                                    ^
In file included from qsort.c:59:
/Users/imac/Desktop/Enoch/i386/include/stdlib.h:184:6: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]
#if !__DARWIN_NO_LONG_LONG
     ^
/Users/imac/Desktop/Enoch/i386/include/sys/cdefs.h:473:32: note: expanded from macro '__DARWIN_NO_LONG_LONG'
#define __DARWIN_NO_LONG_LONG   (defined(__STRICT_ANSI__) \
                                 ^
In file included from qsort.c:59:
/Users/imac/Desktop/Enoch/i386/include/stdlib.h:184:6: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]
/Users/imac/Desktop/Enoch/i386/include/sys/cdefs.h:475:9: note: expanded from macro '__DARWIN_NO_LONG_LONG'
                                && !defined(__GNUG__))
                                    ^
In file included from qsort.c:59:
/Users/imac/Desktop/Enoch/i386/include/stdlib.h:190:6: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]
#if !__DARWIN_NO_LONG_LONG
     ^
/Users/imac/Desktop/Enoch/i386/include/sys/cdefs.h:473:32: note: expanded from macro '__DARWIN_NO_LONG_LONG'
#define __DARWIN_NO_LONG_LONG   (defined(__STRICT_ANSI__) \
                                 ^
In file included from qsort.c:59:
/Users/imac/Desktop/Enoch/i386/include/stdlib.h:190:6: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]
/Users/imac/Desktop/Enoch/i386/include/sys/cdefs.h:475:9: note: expanded from macro '__DARWIN_NO_LONG_LONG'
                                && !defined(__GNUG__))
                                    ^
10 errors generated.
make[3]: *** [/Users/imac/Desktop/Enoch/obj/i386/libsa/qsort.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Anyone knows how to solve the error with 10.13.6, Xcode 9.4.1, Enoch 2907 compiling things?

Share this post


Link to post
Share on other sites
8 hours ago, crazybirdy said:

Anyone knows how to solve the error with 10.13.6, Xcode 9.4.1, Enoch 2907 compiling things?

 

Make.rules add to CFLAGS -Wno-expansion-to-defined

 

from:

CFLAGS = $(CONFIG_OPTIMIZATION_LEVEL) -g -Wmost -Werror

to:

CFLAGS = $(CONFIG_OPTIMIZATION_LEVEL) -g -Wmost -Werror -Wno-expansion-to-defined

 

credits and info: https://github.com/darlinghq/darling/issues/204

 

ErmaC

Share this post


Link to post
Share on other sites
13 hours ago, ErmaC said:

Make.rules add to CFLAGS -Wno-expansion-to-defined

 

Thanks. :yes:

 

    KernelBooter_kexts
    KernelPm
    KernelLapicError
    KernelLapicVersion

 

These kernel patchers were updated to boot Mojave HFS+j partition fine here, installed with Mojave MBR HFS Firmware Check Patch cause of Mojave can only install as APFS with createinstallmedia method.

FYI.

Enoch2909boot+diff.zip

 

 

Enoch (r2909) [2018-07-16 07:12:35]
Logging started: 2018/07/15, 23:17:31
[ CPU INFO ]

	Attempting to scan GPT boot volumes [biosdev=80h]:
	Attempting to scan FDISK boot volumes [biosdev=80h]:
Boot UUID of 'Mac1014db3'  (): 938D94D1-8043-3320-8E44-5624EBC06C6C
Kernel Cache ignored.
Loading kernel from: 'Mac1014db3' ()
Booting on macOS 10.14 (18A326h)

System Integrity Protection status: disabled (Custom Configuration).
CsrActiveConfig = 0x67 (101100111)

Configuration:
Kext Signing: disabled
Filesystem Protections: disabled
Task for PID: disabled
Debugging Restrictions: enabled
Apple Internal: enabled
DTrace Restrictions: disabled
NVRAM Protections: disabled
Device configuration: enabled
BaseSystem Verification: enabled

[ KERNEL PATCHER START ]

	Will patch for 18.0.0 kernel version compatible.

	KernelBooter_kexts state:  enabled!
	KernelPm           state:  enabled!
	KernelLapicError   state:  enabled!
	KernelLapicVersion state:  enabled!
	KernelHaswell      state:  enabled!
	KernelcpuFamily    state:  enabled!
	KernelSSE3         state:  enabled!
	- Searching for booter extensions pattern:
	Found High Sierra, Mojave SIP pattern: patched!
	Found Mojave EXT pattern: patched!
	2 substitution(s) made.
	- Looking for Lapic panic call Start
	Found Mojave Lapic panic at 0x002D9CFC
	Lapic Error call removed.
	- Looking for Lapic Version panic call Start
	Found High Sierra Lapic Version panic at 0x002D8680
	Lapic Version call removed.
	- Patching kernel power management...
	Kernel power management patch 10.1x(data2) found and patched
	Kernel power management patch 10.12 DP1 found and patched
	Power Managment patch applied.
	No Haswell-ULT/-E Kernel patch applied for this CPU.
	- Looking for _cpuid_set_info _panic ...
	- will patch kernel for OSX 10.14 (from 10.7.4 and newer)
	switch statement patch location is 0x002BC4E8
	cpuid_family address: 0x00C471A0
	cpuid_model address: 0x00C4704D
	family mask: 0x0098ACA9 
	model mask: 0x0098AB4C

Kernel patcher: end!
Edited by crazybirdy

Share this post


Link to post
Share on other sites

Updated a new version (2921) see download topic  -->

https://www.insanelymac.com/forum/files/file/71-enoch/

 

Changelog:

- CsrConfig verbose display cosmetic change (Credits to MinusZwei)

- Recovery and Installer improvements (Credits to Micky1979)

- Added device-colors and CFBundleIdentifier (Credits to Pike R. Alpha)

- SMBIOS update (Credits to MinusZwei)

- Updated embedded FakeSMC and fix memory leak when FakeSMC Info plist is corrupted (Credits to MinusZwei)

- Fix for a regression affecting all OS X releases prior to 10.12 (Credits to MinusZwei)

- improvements (credits to: Micky1979)

- UUID NTFS rework and improvements (credits to: deek5)

- kernel patchers updated to boot Mojave (credits to: CrazyBirdy)

- Added Mojave Icons detection.

- Added Mojave Icons for default theme (Courtesy of BlackOsx)

 

Coming soon APFS support (Credits to MinusZwei) see topic here

Share this post


Link to post
Share on other sites
On 6/10/2018 at 10:48 PM, AuralArchitect said:

I'm struggling to get El Capitan installed/working consistently.

 

The most frustrating aspect of this is that VERBOSE booting in Enoch seems to have been removed or is broken.  Any word on that?  Why?  This doesn't make any sense to me.

 

At first I thought it was El Capitan that had removed support for verbose booting..  Then I started seeing people posting screenshots of El Capitan booting with verbose messages.  I was confused, I still thought it must be some other setting over-riding it or somehow preventing it or something.  Now I've discovered that others are experiencing the same things with Enoch so at least my mystery is solved.  But what I don't understand is how/why this happened, and even more so:   why it hasn't been fixed?!

 

It looks like someone has figured out when the problem started so I'll be able to install an earlier version and get back to diagnosing my problems with El Capitan without having having to reboot into another OS just to be able to look at the logs since I can't see those messages as it's booting.

 

El Capitan has quickly proved to be the most problematic version of MacOS to get working since my first hackintosh installing Leopard!

 

Newer version should fix your verbose issues...

I have drafted a fix that I tested with Mavericks installer.

 

Could you please give it a try and let me know if this is also working properly at your end ?

Share this post


Link to post
Share on other sites
8 hours ago, ellaosx said:

what changed in v2922?

Update: oh my bad.. APFS :D

 

APFS is not (yet) inside the official build: I am still cleaning the code, so I told ErmaC to wait until I give him the green light.

However, if you are interested, you can follow the specific topic where the "unstable" Enoch versions with APFS support are posted.

Share this post


Link to post
Share on other sites

Thanks for Enoch r2921, booting macOS 10.14.1 Beta just fine on my Asus laptop with 2nd Gen CPU + Nvidia GF119.

Oh yeah, I just realized it has embedded FakeSMC already.. so I previously got kernel panic when by mistake; placed VirtualSMC.kext on /E/E (I think).

Enoch-r2921.png

Edited by Badruzeus

Share this post


Link to post
Share on other sites
15 minutes ago, theconnactic said:

It’s great to see good old Chameleon’s still raging on!

Anyway, I lost my 2 preinstalled OSes upon Enoch boot; they are Ubuntu & Android x86 (UEFI). But strange is Windows (UEFI) is still there, uhmmb.. do I need to place "grubx64.efi" on USB's ESP (I was booting from this disk) for Linux based, and or do I need specific *.efi driver? Or, Enoch is currently still has no support for UEFI yet. No longer using Chameleon for long time, so.. I hope my quetions are still normal due to my ignorance. 

Edited by Badruzeus

Share this post


Link to post
Share on other sites
6 hours ago, Badruzeus said:

Anyway, I lost my 2 preinstalled OSes upon Enoch boot; they are Ubuntu & Android x86 (UEFI). But strange is Windows (UEFI) is still there, uhmmb.. do I need to place "grubx64.efi" on USB's ESP (I was booting from this disk) for Linux based, and or do I need specific *.efi driver? Or, Enoch is currently still has no support for UEFI yet. No longer using Chameleon for long time, so.. I hope my quetions are still normal due to my ignorance. 

 

They are not "lost": It is just that Enoch does not recognize them.

I have to look inside the source code, but I would assume that there is support for at least Linux OSes...

 

Keep in mind that Enoch is completely different from Clover in its behavior:

- Clover uses the EFI binaries to boot an OS (That's why Clover got APFS from scratch, w/o any modification)

- Enoch is faking EFI structures, and does not "understand" .efi files

 

So, adding .efi files is a "no-op".

 

Share this post


Link to post
Share on other sites
Posted (edited)
On 6/29/2019 at 7:56 PM, Badruzeus said:

Will Chameleon or Enoch support booting Catalina? Thanks.


Porting from Clover r4979 with new EXT, SIP, HP Lapic-Error kernel patch method.

Compile the Enoch boot based on Enoch r2921, with patched kernel_patcher_internal.c.

Works fine here on 10.11, 10.12, 10.13, 10.14, 10.15 MBR HFS+ partition, not test for HP Lapic-Error.

 

@ErmaC FYI.

 

 

v2. fix typo.

Enoch-2922-10_15.thumb.jpg.0f51c8e97b160530874d54f56ff2b06b.jpg

Edited by crazybirdy

Share this post


Link to post
Share on other sites
On 7/1/2019 at 7:50 AM, crazybirdy said:


Porting from Clover r4979 with new EXT, SIP, HP Lapic-Error kernel patch method.

Compile the Enoch boot based on Enoch r2921, with patched kernel_patcher_internal.c.

Works fine here on 10.12, 10.13, 10.14, 10.15 MBR HFS+ partition, not test for HP Lapic-Error.

 

@ErmaC FYI.

 

Enoch-r2922-10.15-code-v2.zip

v2. fix typo.

Enoch-2922-10_15.thumb.jpg.0f51c8e97b160530874d54f56ff2b06b.jpg

Thx crazybirdy.

 

Here the pkg builded with the modification...

 

I just add icon boot volume the name is like device_hfsplus_cat.png and device_hfsplus_cat_o.png

removed

No time to other thing sorry

Cordially

ErmaC

Share this post


Link to post
Share on other sites
Posted (edited)
On 7/2/2019 at 3:54 AM, ErmaC said:

Thx crazybirdy.

 

Here the pkg builded with the modification...

Enoch-rev.2922.zip

I just add icon boot volume the name is like device_hfsplus_cat.png and device_hfsplus_cat_o.png

 

No time to other thing sorry

Cordially

ErmaC

 

Great, the pkg works fine here on on 10.11, 10.12, 10.13, 10.14, 10.15.:thumbsup_anim:

 

@ErmaC

update v3, works fine here on on 10.11, 10.12, 10.13, 10.14, 10.15.

1.fix typo,

2.remove KernelLapicVersion, we need KernelLapicError for HP BIOS only, never need KernelLapicVersion.

 

@ErmaC

Again, Clean up code to remove KernelLapicVersion.

V4 works fine here on on 10.11, 10.12, 10.13, 10.14, 10.15.

 

Edited by crazybirdy
clean up code to remove KernelLapicVersion.

Share this post


Link to post
Share on other sites
On 7/2/2019 at 1:06 AM, crazybirdy said:

 

@ErmaC

update v3, works fine here on on 10.11, 10.12, 10.13, 10.14, 10.15.

1.fix typo,

2.remove KernelLapicVersion, we need KernelLapicError for HP BIOS only, never need KernelLapicVersion.

Enoch-r2922-10.15-v3.zip 

 

Thx again :)-

Upped here --> 

 

Share this post


Link to post
Share on other sites

Succeeded boot 10.15 on my Asus A43SJ with Enoch r2922 (Legacy, HFS+ partition). Got KP several times previously after placing FakeSMC / VirtualSMC kext on /Extra/Extensions till I realized that Enoch already embedded FakeSMC lol.. Many thanks.

Catalina-Enoch-r2922.png

Share this post


Link to post
Share on other sites
Posted (edited)
On 7/6/2019 at 2:07 AM, ErmaC said:

 

Thx again :)-

Upped here --> 

 

 

Hi ErmaC,

 

The KernelPatches on kernel.plist, and KextsPatches on kexts.plist didn't work well.

Do you know how to solve it?

It seems "Unable to find the _PrelinkInfoDictionary" issue.

 

I can patch it manually, but on the fly didn't work.

 

01.thumb.gif.e6236275b7a550c83f503a770c612104.gif

[ KERNEL PATCHER START ]

	Will patch for 18.6.0 kernel version compatible.

	KernelBooter_kexts state:  enabled!
	KernelPm           state:  enabled!
	KernelLapicError   state:  enabled!
	KernelHaswell      state: disabled!
	KernelcpuFamily    state: disabled!
	KernelSSE3         state: disabled!
	- Searching for booter extensions pattern:
	Found EXT pattern (10.8 - recent macOS): patched!
	Found SIP pattern (10.11 - 10.14): patched!
	2 substitution(s) made.
	- Looking for Lapic panic call Start
	Found Lapic panic (10.10 - recent macOS) at 0x002E374F
	Patched Lapic panic (10.10 - recent macOS)
	Found Lapic panic master (10.10 - recent macOS) at 0x002E3737
	Patched Lapic panic master (10.10 - recent macOS)
	Lapic Error call removed.
	- Patching kernel power management...
	Kernel power management patch 10.1x(data2) found and patched
	Kernel power management patch 10.12 DP1 found and patched
	Power Managment patch applied.
	Patching kernel [Item 0] (Disable panic loaded kexts list A) MatchOS[ 10.13.x,10.14.4,10.14.5,10.14.6,10.15.x ] MatchBuild[ not set ]: 
			User Error, Find is bigger than the hole data, patch skipped
Kernel patcher: end!

[ KEXTS PATCHER START ]
Unable to find the _PrelinkInfoDictionary, kexts patcher skipped.Kexts patcher: end!




	Patching AppleAHCIPort (orange icon fix): 3 substitutions made!
	Patching AppleAHCIPort [Item 0] (Fix ICH10 Hot-plug issue) MatchOS[ 10.13.x,1014.x,10.15.x ] MatchBuild[ not set ]: 0 substitutions made!
	Patching AppleAHCIPort [Item 1] (Fix ICH10 disk I/O error issue) MatchOS[ 10.13.x ] MatchBuild[ not set ]: 0 substitutions made!
	Patching AppleIntelCPUPowerManagement (locked msr):
	1 wrmsr patched at 0x90E7
	2 wrmsr patched at 0x919A
	3 wrmsr patched at 0x91B0
	4 wrmsr patched at 0x92CE
	5 wrmsr patched at 0x9BEF
	6 wrmsr patched at 0xA634
	7 wrmsr patched at 0xAA42
	8 wrmsr patched at 0x102DC
	9 wrmsr patched at 0x11723
	10 wrmsr patched at 0x12808
	  10 substitutions made!
	Patching AppleRTC: 0 substitutions made!
	Patching IOAHCIBlockStorage (trim enabler SATA): 1 substitutions made!

kernel+kexts.plist.zip

 

It seems the _PrelinkInfoDictionary issue on /i386/boot2/kernel_patcher_internal.c.

Do you know how to fix it?

    verbose("[ KEXTS PATCHER START ]\n");
    //int lessBytes = (int)((uncompressed_size/3)*2); // speedup, the _PrelinkInfoDictionary should not be 1/3 of entire cache!
    for (Index = 0/*lessBytes*/; Index < uncompressed_size; ++Index)
    {
        //scan for _PrelinkInfoDictionary
        if (Bytes[Index]         == 0x3C
            && Bytes[Index + 1]  == 0x64
            && Bytes[Index + 2]  == 0x69
            && Bytes[Index + 3]  == 0x63
            && Bytes[Index + 4]  == 0x74
            && Bytes[Index + 5]  == 0x3E
            && Bytes[Index + 6]  == 0x3C
            && Bytes[Index + 7]  == 0x6B
            && Bytes[Index + 8]  == 0x65
            && Bytes[Index + 9]  == 0x79
            && Bytes[Index + 10] == 0x3E
            && Bytes[Index + 11] == 0x5F
            && Bytes[Index + 12] == 0x50
            && Bytes[Index + 13] == 0x72
            && Bytes[Index + 14] == 0x65
            && Bytes[Index + 15] == 0x6C
            && Bytes[Index + 16] == 0x69
            && Bytes[Index + 17] == 0x6E
            && Bytes[Index + 18] == 0x6B
            && Bytes[Index + 19] == 0x49
            && Bytes[Index + 20] == 0x6E
            && Bytes[Index + 21] == 0x66
            && Bytes[Index + 22] == 0x6F
            && Bytes[Index + 23] == 0x44
            && Bytes[Index + 24] == 0x69
            && Bytes[Index + 25] == 0x63
            && Bytes[Index + 26] == 0x74
            && Bytes[Index + 27] == 0x69
            && Bytes[Index + 28] == 0x6F
            && Bytes[Index + 29] == 0x6E
            && Bytes[Index + 30] == 0x61
            && Bytes[Index + 31] == 0x72
            && Bytes[Index + 32] == 0x79
            && Bytes[Index + 33] == 0x3C
            && Bytes[Index + 34] == 0x2F
            && Bytes[Index + 35] == 0x6B
            && Bytes[Index + 36] == 0x65
            && Bytes[Index + 37] == 0x79
            && Bytes[Index + 38] == 0x3E)
        {
            Count++;
            prelinkDictStartLocation = Index;
            DBG("\tFound _PrelinkInfoDictionary at 0x%08X index = %d\n", (unsigned int)prelinkDictStartLocation, Index);
            canPatchKexts = true;
            break;
        }
    }

    if (prelinkDictStartLocation)
    {
        for (Index = prelinkDictStartLocation; Index < uncompressed_size; ++Index)
        {
            // end of prelink ( <> plus some zeros)
            if (Bytes[Index]         == 0x3C
                && Bytes[Index + 1]  == 0x2F
                && Bytes[Index + 2]  == 0x64
                && Bytes[Index + 3]  == 0x69
                && Bytes[Index + 4]  == 0x63
                && Bytes[Index + 5]  == 0x74
                && Bytes[Index + 6]  == 0x3E
                && Bytes[Index + 7]  == 0x00
                && Bytes[Index + 8]  == 0x00
                && Bytes[Index + 9]  == 0x00
                && Bytes[Index + 10] == 0x00
                && Bytes[Index + 11] == 0x00
                && Bytes[Index + 12] == 0x00
                && Bytes[Index + 13] == 0x00)
            {
                Count++;

                if ((Count = 2))
                {
                    canPatchKexts = true;
                    prelinkDictEndLocation = Index + 7 ;
                    DBG("\tFound _PrelinkInfoDictionary end location at 0x%08X index = %d\n", (unsigned int)prelinkDictEndLocation, Index);
                }
                break;
            }
        }
    }

 

 

 

Edited by crazybirdy

Share this post


Link to post
Share on other sites
15 hours ago, crazybirdy said:

 

Hi ErmaC,

 

The KernelPatches on kernel.plist, and KextsPatches on kexts.plist didn't work well.

Do you know how to solve it?

It seems "Unable to find the _PrelinkInfoDictionary" issue.

 

I can patch it manually, but on the fly didn't work

....

 

It seems the _PrelinkInfoDictionary issue on /i386/boot2/kernel_patcher_internal.c.

Do you know how to fix it?

 

Hi crazybird.

This occur on the new 10.15 (Catalina?) or also occur in previus macOS version like mojave or hSierra?

 

Not sure but probably the part on boot2/drivers.c (start from line1558) need to be update too... latest info are for HSierra!!! missed Mojave and Catalina (I think also the latest kernel info for HSierra is not completly correct)

 

ErmaC

 

Share this post


Link to post
Share on other sites
Posted (edited)
On 7/9/2019 at 3:48 AM, ErmaC said:

 

Hi crazybird.

This occur on the new 10.15 (Catalina?) or also occur in previus macOS version like mojave or hSierra?

 

Not sure but probably the part on boot2/drivers.c (start from line1558) need to be update too... latest info are for HSierra!!! missed Mojave and Catalina (I think also the latest kernel info for HSierra is not completly correct)

 

ErmaC

 

 

It still didn't work after update /i386/boot2/drivers.c

Enoch-r2922-10.15-v5.zip

 

I never use KernelPatches on kernel.plist, and KextsPatches on kexts.plist before.

This is the first time I use it.

 

And test with Enoch r2872, r2911 on 10.12 with KextsPatches on kexts.plist.

No lucky too.

Maybe it never work before.:)

 

 

Edited by crazybirdy
update Enoch-r2922-10.15-v5

Share this post


Link to post
Share on other sites
On 7/9/2019 at 3:24 AM, crazybirdy said:

And test with Enoch r2872, r2911 on 10.12 with KextsPatches on kexts.plist.

No lucky too.

Maybe it never work before.:)

 

Sorry...

As soon I can the latest changes&diff will be merged on the svn

Maybe someone can give a light... 

 

Cordially

 

ErmaC

Share this post


Link to post
Share on other sites

I can suggest to load the entire file until the end instead of searching for the last tag?

if (prelinkDictStartLocation)
{
	prelinkDictEndLocation = uncompressed_size;
}

or whatever is the end of the entire prelinkedkernel.

Share this post


Link to post
Share on other sites
Posted (edited)
11 hours ago, vector sigma said:

I can suggest to load the entire file until the end instead of searching for the last tag?


if (prelinkDictStartLocation)
{
	prelinkDictEndLocation = uncompressed_size;
}

or whatever is the end of the entire prelinkedkernel.

 

My bad, it's not i386/boot2/kernel_patcher_internal.c issue.

"Unable to find the _PrelinkInfoDictionary" is always happened with -f.

 

It seems to be i386/libsaio/binaryPatcher.c issue.

TagPtr FindPtr    = XMLGetProperty(index, (const char*)"Find");
TagPtr ReplacePtr = XMLGetProperty(index, (const char*)"Replace");

It seems can't patch with correct "Find" and "Replace".

01.gif.e6b102cf70c3df295053b46dc5282d6d.gif

 

10126-bdmesg.zip

Need your help to fix it.:)

 

FYI.

i386/boot2/kernel_patcher_internal.c

unsigned int patch_AppleAHCIPort_OrangeFix(void *data, UInt32 DriverSize, UInt32 StartLocation)
{
    // as far as I know this works from lion onward
    UInt8   Find[]    = { 0x45, 0x78, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C };
    UInt8   Replace[] = { 0x49, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C };
    unsigned int count = FindAndReplace(data,
                                        DriverSize,
                                        StartLocation,
                                        Find,
                                        sizeof(Find),
                                        Replace,
                                        0);
    
    return count;
}

 

Edited by crazybirdy

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Slice
      OK, 4988 released.
      Now, @vector sigma, what have we do to update translations?
    • By vit9696
      OpenCorePkg / Documentation / Configuration Template / Bugtracker   Discussion and installation should be done in a separate thread! This thread is for development only!
      Current status as of April 2019: Support for UEFI and DuetPkg (legacy) booting APFS and HFS+ compatibility ACPI patcher (adding, dropping, binary patching, relocation) Apple-compatible bless implementation DeviceProperties injection DataHub and SMBIOS generation Symbolic kext and kernel patcher Direct kext injection/patching/blocking within prelinkedkernel Installation/Recovery/FileVault 2 support  Configuration in config.plist with open documentation Simple boot picker for quick launch Direct boot from dmg images  
      Known defects live here.  
      For those, who are not familiar with the history, OpenCore is a project initially born in HermitCrabs Lab that unfortunately almost died before its birth. This release is both a rebirth and a complete rewrite of OpenCore, which brings a number of new ideas, and tries to preserve the smart moves incorporated by iNDi and his team. Other than that, I wish to express my deepest words of gratitude to Acidanthera and WWHC members: your participation was and remains the key for project success, and you are simply the best.
    • By cvad
      View File Bootdisk Utility
      Make bootable USB Flash Disk for MAC OS X with Latest Clover bootloader revision fast and easy by one click! under OS Windows.
      Special utility from cvad & russian MAC community for new hackintosh users.
       
      Enjoy...
       
      For more information and complete instructions please see this topic.
       
       
       
       
      Feel free to "Rate File"
      Submitter cvad Submitted 04/28/2013 Category Bootloaders  
    • By dgsga
      Can I propose a new subforum be created for the new OpenCorePkg OpenCore front end being created by vit9696 and others, it is a fantastic piece of work:
      https://github.com/acidanthera/OpenCorePkg
      Even at version 0.1 it runs my Mojave 10.14.4 setup very nearly flawlessly. It consists of a 10KB bootstrap BootX64.efi and a 200KB OpenCore.efi OS loader. All configuration is done using a very well documented config.plist 
       
       
×