Ami Aptio firmware (UEFI) dsdt firmware mod

Discussion in 'BIOS Mods' started by XpamAmAdEuS, Aug 13, 2013.

  1. XpamAmAdEuS

    XpamAmAdEuS MDL Novice

    Oct 24, 2009
    46
    15
    0
    U my savior :D

    I make modded bios from quo board sources and now i can boot original OSX without any modification needed to run.
    Its like go to apple store buy dvd and boot it :D :D:worthy:
     
  2. LatinMcG

    LatinMcG Bios Borker

    Feb 27, 2011
    5,711
    1,606
    180
    so u put fakesmc in EFI too ?
     
  3. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,081
    13,980
    340
    #24 Yen, Aug 22, 2013
    Last edited: Aug 22, 2013
    XpamAmAdEuS: Can you describe how you did the modifications and which modules, please?
    Thanks. :D
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. XpamAmAdEuS

    XpamAmAdEuS MDL Novice

    Oct 24, 2009
    46
    15
    0
    Using Mmtool u need to insert those modules from quo bios
    enhanced fat can replace filesystem driver
    other just insert.

    |006|EnhancedFat |961578FE-B6B7-44C3-AF35-6BC705CD2B1F|0002473F|00343A|DRVR|
    |008|HfsPlus |4CF484CD-135F-4FDC-BAFB-1AA104B48D36|00029E63|003712|DRVR|
    |089|HermitShellX64 |C57AD6B7-0515-40A8-9D21-551652854E37|001918D7|041753|APPN|
    |180|OzmosisDefaults|99F2839C-57C3-411E-ABC3-ADE5267D960D|004C5D3E|0000FC|FRFM|
    |181|OzmosisTheme |AC255206-DCF9-4837-8353-72BBBC0AC849|004C5E3A|026232|FRFM|
    |182|SmcEmulatorKext|DADE1001-1B31-4FE4-8557-26FCEFC78275|004EC06C|00859B|FRFM|
    |185|Ozmosis |AAE65279-0761-41D1-BA13-4A3C1383603F|004F7A77|01B3AF|DRVR|

    This its really cool bootloader but i cannot acess his GUI.
    For me everything work perfect without any customization,but it will be really good if we can acess gui of this ozmosis.
    With original board ozmosis bootmanager gui can be accessed using home button.
    Do u have a clue what files need to be modified to have acess to this.
    And other thing how to acess hermit shell?
     
  5. fr40

    fr40 MDL Member

    Aug 21, 2007
    156
    55
    10
    thank you men for your research, when you have time can make a how to guide please?, have good one!
     
  6. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,081
    13,980
    340
    This is too special to me to have an answer. The maker of the ozmosis port (custom BIOS) should be able to modify the code that it can be called with the home button on other devices, or is there another ozmosis module left to copy?

    Sorry, no idea. I personally did not use any mac os in my life. I am interested in how things are working though:)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  7. XpamAmAdEuS

    XpamAmAdEuS MDL Novice

    Oct 24, 2009
    46
    15
    0
    dont know if i have to copy more modules.
    I think that that control for starting aplications goes to some original not ozmosis modules from bios,but cannot find out what module its that.
     
  8. nexus76

    nexus76 MDL Addicted

    Jan 25, 2009
    788
    300
    30
    #29 nexus76, Aug 23, 2013
    Last edited by a moderator: Apr 20, 2017

    Attached Files:

    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. XpamAmAdEuS

    XpamAmAdEuS MDL Novice

    Oct 24, 2009
    46
    15
    0
    #30 XpamAmAdEuS, Aug 24, 2013
    Last edited by a moderator: Apr 20, 2017
    (OP)
  10. nexus76

    nexus76 MDL Addicted

    Jan 25, 2009
    788
    300
    30
    #31 nexus76, Aug 24, 2013
    Last edited: Aug 24, 2013
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  11. goldfinger

    goldfinger MDL Junior Member

    Dec 29, 2010
    90
    16
    0
    #32 goldfinger, Aug 24, 2013
    Last edited by a moderator: Apr 20, 2017
    This is really cool. Do you know if SMC emulator runs from UEFI space or from kernel space? I'm thinking that it loads the "fakesmc" from the firmware and injects it into the kernel so it works like FakeSMC.kext. Can you do "sudo kextstat | grep -i smc" from the terminal? Is the output similar to a real Mac like this? Or do you see smcemulator.kext in your output?

    Code:
       88    4 0xffffff7f809f8000 0xd000     0xd000     com.apple.driver.AppleSMC (3.1.4d2) <9 7 5 4 3>
       89    0 0xffffff7f81719000 0x5000     0x5000     com.apple.driver.AppleSMCLMU (2.0.3d0) <88 76 5 4 3>
       93    0 0xffffff7f80e09000 0x10000    0x10000    com.apple.driver.ACPI_SMC_PlatformPlugin (1.0.0) <92 88 84 10 9 7 6 5 4 3>
      100    0 0xffffff7f80df0000 0x3000     0x3000     com.apple.driver.AppleSMCPDRC (1.0.0) <84 10 6 4 3>
      110    0 0xffffff7f80a07000 0x7000     0x7000     com.apple.driver.SMCMotionSensor (3.0.3d1) <88 5 4 3>
    

    That Quo board looks exactly like a Gigabyte GA-Z77MX-D3H TH board but without the hideous Gigabyte color scheme :p. Is there anything special about it?

    Anyway, I think I have a new weekend project for my MSI board. :D
     
  12. nexus76

    nexus76 MDL Addicted

    Jan 25, 2009
    788
    300
    30
    #33 nexus76, Aug 24, 2013
    Last edited: Aug 24, 2013
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  13. LatinMcG

    LatinMcG Bios Borker

    Feb 27, 2011
    5,711
    1,606
    180
    likely u have to trim the fat off that dsdt.. i can help if u post dsdt
     
  14. nexus76

    nexus76 MDL Addicted

    Jan 25, 2009
    788
    300
    30
    #35 nexus76, Aug 24, 2013
    Last edited: Aug 24, 2013
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  15. LatinMcG

    LatinMcG Bios Borker

    Feb 27, 2011
    5,711
    1,606
    180
    #36 LatinMcG, Aug 24, 2013
    Last edited by a moderator: Apr 20, 2017
    i think this is the fat we dont need.. i need to trace it more .. give me 30 mins
    Code:
                Device (BAT0)
                {
                    Name (_HID, EisaId ("PNP0C0A"))
                    Name (_UID, Zero)
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (Zero)
                    }
                }
                Scope (\)
                {
                    Field (GNVS, AnyAcc, Lock, Preserve)
                    {
                                Offset (0x1E), 
                        BNUM,   8, 
                                Offset (0x20), 
                        B1SC,   8, 
                                Offset (0x23), 
                        B1SS,   8
                    }
                }
                Device (BAT1)
                {
                    Name (_HID, EisaId ("PNP0C0A"))
                    Name (_UID, One)
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (Zero)
                    }
                }
                Scope (\)
                {
                    Field (GNVS, AnyAcc, Lock, Preserve)
                    {
                                Offset (0x21), 
                        B2SC,   8, 
                                Offset (0x24), 
                        B2SS,   8
                    }
                }
                Device (BAT2)
                {
                    Name (_HID, EisaId ("PNP0C0A"))
                    Name (_UID, 0x02)
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (Zero)
                    }
                }
            }
        }
        Device (_SB.PCI0.DOCK)
        {
            Name (HID, "0x00001")
            Name (_CID, EisaId ("PNP0C15"))
            Name (_UID, 0x02)
            Method (_STA, 0, NotSerialized)
            {
                Return (Zero)
            }
        }
        Scope (_SB)
        {
            Device (LID0)
            {
                Name (_HID, EisaId ("PNP0C0D"))
                Method (_STA, 0, NotSerialized)
                {
                    Return (Zero)
                }
            }
        }
    ahh heres the code that calls the Bat0 and 1 if EC ON
    Code:
    If (LEqual (ECON, One))
            {
                Store (\_SB.PCI0.LPCB.H_EC.B1CC, B1SC)
                Store (\_SB.PCI0.LPCB.H_EC.B1ST, B1SS)
                Store (\_SB.PCI0.LPCB.H_EC.B2CC, B2SC)
                Store (\_SB.PCI0.LPCB.H_EC.B2ST, B2SS)
                If (LGreaterEqual (OSYS, 0x07D6)) // NOTICE IF OS IS NEWER THAN Vista it stores 81 not 80 so its optional but need to find rest
                {
                    Notify (\_SB.PCI0.LPCB.H_EC.BAT0, 0x81)
                    Notify (\_SB.PCI0.LPCB.H_EC.BAT1, 0x81)
                    Notify (\_SB.PCI0.LPCB.H_EC.BAT2, 0x81)
                }
                Else
                {
                    Notify (\_SB.PCI0.LPCB.H_EC.BAT0, 0x80)
                    Notify (\_SB.PCI0.LPCB.H_EC.BAT1, 0x80)
                    Notify (\_SB.PCI0.LPCB.H_EC.BAT2, 0x80)
                }
            }
    bah i have to do it from OS X .. this WIN dsdt editor drives me nuts with error not displayed
     
  16. nexus76

    nexus76 MDL Addicted

    Jan 25, 2009
    788
    300
    30
    #37 nexus76, Aug 24, 2013
    Last edited by a moderator: Apr 20, 2017
    yes it is but I have to kick off fakesmc now:

    Code:
    bash-3.2# sudo kextstat | grep -i smc
       15    4 0xffffff7f817d0000 0xe000     0xe000     org.netkas.FakeSMC (4.2.0) <9 7 5 4 3>
       73    2 0xffffff7f8141c000 0xf000     0xf000     com.apple.driver.AppleSMC (3.1.4d2) <9 7 5 4 3>
    after removing fakesmc from kext folder my usb-keyboard works and I get:

    Code:
    kextstat | grep -i smc
       29    0 0xffffff7f8211e000 0xa000     0xa000     org.netkas.FakeSMC (1.0.0d1) <9 7 5 4 3>
       61    2 0xffffff7f8142b000 0xf000     0xf000     com.apple.driver.AppleSMC (3.1.4d2) <9 7 5 4 3>
       62    0 0xffffff7f8143a000 0x10000    0x10000    com.apple.driver.ACPI_SMC_PlatformPlugin (1.0.0) <61 60 59 10 9 7 6 5 4 3>
    Would be nice to disassemble and update the fakesmc inside the EFI module ;)

    Booting from bios bootmenu fails cause the smc doesn't get loaded, only booting with home button loads the smc efi module.
    Also I had to turn off VT-d which caused a lot off errors and interruption of the boot process.

    update:

    Additional I added the EFI Injector module, now the board boots straight from UEFI bootmenu selection into Mavericks without any flaws.
    At boot I see "VM Swap Subsystem is ON" which means a virtual swap for install is loaded.
    That's the most perfect modification getting a native Mac experience I've ever seen so far.
    Only the fixed DSDT is an issue (sound) for the moment.
    I'm still stunning :eek: what can be done with UEFI.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  17. goldfinger

    goldfinger MDL Junior Member

    Dec 29, 2010
    90
    16
    0
    #38 goldfinger, Aug 24, 2013
    Last edited by a moderator: Apr 20, 2017
    Ah. So it looks like it is just fakeSMC.kext in a UEFI module. Not as impressive as I hoped, but still cool. I'll stick to UEFI Clover for now. BTW, can you put "dart=0" kernel flag in that bootloader? I have an MSI Z77A-GD65 and a 3770 (non-K) that supports VT-d. Adding that kernel flag in Clover fixes my VT-d related problems. Maybe you can add it to /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
     
  18. nexus76

    nexus76 MDL Addicted

    Jan 25, 2009
    788
    300
    30
    I'm struggling to set my smbios.plist variables now, cause it's set as a MacPro 3,1.
    Settings that fit my machine are iMac13,2.
    The dart=0 flag is known by chameleon, but even by boot.efi?
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  19. goldfinger

    goldfinger MDL Junior Member

    Dec 29, 2010
    90
    16
    0
    Yes, if I'm not mistaken. It's a kernel flag so it gets passed to the kernel. I keep my VT-d turned on in my BIOS because I'm triple booting to ML, Win 8, and Linux and playing around with KVM/QEMU and PCI-e passthrough.