Funktionierender NVRAM nun mit Clover

  • Und dann hab ich noch diese Alternativen:
    Erst Startversuch mit macOS High Sierra, geht bis hier, also fast komplett durch, und bleibt stehen

    Dann Startversuch mit Sierra - geht bis hier - und startet nach ca.5 Sekunden neu


    :hackintosh:

  • Sorry, Windoof komprimiertes geht bei mir nicht auf, ganz grundsätzlich..


    :hackintosh:

  • Ja, NVRAM nutzt AppleEFIRuntime. Welche funktion ruft die App auf?


    EDIT: Nach 'nem normalen Boot oder nach S4-Wake?


    EDIT2: Ich gehe einfach mal davon aus, dass es eine Variable-Funktion ist, die wir nicht überschreiben... also, das Problem ist, dass…


    Nach einem Neustart bzw. im laufenden Betrieb. Nach einem Wake habe ich nicht getestet.


    Das Interface ist selbstgestrickt, AppleEFIRuntime Header Datei aus dem Disassembling soweit Reverse Engineered, dass sie die Funktionen, die mich interessieren enthalten und dann ein Kext mit UserClient geschrieben um sie von einer App aus aufrufen zu können.
    Das sind im Wesentlichen die EFI Runtime Services Aufrufe von Get/Set/Next Variable , Get/Set Date, Get/SetWakeup, Reset und GetNextHighMonotonicCount.
    Im Moment ruft die App verschiedene dieser Funktionen auf, ich werde sie im Laufe des Tages auf die "Variable-Funktionen" beschränken, wenn das gehen sollte genügt mir das - nicht perfekt, aber ausreichend.



    P.S.
    Hab's noch schnell ausprobiert. Wenn man sich auf die Variablen Funktionen beschränkt funktioniert's.

    Einmal editiert, zuletzt von Brumbaer ()

  • Ich habe mal das .rar heruntergeladen das @Download-Fritz referenziert hat und bekomme es weder mit Stuffit Expander noch mit unrar (beides macOS Varianten) entpackt in beiden Fällen gibt es Fehler aber immerhin 7Zip kann es entpacken also here we go: AptioMemoryFix.efi.zip :D


    @MacGrummel give it a try :D

  • Ich möchte mal behaupten, dass der Fortschritt eher gering ist, leider!
    Erst Startversuch mit macOS High Sierra

    Dann Startversuch mit Sierra


    :hackintosh:


  • Hallo,


    Could you make a list of the functions that crash and the ones that work fine?
    It may be acceptable to proxy more functions in AptioFix if necessary.
    So far I had to use ResetSystem, and it worked fine for me, but others may indeed crash.


    By the way, do you know whether Apple changed AppleEFIRuntime interface across different versions of macOS? I currently call functions directly via gPEEFIRuntimeServices, but it is safer to invoke AppleEFIRuntime. The only reason stopping me from reversing the header is that they may change it at any time.


    P.S. Sorry, don't know German, hoping for Google Translate.

    Einmal editiert, zuletzt von derHackfan () aus folgendem Grund: Spoiler wegen der Übersicht im Thread

  • Hello,
    I just took out all calls but calls to the 3 variable handling routines.
    I‘ll check, which routines crash, during the day and will post in the evening.


    I used AppleEFIRuntime only since 10.13, so I can‘t comment on any changes over time. Haven‘t got any older systems installed to be able to check.


    PS.
    Why do you think any routine would work ?
    I'd expect them to be in the same block of memory, so if you have to proxy one, you would have to proxy them all,
    If one worked it would be by coincidence and that might turn on you at some point.

    Einmal editiert, zuletzt von Brumbaer ()

  • Ich möchte mal behaupten, dass der Fortschritt eher gering ist, leider!
    Erst Startversuch mit macOS High Sierra

    Dann Startversuch mit Sierra


    Do you try to use boot-args -norelocate and slide=0?

  • I#ve just the same pictures again: the new boot-arg "-norelocate" is not changing anything with RC5, sorry! - No, it's an other number at Sierra:


    :hackintosh:


  • The point is that UEFI does not allow you to use global variables in runtime services. Yet AMI does it @_@.
    So the point of fixing variable functions is to fix a bug in one of the AMI modules.
    While it is terrible that bugs exist in their other modules too, adding preliminary hacks is a bad practice.


    Looking forward for the function list.


  • PS.
    Why do you think any routine would work ?
    I'd expect them to be in the same block of memory, so if you have to proxy one, you would have to proxy them all,
    If one worked it would be by coincidence and that might turn on you at some point.


    Ich glaub du hast das Workaround nicht verstanden. Es wird ein neuer Speicher RT_Code reserviert, der die neuen drei Funktionen enthält und deren Adressen werden in gRT gesetzt. Diese Shim-Funktionen bekommen die Adressen der originalen Funktionen, die sie nach dem Entfernen von CR0.WP aufrufen. Mit den originalen Funktionen passiert nichts... Und sie liegen auch nicht zwingend im selben Speicher.


    @crusher -norelocate is an Oz arg and slide shall not be used with AMF

  • Ohne BEIDE Boot-Args (slide=0 war immer an!) ist er jetzt tatsächlich in High Sierra/apfs gestartet, aber mit einer netten Zwischen-Meldung:

    Da sind erstmal gut 130 Werte durchgerauscht in NullKommaNix, dann Pause und danach über das vorgewählte Kext-Debug ein langsamer Start. Erstmal einer!
    Aber das Asus-X99er-BIOS ist auch ein ziemlicher Murks, das lädt eingestellte Werte teilweise erst beim dritten oder vierten Versuch..
    PS.: die Sierra-Platte startet nach der gleichen Meldung tatsächlich neu, also garnicht. Und die HS-HFS+-Platte startet in nen schwarzen Schirm. Alsob das der Desk wäre..


    :hackintosh:

    Einmal editiert, zuletzt von MacGrummel ()

  • Wollte es eben probieren aber der Clover Bootloader wird im Augenblick nur in der Version Clover_v2.4k_r4330 bei SourceForge, angeboten. Konnte bis jetzt nicht die Version 4369 finden. Hat einer vielleicht einen Link dahin wo er aufzufinden ist?

  • Wenn du den aktuellen Clover Configurator startest, kannst du über den Punkte "Install/Update Clover" die aktuellste, offizielle Version damit herunterladen.

    Gruß
    Al6042

    Keine Unterstützung per PN oder Pinnwand... Eure Anfragen gehören ins Forum, nicht in mein Postfach!

  • @vit9696


    I use/tested the following functions:
    GetTime
    SetTime
    GetWakeupTime
    SetWakeupTime
    GetVariable
    SetVariable
    GetNextVariableName
    GetNextHighMonotonicCount
    ResetSystem


    All behave as expected using the old OsxAptio...


    Using the new OsxAptio... will crash all but
    GetVariable
    SetVariable
    GetNextVariableName


    I can't judge ResetSystem, because crash and reset look alike.

  • Ich weiss funktioniert in beiden Fällen nicht, kann am BIOS liegen oder dass Reset immer Crashed, was ich für unwahrscheinlicher halte.
    Hat mich noch nicht interessiert woran es wirklich liegt.