Jump to content

Ozmosis


xpamamadeus
6,231 posts in this topic

Recommended Posts

In following the guide in the OP of this thread in an attempt to create a bios for an Asus H97M-E/CSM I run into a consistent 2k oversize.

 

It seems that people generating custom bios for folks on the german hackintosh-forum.de site are running into the same thing, the one I downloaded for this board from crusher there is showing the same issue.

 

The factory bios is 8192 kb, after putting everything into MMTool per the guide here, deleting FileSystem and compressing CORE_DXE, MMTool spits out a bios file that is 8194kb.

 

I have a AFUDOS capable of flashing the board with /GAN, just can't generate a properly sized bios.

 

Am I missing something obvious?

 

Here's the link to the current factory bios...

 

http://dlcdnet.asus.com/pub/ASUS/mb/LGA1150/H97M-E/H97M-E-ASUS-2702.zip

 

Not sure if it helps, but I took the original and the one generated by crusher, also assumingly with MMTool since it came out the same size as mine, and diff'd them, but don't know what I might be looking for...

 

http://pastebin.com/RKQYyLfy

Pay attention to use factory bios instead original one.

IN asus bios there are some information like mac address, serial number, GUID that are belonged only to this specific mainboard.

You can use two ways, first one, use CodeRush program ti save information from original bios and put it back into new one.

make backup and modify backup, use spi programmer to read original and put it back.

If your mobo have biosflashback, you can use it to program modified bios.

  • Like 1
Link to comment
Share on other sites

Thanks guys.  With my old version of afudos that seems to properly bypass the security settings, am I correct in assuming that if I dump my old bios with that, make the changes, and then put it back it should work?

Link to comment
Share on other sites

Answered my own question, works fine.

 

FLashed using old afudos after extracting the ROM from the one for the H97M-E (2702, 167x-MASS) posted on hackintosh-forum.de, booted right up, installed el capitan stock just fine..

 

Now just to make a plist to get my old serial numbers in, get this nvidia card working, and re-flash.

 

Thanks everyone!

 

Asus bios after first boot will give a warning about an invalid bios, just go into the bios after flashing, delete secure boot keys to disable secure boot, and that was it.

Link to comment
Share on other sites

Hi all!

i'm back to Ozmosis with a Z97M-DS3H F7, and i just whant to know how this board can run EL CAPITAN on it! My signature is updated, and i'm running 10.9.5 with 894M without any DSDT patch!

Link to comment
Share on other sites

z97m-ds3h f7 is fine im running sierra now with a 4790/hd4600 i just with it had more fan headers

Link to comment
Share on other sites

https://www.dropbox.com/s/2y12ylrh024vj9f/Z97XGGGT.F7.zip?dl=0   oz rom ready to flash. you will need to change your defaults.plist at some point for sierra because you wont be able to use MacPro3,1 smbios

  • Like 1
Link to comment
Share on other sites

Lo,

 

If you want to do that, just extract smcemulator with UEFITools extract body.

With hex editor you'll see at the beginning of file : info.plist struct and binary file just after end of xml separate with one byte 0x00.

 

Fred 

  • Like 1
Link to comment
Share on other sites

@cecekpawon

Hi! 

I have no sound with AppleALC even if i have patched DSDT for ALC887, and the problem is when i place AppleALC.kext in: Efi/ Oz/ Darwin/ Extension/ Common/ , then i have Black screen when Ozmosis need to boot in OS X.

I don't know how to get sound up, but no other kexts for Sound worked for me!

Please need some help!

Link to comment
Share on other sites

I double checked original bash Kext2Ffs & found efi2ffs function have fixed GUID which belong to HfsPlus.efi only. So I mod Kext2Ffs batch script again by redefining known apps & drivers. Tested & works great with HermitShellX64.efi & HfsPlus.efi so far. The last mystery left is how to bundle theme with its GUID :no:

 

cc: FredWst, crusher.

  • Like 1
Link to comment
Share on other sites

Yes will do I need to inject Layout-ID thats it.

I have extracted DSDT with MaciASl and I can see a where it saying about device(HDEF)

Device (HDEF)
        {
            Name (_ADR, 0x001B0000)
            OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
            Field (HDAR, WordAcc, NoLock, Preserve)
            {
                DCKA,   1, 
                        Offset (0x01), 
                DCKM,   1, 
                    ,   6, 
                DCKS,   1, 
                        Offset (0x08), 
                        Offset (0x09), 
                PMEE,   1, 
                    ,   6, 
                PMES,   1
            }

            Method (_PRW, 0, NotSerialized)
            {
                Return (GPRW (0x0D, 0x04))
            }
        }

Is this portion I need to edit? if so which code I need to replace it with above?

Thank you

Link to comment
Share on other sites

Yes will do I need to inject Layout-ID thats it.

I have extracted DSDT with MaciASl and I can see a where it saying about device(HDEF)

Device (HDEF)
        {
            Name (_ADR, 0x001B0000)
            OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
            Field (HDAR, WordAcc, NoLock, Preserve)
            {
                DCKA,   1, 
                        Offset (0x01), 
                DCKM,   1, 
                    ,   6, 
                DCKS,   1, 
                        Offset (0x08), 
                        Offset (0x09), 
                PMEE,   1, 
                    ,   6, 
                PMES,   1
            }

            Method (_PRW, 0, NotSerialized)
            {
                Return (GPRW (0x0D, 0x04))
            }
        }

Is this portion I need to edit? if so which code I need to replace it with above?

Thank you

 

Hi,

 

Take a look here : http://www.insanelymac.com/forum/topic/291655-ozmosis/page-1

 

First it's better to extract DSDT from Bios instead of memory, because of region fix. (Does not exist in Oz, could have some trouble if you change parameter of bios)

You'll need to add method DSM and DTGP, which is explain in DSDT section.

 

Example HDEF.

           Device (HDEF)
            {
                Name (_ADR, 0x001B0000)  // _ADR: Address
                OperationRegion (HDAR, PCI_Config, Zero, 0x0100)
                Field (HDAR, AnyAcc, NoLock, Preserve)
                {
                    VID0,   16, 
                    Offset (0x4C), 
                    DCKA,   1, 
                    Offset (0x4D), 
                    DCKM,   1, 
                        ,   6, 
                    DCKS,   1, 
                    Offset (0x54), 
                    Offset (0x55), 
                    PMEE,   1, 
                        ,   6, 
                    PMES,   1
                }
 
                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    If (LEqual (Arg0, ToUUID ("a0b5b7c6-1318-441c-b0c9-fe695eaf949b")))
                    {
                        If (LNotEqual (And (VID0, 0xFFFF), 0xFFFF))
                        {
                            Store (Package (0x0E)
                                {
                                    "MaximumBootBeepVolume", 
                                    Buffer (One)
                                    {
                                         0x4D                                             /* M */
                                    }, 
 
                                    "MaximumBootBeepVolumeAlt", 
                                    Buffer (One)
                                    {
                                         0x00                                             /* . */
                                    }, 
 
                                    "platformFamily", 
                                    Buffer (One)
                                    {
                                         0x00                                             /* . */
                                    }, 
 
                                    "AFGLowPowerState", 
                                    Buffer (0x04)
                                    {
                                         0x01, 0x00, 0x00, 0x00                           /* .... */
                                    }, 
 
                                    "layout-id", 
                                    Buffer (0x04)
                                    {
                                         0x01, 0x00, 0x00, 0x00                           /* .... */
                                    }, 
 
                                    "hda-gfx", 
                                    Buffer (0x0A)
                                    {
                                        "onboard-1"
                                    }, 
 
                                    "PinConfigurations", 
                                    Buffer (Zero) {}
                                }, Local0)
                            DTGP (Arg2, RefOf (Local0))
                            Return (Local0)
                        }
                    }
 
                    Return (Zero)
                }
 
                Alias (PWD4, _PRW)
          }

Example DTGP.

   Method (DTGP, 2, NotSerialized)
    {
        If (LEqual (Arg0, Zero))
        {
            Store (Buffer (One)
                {
                     0x03                                             /* . */
                }, Arg1)
        }
    }

Fred

  • Like 2
Link to comment
Share on other sites

Yes, into something like this:

 

 

 

Device (HDEF)
{
    Name (_ADR, 0x001B0000)
    OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
    Field (HDAR, WordAcc, NoLock, Preserve)
    {
        DCKA,   1, 
                Offset (0x01), 
        DCKM,   1, 
            ,   6, 
        DCKS,   1, 
                Offset (0x08), 
                Offset (0x09), 
        PMEE,   1, 
            ,   6, 
        PMES,   1
    }

    Method (_PRW, 0, NotSerialized)
    {
        Return (GPRW (0x0D, 0x04))
    }

    Method (_DSM, 4, NotSerialized)
    {
        If (LEqual (Arg2, Zero))
        {
            Return (Buffer (One)
            {
                 0x03
            })
        }

        Return (Package (0x06)
        {
            "layout-id", 
            Buffer (0x04)
            {
                 0x01, 0x00, 0x00, 0x00
            }, 

            "PinConfigurations", 
            Buffer (Zero) {}, 
            "MaximumBootBeepVolume", 
            Buffer (One)
            {
                 0x40
            }
        })
    }
}

 

 

 

Fred: is DSDT2BIOS can handle oversized length of new generated dsdt.aml? How to tricks?

  • Like 1
Link to comment
Share on other sites

Yes will do I need to inject Layout-ID thats it.

I have extracted DSDT with MaciASl and I can see a where it saying about device(HDEF)

Is this portion I need to edit? if so which code I need to replace it with above?

Thank you

Use OZMTool and extract DSDT later put patch for HDEF.

Use this command

./OZMTool --dsdtextract --out outputdir --input OZMBIOS_or_BIOS.ROM

OZMTool

 

After make your DSDT use this command

./OZMTool --dsdtinject --input BIOS.ROM --dsdt DSDT.aml --out outputfile
  • Like 2
Link to comment
Share on other sites

×
×
  • Create New...