Jump to content
30960 posts in this topic

Recommended Posts

All my hackintoshes had black background. I saw gray apple in random cases.

The thing is when I use verbose boot the second stage usually loads in grey otherwise it will load in black on my rigs.

Monitor OFF, but PC still working ;(

Try This one ?

EDIT ****

if not working you have to follow some explanation about your ➤  NForce mobo for patching DSDT nForce motherboard

Good luck  B)

EDIT ****  2

Maybe ask for help from MaLd0n for patching DSDT

DSDT.aml.zip

So... I have made some progress without doing what you have suggested. Because since my ethernet NICs are on-board I do not think this would work.

 

I created a SSDT:

External (_SB_.PCI0, DeviceObj)    // (from opcode)
    External (_SB_.PCI0.PEX0.BR1B, DeviceObj)    // (from opcode)
    External (_SB_.PCI0.PEX1, DeviceObj)    // (from opcode)
    External (DTGP, MethodObj)    // 5 Arguments (from opcode)

    Scope (\_SB.PCI0.PEX0.BR1B)
    {
        Name (_STA, Zero)  // _STA: Status
    }

    Device (_SB.PCI0.PEX0.ETH0)
    {
        Name (_ADR, Zero)  // _ADR: Address
        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            If (LEqual (Arg2, Zero))
            {
                Return (Buffer (One)
                {
                     0x03                                           
                })
            }

            Store (Package (0x14)
                {
                    "AAPL,slot-name", 
                    "Built In", 
                    "model", 
                    Buffer (0x0D)
                    {
                        "Intel 82574L"
                    }, 

                    "built-in", 
                    Buffer (One)
                    {
                         0x00                                           
                    }, 

                    "device-id", 
                    Buffer (0x04)
                    {
                         0xF6, 0x10, 0x00, 0x00                         
                    }, 

                    "vendor-id", 
                    Buffer (0x04)
                    {
                         0x86, 0x80, 0x00, 0x00                         
                    }, 

                    "subsystem-vendor-id", 
                    Buffer (0x04)
                    {
                         0x00, 0x00, 0x00, 0x00                         
                    }, 

                    "subsystem-id", 
                    Buffer (0x04)
                    {
                         0x00, 0x00, 0x00, 0x00                         
                    }, 

                    "device_type", 
                    Buffer (0x09)
                    {
                        "ethernet"
                    }, 

                    "location", 
                    Buffer (0x02)
                    {
                        "1"
                    }, 

                    "name", 
                    Buffer (0x09)
                    {
                        "ethernet"
                    }
                }, Local0)
            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
            Return (Local0)
        }
    }

Took the Intel82574L.kext from System/Library/Extensions/IONetworkingFamily.kext/Contents/Plugins and added it to Clover/kexts/Other and rebooted. This didn't work either so I tried editing the info.plist from Intel82574L.kext to change IOPCIPrimaryMatch Key value to IOPCIMatch and that also didn't work, then I noticed there was a secondary matching Key value which is IOPCISecondaryMatch and deleted that entry completely and rebooted and "BOOM" it worked. Now I am trying to figure out how to patch IOPCIPrimaryMatch to IOPCIMatch and to remove a key value completely using KextsToPatch Info.plist in Clover.

  • Like 1

Ok finally got to work, I found out that you do not need to rename IOPCIPrimaryMatch to IOPCIMatch, all you have to do is rename IOPCISecondaryMatch to something of the same length of characters so the patch is as follows to make Intel 82574L Ethernet NICs to work with the native kext:

<key>ForceKextsToLoad</key>
<array>
<string>\System\Library\Extensions\IONetworkingFamily.kext\Contents\PlugIns\Intel82574L.kext</string>
</array>

Then:

<key>KextsToPatch</key>
<array>
<dict>
<key>Comment</key>
<string>Remove IOPCISecondaryMatch</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
SU9QQ0lTZWNvbmRhcnlNYXRjaA==
</data>
<key>InfoPlistPatch</key>
<true/>
<key>Name</key>
<string>Intel82574L</string>
<key>Replace</key>
<data>
SURPTk9Ud2FudHRvbG9hZHRoaQ==
</data>
</dict>
</array>

With the following in a SSDT:

Device (_SB.PCI0.PEX0.ETH0)
    {
        Name (_ADR, Zero)  // _ADR: Address
        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            If (LEqual (Arg2, Zero))
            {
                Return (Buffer (One)
                {
                     0x03                                           
                })
            }

            Store (Package (0x14)
                {
                    "AAPL,slot-name", 
                    "Built In", 
                    "model", 
                    Buffer (0x0D)
                    {
                        "Intel 82574L"
                    }, 

                    "built-in", 
                    Buffer (One)
                    {
                         0x00                                           
                    }, 

                    "device-id", 
                    Buffer (0x04)
                    {
                         0xF6, 0x10, 0x00, 0x00                         
                    }, 

                    "vendor-id", 
                    Buffer (0x04)
                    {
                         0x86, 0x80, 0x00, 0x00                         
                    }, 

                    "subsystem-vendor-id", 
                    Buffer (0x04)
                    {
                         0x00, 0x00, 0x00, 0x00                         
                    }, 

                    "subsystem-id", 
                    Buffer (0x04)
                    {
                         0x00, 0x00, 0x00, 0x00                         
                    }, 

                    "device_type", 
                    Buffer (0x09)
                    {
                        "ethernet"
                    }, 

                    "location", 
                    Buffer (0x02)
                    {
                        "1"
                    }, 

                    "name", 
                    Buffer (0x09)
                    {
                        "ethernet"
                    }
                }, Local0)
            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
            Return (Local0)
        }
    }

Quick question:  is there any way to mount the EFI partition from the Terminal?

 

Right now I use Clover Configurator, and Google has also shown me another GUI app "EFI Mounter v3". 

 

But is there no command I can use from the command line?

 

Thanks.

Quick question:  is there any way to mount the EFI partition from the Terminal?

 

Right now I use Clover Configurator, and Google has also shown me another GUI app "EFI Mounter v3". 

 

But is there no command I can use from the command line?

 

Thanks.

 

use "diskuti list" to see all the disks and partitions

 

diskutil mount disk0s1

 

where disk0 is the disk that you want to mount the EFI partition of and s1 is the identifier of the EFI partition

 

e.g

 

 

/dev/disk0 (internal, physical):

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:      GUID_partition_scheme                        *240.1 GB   disk0

   1:                        EFI EFI                     209.7 MB   disk0s1

   2:                 Apple_APFS Container disk4         239.8 GB   disk0s2

 

 

  • Like 1

Quick question:  is there any way to mount the EFI partition from the Terminal?

 

Right now I use Clover Configurator, and Google has also shown me another GUI app "EFI Mounter v3". 

 

But is there no command I can use from the command line?

 

Thanks.

diskutil list

 

diskutil Mount /dev/disk0s1

  • Like 1

Sorry if this was already discussed but I'm wondering it it's possible to change the black boot screen(white apple/black background) to the gray one like real macs.

 

Any news? I did some experiment according grey boot last year. I gave up and abandon that thread. Please share your experiences..

 

Yes, "DefaultBackgroundColor" wil get deleted everyboot & not taking any effect with 0x00bfbfbf value.

FP.D79E3F20[\System\Library\PrelinkedKernels\prelinkedkernel].Close() = Success
->SetVariable(DefaultBackgroundColor, gEfiAppleNvramGuid, 0, 0, 0) = Not Found

For me, default "gBootArgs->flags" would be 0x41 (kBootArgsFlagRebootOnPanic | kBootArgsFlagBlackBg).

By manually storing that flags without kBootArgsFlagBlackBg, I got greyed boot and then black again.

  • Like 1

Any news? I did some experiment according grey boot last year. I gave up and abandon that thread. Please share your experiences..

 

Yes, "DefaultBackgroundColor" wil get deleted everyboot & not taking any effect with 0x00bfbfbf value.

FP.D79E3F20[\System\Library\PrelinkedKernels\prelinkedkernel].Close() = Success
->SetVariable(DefaultBackgroundColor, gEfiAppleNvramGuid, 0, 0, 0) = Not Found

For me, default "gBootArgs->flags" would be 0x41 (kBootArgsFlagRebootOnPanic | kBootArgsFlagBlackBg).

By manually storing that flags without kBootArgsFlagBlackBg, I got greyed boot and then black again.

I abandoned this too, I'll let it black...

  • Like 1

It is possible to print out the versions of loaded drivers in LoadDrivers() too?

They have no version string. There are only two versions new and bad.

If you somehow want to keep old drivers then you may copy drivers64UEFi folder to drivers64UEFI_rev4415 and keep it proposing all newer version will be wrong. It is not true.

  • Like 1

They have no version string. There are only two versions new and bad.

If you somehow want to keep old drivers then you may copy drivers64UEFi folder to drivers64UEFI_rev4415 and keep it proposing all newer version will be wrong. It is not true.

Thanks for the advice, I was just curious to read out the version.. According to specification, the drivers (should) have versions...

  • Like 1

Thanks for the advice, I was just curious to read out the version.. According to specification, the drivers (should) have versions...

This is version of the specification

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = AtaAtapiPassThruDxe
  MODULE_UNI_FILE                = AtaAtapiPassThruDxe.uni
  FILE_GUID                      = 5E523CB4-D397-4986-87BD-A6DD8B22F455
  MODULE_TYPE                    = UEFI_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = InitializeAtaAtapiPassThru

Source Forge  remote Clover works good here 

 just do this  :)

 

mkdir Test

cd ~/Test

svn co svn://svn.code.sf.net/p/cloverefiboot/code Clover

Yeah it works for me too, but not everytime.

buildclover command isn't working, but if you update the code with svn up, then compile with command it's ok.

  • Like 1

Guys, I want to test the boot flag -nehalem_error_disable

In Clover Configurator, do I add that as typed above: -nehalem_error_disable

Or do I add it as: nehalem_error_disable ?

Looking at the default boot flags provided by Configurator, some are -flag and some are just flag, no - before it. I'd expect a flag to normally have a - so maybe this is just how Configurator is displaying some of them inconsistently.

I'm currently booted with -nehalem_error_disable added as follows:

oSp0j6M.png

My guess is that this is the correct way, but I wanted to ask to be sure, as I have no other way of confirming if the flag applied or not (I'm trying it on my X58 system as I've heard it's sometimes required/helpful on systems with SMBIOs 5.1.)

Guys, I want to test the boot flag -nehalem_error_disable

 

In Clover Configurator, do I add that as typed above: -nehalem_error_disable

 

Or do I add it as: nehalem_error_disable ?

 

Looking at the default boot flags provided by Configurator, some are -flag and some are just flag, no - before it. I'd expect a flag to normally have a - so maybe this is just how Configurator is displaying some of them inconsistently.

 

I'm currently booted with -nehalem_error_disable added as follows:

 

oSp0j6M.png

 

My guess is that this is the correct way, but I wanted to ask to be sure, as I have no other way of confirming if the flag applied or not (I'm trying it on my X58 system as I've heard it's sometimes required/helpful on systems with SMBIOs 5.1.)

-nehalem_error_disable is the right flag.

  • Like 2

Clover_v4369/MatchOS not working:

 

[OS: 10.13.2 | MatchOS: 10.12.x, 10.13.x | MatchBuild: All] ==> not allowed

0:100  0:000  Now is 21.2.2018,  21:16:59 (GMT)
0:100  0:000  Starting Clover revision: 4369 on American Megatrends EFI

14:193  0:000  Filtering KextPatches:
14:193  0:000   - [00]: com.apple.driver.AppleHDA (t1-10.8-AppleHDA-Realtek-ALC1150) :: BinPatch :: [OS: 10.13.2 | MatchOS: All | MatchBuild: All] ==> allowed
14:193  0:000   - [01]: com.apple.driver.AppleHDA (t1-AppleHDA-Resources-xml>zml-(cloverALC-all_codecs)) :: BinPatch :: [OS: 10.13.2 | MatchOS: All | MatchBuild: All] ==> allowed
14:193  0:000   - [02]: com.apple.driver.AppleHDA (t1-10.12-AppleHDA-Realtek-ALC...(cloverALC-all_codecs)) :: BinPatch :: [OS: 10.13.2 | MatchOS: 10.12.x, 10.13.x | MatchBuild: All] ==> not allowed
14:193  0:000   - [03]: com.apple.driver.AppleHDA (t1-10.11-AppleHDA-Realtek-ALC...(cloverALC-all_codecs)) :: BinPatch :: [OS: 10.13.2 | MatchOS: 10.11.x | MatchBuild: All] ==> not allowed

Suggestions?

 

 

Clover_v4369/MatchOS not working:

 

[OS: 10.13.2 | MatchOS: 10.12.x, 10.13.x | MatchBuild: All] ==> not allowed

0:100  0:000  Now is 21.2.2018,  21:16:59 (GMT)
0:100  0:000  Starting Clover revision: 4369 on American Megatrends EFI

14:193  0:000  Filtering KextPatches:
14:193  0:000   - [00]: com.apple.driver.AppleHDA (t1-10.8-AppleHDA-Realtek-ALC1150) :: BinPatch :: [OS: 10.13.2 | MatchOS: All | MatchBuild: All] ==> allowed
14:193  0:000   - [01]: com.apple.driver.AppleHDA (t1-AppleHDA-Resources-xml>zml-(cloverALC-all_codecs)) :: BinPatch :: [OS: 10.13.2 | MatchOS: All | MatchBuild: All] ==> allowed
14:193  0:000   - [02]: com.apple.driver.AppleHDA (t1-10.12-AppleHDA-Realtek-ALC...(cloverALC-all_codecs)) :: BinPatch :: [OS: 10.13.2 | MatchOS: 10.12.x, 10.13.x | MatchBuild: All] ==> not allowed
14:193  0:000   - [03]: com.apple.driver.AppleHDA (t1-10.11-AppleHDA-Realtek-ALC...(cloverALC-all_codecs)) :: BinPatch :: [OS: 10.13.2 | MatchOS: 10.11.x | MatchBuild: All] ==> not allowed

Suggestions?

 

r4416 is no problem

com.apple.iokit.IONVMeFamily (10.13::External NVMe icon) :: BinPatch :: [OS: 10.13.4 | MatchOS: 10.13.x | MatchBuild: All] ==> allowed

  • Like 1

r4416 is no problem

com.apple.iokit.IONVMeFamily (10.13::External NVMe icon) :: BinPatch :: [OS: 10.13.4 | MatchOS: 10.13.x | MatchBuild: All] ==> allowed

It says that, but does it really patch?

The following doesn't work anymore after r4291 (I think)...

<key>KextsToPatch</key>                                         
                <array>                                                         
                        <dict>                                                  
                                <key>Comment</key>                              
                                <string>Boot screen fix</string>                
                                <key>Find</key>                                 
                                <data>AQAAdSI=</data>                           
                                <key>Name</key>                                 
                                <string>com.apple.iokit.IOGraphicsFamily</string>
                                <key>Replace</key>                              
                                <data>AQAA6yI=</data>                           
                        </dict>                                                 
                </array>     

It says that, but does it really patch?

The following doesn't work anymore after r4291 (I think)...

<key>KextsToPatch</key>                                         
                <array>                                                         
                        <dict>                                                  
                                <key>Comment</key>                              
                                <string>Boot screen fix</string>                
                                <key>Find</key>                                 
                                <data>AQAAdSI=</data>                           
                                <key>Name</key>                                 
                                <string>com.apple.iokit.IOGraphicsFamily</string>
                                <key>Replace</key>                              
                                <data>AQAA6yI=</data>                           
                        </dict>                                                 
                </array>     
Did you rebuild cache?

 

나의 LG-F800S 의 Tapatalk에서 보냄

Did you rebuild cache?

 

나의 LG-F800S 의 Tapatalk에서 보냄

Even though I don't think it is necessary, I did rebuild cache. It doesn't work with this message:

4:005  0:000  === [ StartLoader ] =======================================
4:005  0:000  Finally: ExternalClock=25MHz BusSpeed=100294kHz CPUFreq=4300MHz PIS: hw.busfrequency=100000000Hz
4:005  0:000  Loading boot.efi  status=Success
4:079  0:074  GetOSVersion: 10.13.3 (17D102)
4:079  0:000  Filtering KextPatches:
4:079  0:000   - [00]: com.apple.iokit.IOGraphicsFamily (Boot screen fix) :: BinPatch :: [OS: 10.13.3 | MatchOS: All | MatchBuild: All] ==> allowed
4:079  0:000  Will not patch boot.efi
4:079  0:000  EmuVariable InstallEmulation: orig vars copied, emu.var.services installed, CreateEvent VirtualAddressChange = Success, CreateEvent ExitBootServices = Success, set Status=Success

 

Even though I don't think it is necessary, I did rebuild cache. It doesn't work with this message:

4:005  0:000  === [ StartLoader ] =======================================
4:005  0:000  Finally: ExternalClock=25MHz BusSpeed=100294kHz CPUFreq=4300MHz PIS: hw.busfrequency=100000000Hz
4:005  0:000  Loading boot.efi  status=Success
4:079  0:074  GetOSVersion: 10.13.3 (17D102)
4:079  0:000  Filtering KextPatches:
4:079  0:000   - [00]: com.apple.iokit.IOGraphicsFamily (Boot screen fix) :: BinPatch :: [OS: 10.13.3 | MatchOS: All | MatchBuild: All] ==> allowed
4:079  0:000  Will not patch boot.efi
4:079  0:000  EmuVariable InstallEmulation: orig vars copied, emu.var.services installed, CreateEvent VirtualAddressChange = Success, CreateEvent ExitBootServices = Success, set Status=Success

 

log is good. i tested binary patches are good working. i don't use boot screen fix patch. i use Lilu.kext+IntelGraphicsFixup.kext

  • Like 2
×
×
  • Create New...