Jump to content
30960 posts in this topic

Recommended Posts

Wow

EDIT

Just added to Enoch too, thanks

 

 

// sherlocks: 10.12.DP1
        else if (KernelLapicError
                 && (bytes[i+0] == 0x65
                     && bytes[i+1] == 0x8B
                     && bytes[i+2] == 0x0C
                     && bytes[i+3] == 0x25
                     && bytes[i+4] == 0x1C
                     && bytes[i+5] == 0x00
                     && bytes[i+6] == 0x00
                     && bytes[i+7] == 0x00
                     && bytes[i+1409] == 0x65
                     && bytes[i+1410] == 0x8B
                     && bytes[i+1411] == 0x0C
                     && bytes[i+1412] == 0x25
                     && bytes[i+1413] == 0x1C
                     && bytes[i+1414] == 0x00
                     && bytes[i+1415] == 0x00
                     && bytes[i+1416] == 0x00))
        {
            patchLocation = i+1398;
            DBG("\t\tFound Sierra Lapic panic at 0x%08x\n", (unsigned int)patchLocation);
            break;
        }

 

 

  • Like 1

I'm making modification to Pandora, Clover Enoch at same time :smoke:

 

Clover is nearly to boot a "restored" installer, but black screen with "createinstallmedia". Enoch can boot both, but I cannot reach the installer GUI... I have to finish the job...

I can confirm that the lapic panic is gone in Enoch, so can assume it will for Clover too. But not yet booted.

I'm making modification to Pandora, Clover Enoch at same time :smoke:

 

Clover is nearly to boot a "restored" installer, but black screen with "createinstallmedia". Enoch can boot both, but I cannot reachthe installer GUI... I have to finish the job...

I can confirm that the lapic panic is gone in Enoch, so can assume it will for Clover too. But not yet booted.

Okay. Anyway i made lapic code is no problem like el capitan.

 

Also Im trying to install sierra too.

 

Thanks

 

나의 LG-F410S 의 Tapatalk에서 보냄

can we figure out what causes this error for clover https://imgur.com/a/TTcVi

We dont have information about installing osx. What is use file? Kext and system, etc. Clover is good working in your screenshot. There are other problems

 

나의 LG-F410S 의 Tapatalk에서 보냄

I tested both versions CreateInstallMedia and Restore BaseSystem.dmg and copy over all needed Files. With Restore it stucks at iCloud Message even if you boot into single User Mode and load FakeSMC manually with kextload using CreateInstallMedia doesn´t make any difference at least it stucks at iCloud Message. Also it doesn´t make any difference if you use Clover or OZ both get stuck with the exactly same Message...

 

@pmcnano mentioned that he doesn´t succeed with the installer on a Quo Mainboard (OZ driven i guess) and used a cloned drive created with an original MAC. After installing required Kexts he was able to boot up which is evidence enough that KextInjection does not work anymore. I´ll guess we have to find a way to load FakeSMC early enough to bypass SMC related issues. 

Run OSInstall.mpkg on the desired volume (erase it firstly). Than I had to manually update the SystemVersion.plist (otherwise it keep the current version where are you running from).

It's a stupid method but for now works. And both Clover and Enoch (#3850) can run it with extensions in SLE.


Clover need a new patch to run extensions from the EFI folder:

////////////////////////////////////
//
// KernelBooterExtensionsPatch to load extra kexts besides kernelcache
//
//
UINT8   KBESnowSearch_i386[]   = { 0xE8, 0xED, 0xF9, 0xFF, 0xFF, 0xEB, 0x08, 0x89, 0x1C, 0x24 };
UINT8   KBESnowReplace_i386[]  = { 0xE8, 0xED, 0xF9, 0xFF, 0xFF, 0x90, 0x90, 0x89, 0x1C, 0x24 };
//E8 5A FB FF FF EB 08 48 89 DF
UINT8   KBESnowSearch_X64[]    = { 0xE8, 0x5A, 0xFB, 0xFF, 0xFF, 0xEB, 0x08, 0x48, 0x89, 0xDF };
UINT8   KBESnowReplace_X64[]   = { 0xE8, 0x5A, 0xFB, 0xFF, 0xFF, 0x90, 0x90, 0x48, 0x89, 0xDF };


UINT8   KBELionSearch_i386[]   = { 0xE8, 0xAA, 0xFB, 0xFF, 0xFF, 0xEB, 0x08, 0x89, 0x34, 0x24 };
UINT8   KBELionReplace_i386[]  = { 0xE8, 0xAA, 0xFB, 0xFF, 0xFF, 0x90, 0x90, 0x89, 0x34, 0x24 };

UINT8   KBELionSearch_X64[]    = { 0xE8, 0x0C, 0xFD, 0xFF, 0xFF, 0xEB, 0x08, 0x48, 0x89, 0xDF };
UINT8   KBELionReplace_X64[]   = { 0xE8, 0x0C, 0xFD, 0xFF, 0xFF, 0x90, 0x90, 0x48, 0x89, 0xDF };

UINT8   KBEMLSearch[]  = { 0xC6, 0xE8, 0x30, 0x00, 0x00, 0x00, 0xEB, 0x08, 0x48, 0x89, 0xDF };
UINT8   KBEMLReplace[] = { 0xC6, 0xE8, 0x30, 0x00, 0x00, 0x00, 0x90, 0x90, 0x48, 0x89, 0xDF };

//0xE8, 0x27, 0x00, 0x00, 0x00, 0xEB, 0x08, 0x48, 0x89, 0xDF }; @1ecfa4
//UINT8   KBEYosSearch[]  = {0xE8, 0x27, 0x00, 0x00, 0x00, 0xEB, 0x08, 0x48, 0x89, 0xDF };
//UINT8   KBEYosReplace[]  = {0xE8, 0x27, 0x00, 0x00, 0x00, 0x90, 0x90, 0x48, 0x89, 0xDF };

UINT8 KBEYosSearch[]  = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0xEB, 0x05, 0xE8, 0xCE, 0x02, 0x00, 0x00 };
UINT8 KBEYosReplace[] = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0x90, 0x90, 0xE8, 0xCE, 0x02, 0x00, 0x00 };

// as of El Capitan DP6
UINT8 KBEECSearch[]  = { 0xC3, 0x48, 0x85, 0xDB, 0x74, 0x70, 0x48, 0x8B, 0x03, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 };
UINT8 KBEECReplace[] = { 0xC3, 0x48, 0x85, 0xDB, 0xEB, 0x12, 0x48, 0x8B, 0x03, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 };

@Sherlock can you take a look?... With the lapic one you was really fast...

  • Like 3

Run OSInstall.mpkg on the desired volume (erase it firstly). Than I had to manually update the SystemVersion.plist (otherwise it keep the current version where are you running from).

It's a stupid method but for now works. And both Clover and Enoch (#3850) can run it with extensions in SLE.

 

Clover need a new patch to run extensions from the EFI folder:

////////////////////////////////////
//
// KernelBooterExtensionsPatch to load extra kexts besides kernelcache
//
//
UINT8   KBESnowSearch_i386[]   = { 0xE8, 0xED, 0xF9, 0xFF, 0xFF, 0xEB, 0x08, 0x89, 0x1C, 0x24 };
UINT8   KBESnowReplace_i386[]  = { 0xE8, 0xED, 0xF9, 0xFF, 0xFF, 0x90, 0x90, 0x89, 0x1C, 0x24 };
//E8 5A FB FF FF EB 08 48 89 DF
UINT8   KBESnowSearch_X64[]    = { 0xE8, 0x5A, 0xFB, 0xFF, 0xFF, 0xEB, 0x08, 0x48, 0x89, 0xDF };
UINT8   KBESnowReplace_X64[]   = { 0xE8, 0x5A, 0xFB, 0xFF, 0xFF, 0x90, 0x90, 0x48, 0x89, 0xDF };


UINT8   KBELionSearch_i386[]   = { 0xE8, 0xAA, 0xFB, 0xFF, 0xFF, 0xEB, 0x08, 0x89, 0x34, 0x24 };
UINT8   KBELionReplace_i386[]  = { 0xE8, 0xAA, 0xFB, 0xFF, 0xFF, 0x90, 0x90, 0x89, 0x34, 0x24 };

UINT8   KBELionSearch_X64[]    = { 0xE8, 0x0C, 0xFD, 0xFF, 0xFF, 0xEB, 0x08, 0x48, 0x89, 0xDF };
UINT8   KBELionReplace_X64[]   = { 0xE8, 0x0C, 0xFD, 0xFF, 0xFF, 0x90, 0x90, 0x48, 0x89, 0xDF };

UINT8   KBEMLSearch[]  = { 0xC6, 0xE8, 0x30, 0x00, 0x00, 0x00, 0xEB, 0x08, 0x48, 0x89, 0xDF };
UINT8   KBEMLReplace[] = { 0xC6, 0xE8, 0x30, 0x00, 0x00, 0x00, 0x90, 0x90, 0x48, 0x89, 0xDF };

//0xE8, 0x27, 0x00, 0x00, 0x00, 0xEB, 0x08, 0x48, 0x89, 0xDF }; @1ecfa4
//UINT8   KBEYosSearch[]  = {0xE8, 0x27, 0x00, 0x00, 0x00, 0xEB, 0x08, 0x48, 0x89, 0xDF };
//UINT8   KBEYosReplace[]  = {0xE8, 0x27, 0x00, 0x00, 0x00, 0x90, 0x90, 0x48, 0x89, 0xDF };

UINT8 KBEYosSearch[]  = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0xEB, 0x05, 0xE8, 0xCE, 0x02, 0x00, 0x00 };
UINT8 KBEYosReplace[] = { 0xE8, 0x25, 0x00, 0x00, 0x00, 0x90, 0x90, 0xE8, 0xCE, 0x02, 0x00, 0x00 };

// as of El Capitan DP6
UINT8 KBEECSearch[]  = { 0xC3, 0x48, 0x85, 0xDB, 0x74, 0x70, 0x48, 0x8B, 0x03, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 };
UINT8 KBEECReplace[] = { 0xC3, 0x48, 0x85, 0xDB, 0xEB, 0x12, 0x48, 0x8B, 0x03, 0x48, 0x89, 0xDF, 0xFF, 0x50, 0x28, 0x48 };
@Sherlock can you take a look?... With the lapic one you was really fast...
Is patch for kernel patch?

 

 

나의 LG-F410S 의 Tapatalk에서 보냄

Yes is for the kernel in bootstrap.cpp:

 

KLDBootstrap::readStartupExtensions(void)

{

    kernel_section_t * prelinkInfoSect = NULL// do not free

 

    OSKextLog(/* kext */ NULL,

        kOSKextLogProgressLevel |

        kOSKextLogGeneralFlag | kOSKextLogDirectoryScanFlag |

        kOSKextLogKextBookkeepingFlag,

        "Reading startup extensions.");

    

   /* If the prelink info segment has a nonzero size, we are prelinked

    * and won't have any individual kexts or mkexts to read.

    * Otherwise, we need to read kexts or the mkext from what the booter

    * has handed us.

    */

    prelinkInfoSect = getsectbyname(kPrelinkInfoSegment, kPrelinkInfoSection);

    if (prelinkInfoSect->size) {

        readPrelinkedExtensions(prelinkInfoSect);

    } else {

        readBooterExtensions();

    }

 

    loadKernelComponentKexts();

    loadKernelExternalComponents();

    readBuiltinPersonalities();

    OSKext::sendAllKextPersonalitiesToCatalog();

 

    return;

}

 

need a new patch location for a function that allow the booter to link kexts. Otherwise cannot load kexts from EFI/CLOVER/kexts, only from /S/L/E or /L/E

  • Like 2

Yes is for the kernel in bootstrap.cpp:

 

KLDBootstrap::readStartupExtensions(void)

 

need a new patch location for a function that allow the booter to link kexts. Otherwise cannot load kexts from EFI/CLOVER/kexts, only from /S/L/E or /L/E

Good information. Wait i will see this address and jmp(disable) this function.

 

나의 LG-F410S 의 Tapatalk에서 보냄

×
×
  • Create New...