Jump to content

AptioMemoryFix - AptioFixPkg


iCanaro

Recommended Posts

  • Support Team

Info https://github.com/acidanthera/AptioFixPkg">https://github.com/acidanthera/AptioFixPkg

 

 

 

AptioFixPkg R24 https://github.com/acidanthera/AptioFixPkg/releases">https://github.com/acidanthera/AptioFixPkg/releases

 

 

Added basic APTIO V compatibility to AptioInputFix

 

Added basic generic firmware compatibility to AptioInputFix

 

Fixed broken timer resolution in AptioInputFix

 

Disabled ALT/CMD swapping in AptioInputFix

Link to comment
Share on other sites

  • Support Team

AptioFix

 

 

 

 

 

Driver AptioFixPkg che risolvono alcuni problemi del firmware UEFI APTIO rilevanti per l'avvio di macOS.

 

 

 

AVVERTENZA: il codice in questo repository deve essere considerato come prova della qualità di bozza del concetto e deve essere utilizzato esclusivamente come guida all'implementazione del software. A causa della mancanza di tempo, questo codebase può contenere campioni di reverse engineering parzialmente compresi, quasi nessuna documentazione, hack e assoluta ignoranza del codestyle di EDK2.

 

 

 

AptioInputFix

 

Driver di riferimento per ridurre i protocolli proprietari di mouse e tastiera AMI APTIO per il supporto per l'input della GUI di File Vault 2.

 

UsbKbDxe generalmente modificato dal team di CupertinoNet funziona meglio su APTIO V, ma per Z77, Z87 e AptioInputFix simile potrebbe essere l'unica soluzione.

 

 

 

Caratteristiche

 

Invia i tasti premuti a APPLE_KEY_MAP_DATABASE_PROTOCOL

 

Corregge il movimento del mouse tramite EFI_SIMPLE_POINTER_PROTOCOL

 

AptioMemoryFix

 

Fork del driver originale OsxAptioFix2 con una base di codice più pulita (ma ancora terribile) e migliorata stabilità e funzionalità.

 

 

 

Note importanti: per eseguire il debug degli errori boot.efi su 10.13, a parte il solito verbose (-v) boot-arg, potrebbe essere necessaria una patch boot.efi o una preferenza nvram. O è necessario ottenere messaggi di errore sensibili invece di 'printf work ??', ma la patch può essere d'aiuto nel caso in cui si riscontrino problemi durante la lettura di nvram.

 

 

 

Prima di utilizzare AptioMemoryFix assicurati di avere:

 

 

 

Firmware BIOS UEFI più aggiornato (controllare il sito Web del fornitore della scheda madre).

 

 

 

Avvio rapido e riavvio hardware disattivato nel BIOS se presente.

 

 

 

Sopra la decodifica 4G o simili abilitati nel BIOS se presenti.

 

ATTENZIONE: su alcune schede madri (in particolare ASUS WS-X299-PRO) questa opzione causa effetti avversi e deve essere disabilitata. Sebbene non siano note altre schede madri con lo stesso problema, considerare questa opzione come prima cosa da verificare se si verificano errori di avvio irregolari.

 

 

 

VT-d disabilitato nel BIOS se presente (si potrebbe anche eliminare la tabella ACPI DMAR con un bootloader).

 

 

 

Nessun argomento di avvio della diapositiva presente in NVRAM o in qualsiasi altro luogo (non è necessario a meno che non sia possibile avviare o vedere Nessun valore di diapositiva utilizzabile! Utilizzare il messaggio di diapositiva personalizzato! Da AptioMemoryFix).

 

 

 

Blocco CFG (protezione scrittura MSR 0xE2) disabilitato nel BIOS se presente (si consideri la possibilità di applicarlo in caso contrario se si dispone di competenze sufficienti). Vedi la sezione VerifyMsrE2 per maggiori dettagli.

 

 

 

CSM disabilitato nel BIOS se presente (potrebbe essere necessario flash GOP ROM su NVIDIA 6xx / AMD 2xx o precedente, usando GopUpdate o AMD UEFI GOP MAKER potrebbe semplificare le cose).

 

 

 

EHCI / XHCI Hand-off abilitato nel BIOS solo se il boot si blocca a meno che i dispositivi USB non siano scollegati.

 

 

 

VT-x, Hyper Threading, Execute Disable Bit abilitato nel BIOS se presente.

 

 

 

Anche se potrebbe non essere necessario, a volte è necessario disabilitare il supporto Thunderbolt, Intel SGX e Intel Platform Trust nel BIOS, se presente. Quando si esegue il debug di problemi di sospensione, è possibile disabilitare temporaneamente Power Nap e lo spegnimento automatico, che a volte possono causare lo scattare a schermo nero o problemi di bootloop su piattaforme meno recenti. I problemi particolari possono variare, ma in generale è necessario controllare prima le tabelle ACPI. Ecco un esempio di bug trovato in alcune schede madri Z68. Per spegnere Power Nap e gli altri off esegui i seguenti comandi nel Terminale:

 

 

 

sudo pmset autopoweroff 0

 

sudo pmset powernap 0

 

sudo pmset standby 0

 

Si noti che queste impostazioni potrebbero essere ripristinate al cambio dell'hardware e in alcune altre circostanze. Per visualizzare i loro valori correnti eseguire pmset -g.

 

 

 

Nota: se vedi molte linee di inizio / fine in modalità dettagliata devi assicurarti di non avere la variabile bootercfg memorizzata nella NVRAM. Leggi questo post per i dettagli. Se il problema persiste, è possibile utilizzare il seguente comando in Terminale (con Protezione integrità sistema disabilitata o Recovery HD):

 

 

 

sudo nvram bootercfg = 'log = 0 debug = 0'

 

Caratteristiche (rispetto all'originale)

 

Trova automaticamente la regione di memoria disponibile per boot.efi da utilizzare

 

Implementa il supporto KASLR per sistemi in cui alcune diapositive non possono essere utilizzate

 

Aggiunge il supporto in modalità provvisoria su sistemi con indirizzi inferiori usati

 

Non assicura perdite di argomenti della diapositiva sul sistema operativo

 

Tenta di gestire più correttamente i mapping della memoria

 

Implementa variabili RT di sola lettura e di sola scrittura utili per i plugin Lilu

 

Funziona sulla mancanza di gUnicodeCollation e PlatformLang su diversi firmware

 

Correzione del protocollo di servizi hash legacy interrotto (sono supportati solo MD5, SHA-1, SHA-256)

 

Garantisce che GetTime non riporti il ​​fuso orario non specificato

 

Supporta boot.efi chainloading (ad es. Tramite sudo nvram recovery-boot-mode = open)

 

Implementa un nuovo codice di mappatura al risveglio dalla modalità di sospensione (ancora non abbastanza stabile)

 

CleanNvram

 

Cancella diverse variabili NVRAM che potrebbero influire sul tuo avvio.

 

 

 

VerifyMsrE2

 

Alcuni firmware non riescono a inizializzare correttamente il registro MSR 0xE2 (MSR_BROADWELL_PKG_CST_CONFIG_CONTROL) su tutti i core. Questa applicazione stampa i valori 0xE2 di tutti i core e riporta lo stato 0xE2. L'esempio degno di nota dei registri MSR 0xE2 desincronizzati sono diversi firmware GIGABYTE UEFI per i chipset Intel serie 100 e Intel 200.

 

 

 

L'opzione di blocco CFG è disponibile sulla maggior parte dei firmware di APTIO V, sebbene possa essere nascosta dalla GUI. Se VerifyMsrE2 segnala che il registro 0xE2 è costantemente bloccato, puoi provare a sbloccare direttamente questa opzione.

 

 

 

Scarica UEFITool e IFR-Extractor.

 

Apri l'immagine del firmware in UEFITool e trova la stringa Unicode del blocco CFG. Se non è presente, il tuo firmware non supporta questo e devi fermarti.

 

Estrarre la Sezione Immagine PE32 Setup che UEFITool ha trovato tramite Corpo Extract.

 

Esegui IFR-Extractor sul file estratto (ad esempio ./ifrextract Setup.bin Setup.txt).

 

Trova blocco CFG, VarStoreInfo (VarOffset / VarName): in Setup.txt e ricorda l'offset subito dopo (ad esempio 0x123).

 

Scarica ed esegui una shell GRUB modificata, grazie a Brainsucker per il binario.

 

Immettere il comando setup_var 0x123 0x00, dove 0x123 deve essere sostituito dall'offset effettivo e riavviare.

 

ATTENZIONE: gli offset variabili sono unici non solo per ogni scheda madre ma anche per la sua versione del firmware. Mai e poi mai provare a usare un offset senza controllo.

Link to comment
Share on other sites

  • 4 months later...
  • Support Team

Appunti di viaggio, da IM:

 

https://www.insanelymac.com/forum/topic/337614-purpose-of-aptiomemoryfix/?do=findComment&comment=2663867">https://www.insanelymac.com/forum/topic ... nt=2663867">https://www.insanelymac.com/forum/topic/337614-purpose-of-aptiomemoryfix/?do=findComment&comment=2663867

 

 

 

----------

 

* * Aptio driver Fix * è stato inventato per correggere mappa della memoria eccentrico creato da AMI Aptio UEFI BIOS.

 

 

 

Primo pilota OsxAptioFixDrv da Dmasar reso possibile MacOS avvio UEFI su PC. Altri modi per rendere Hackintosh erano avvio legacy (Camaleonte, l'eredità del trifoglio e così via). Legacy bootloader hanno buone gestioni di memoria e non hanno bisogno di questo driver.

 

 

 

Secondo uno OsxAptioFix2Drv anche da Dmasar per il supporto di sospensione. A volte richiede ulteriori argomento slide = xxx per l'avvio di successo.

 

 

 

Poi vit9696 indagare su un problema di assenza di sostegno NVRAM nativo a causa di movimenti di memoria in questi driver e lui ha scritto AptioMemoryFix che si basa su OsxAptioFix2Drv per sostenere NVRAM nativo.

 

 

 

I suoi successi è stata applicata per OsxAptioFix2Drv e nuovo driver ha ottenuto un nuovo nome OsxAptioFix3Drv. Si keeped stabile versione di buon lavoro.

 

 

 

AptioMemoryFix da vit9696 keeped aggiornamento tra cui una funzione per calcolare automaticamente slide = valore xxx.

 

 

 

Questo è tutto per la storia.

 

 

 

 

 

 

 

Computer senza UEFI BIOS non ha bisogno di tale conducente e non ha NVRAM a tutti perché è proprietà UEFI.

 

 

 

Alcuni computer possono avere UEFI BIOS non Aptio. Per questo caso non posso dire esattamente, ma la maggior parte hanno anche bisogno di questo driver.

 

----------

Link to comment
Share on other sites

  • 2 months later...
  • Support Team

*nov* AptioFixPkg R26

 

 

 

Added support for [shadow=blue]OpenCore[/shadow][dropshadow=blue]RequestBootVarRouting[/dropshadow] quirk

 

Serious code cleanup

Schermata 2019-05-04 alle 01.01.08.png

Schermata 2019-05-04 alle 01.05.50.png

Link to comment
Share on other sites

  • 2 weeks later...
  • Moderators

RequestBootVarRouting, io sull'ultima versione di OC l'ho tolto, ma serve ancora...

 

 

 

Ha scritto dopo 6 minuti 55 secondi:

 

Sembrerebbe di si, forse è una costante e non una prerogativa di questa versione:

 

-

[code]Request NVRAM driver (or AptioMemoryFix) to redirect Boot prefixed variables from EFI_GLOBAL_VARIABLE_GUID
to OC_VENDOR_VARIABLE_GUID.
This will set special boot-redirect variable, which a compatible driver will abide after booter start. The quirk
lets default boot entry preservation at times when firmwares delete incompatible boot entries.

[/code]

Link to comment
Share on other sites

  • 4 weeks later...
  • 4 weeks later...
  • 1 month later...
  • Administrators

Aptiomemory è incluso in AppleSupportPKG (insieme a ApfsDriverLoader)

 

è stato rinominato FwRuntimeServices.efi ma questo è solo per opencore,quindi non usatelo con clover!

 

 

 

il vecchio driver AptioMemory rimarrà solo per clover e progetto fermo alla R27

 

 

 

Topic chiuso come la relativa repo.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • There are no registered users currently online
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.