A23SS4NDRO Posted May 25, 2020 Share Posted May 25, 2020 (edited) Non mi risulta molto chiaro quale sia la funzione della sezione del config "Delete" che trovate qui sotto. <key>NVRAM</key> <dict> <key>Add</key> <dict> <key>4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14</key> <dict> <key>DefaultBackgroundColor</key> <data>AAAAAA==</data> <key>UIScale</key> <data>AQ==</data> </dict> <key>7C436110-AB2A-4BBB-A880-FE41995C9F82</key> <dict> <key>SystemAudioVolume</key> <data>Rg==</data> <key>boot-args</key> <string></string> <key>csr-active-config</key> <data>AAAAAA==</data> <key>prev-lang:kbd</key> <string>en-GB:2</string> </dict> </dict> <key>Delete</key> <dict> <key>4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14</key> <array> <string>UIScale</string> <string>DefaultBackgroundColor</string> </array> <key>7C436110-AB2A-4BBB-A880-FE41995C9F82</key> <array> <string>SystemAudioVolume</string> </array> </dict> Il mio dubbio consiste in questo, e mi sono dato una sola spiegazione come risposta ma vorrei la vostra conferma Anche la configurazione sembra un po' vaga Delete Type: plist dict Description: Removes NVRAM variables from a map (plist dict) of GUIDs to an array (plist array) of variable names in plist string format. "Che senso avrebbe mettere la sezione Delete se posso tranquillamente non aggiungere la variabile nella sezione Add?" Quindi l'unica possibile risposta sarebbe questa: Le variabili NVRAM nella sezione Add vengono lette tutte da OpenCore (e kext associati, come le bootarg per weg) (e poi da macOS solo se non sono presenti su Delete?) Oppure: Le variabili NVRAM vengono lette tutte da macOS e da OpenCore, e la sezione "Delete" serve per non farle risultare al comando nvram -p quando si avvia macOS. Vorrei volentieri avere chiarimenti in merito alla funzione della sezione Delete e dove vanno a finire le variabili NVRAM descritte in quella sezione, e se sono presenti in quella sezione quando e da chi vengono lette... Grazie mille Edited May 25, 2020 by A23SS4NDRO Link to comment Share on other sites More sharing options...
Administrators Gengik84 Posted May 25, 2020 Administrators Share Posted May 25, 2020 Delete= "una volta" Block= persistente. Link to comment Share on other sites More sharing options...
A23SS4NDRO Posted May 25, 2020 Author Share Posted May 25, 2020 2 hours ago, Gengik84 said: Block= persistente. Block in sezione NVRAM non esiste più, dal momento che tale sezione è stata rinominata in "Delete Mi risulta ancora poco chiaro, quindi se una variabile NVRAM ad esempio "boot-args" è presente sia in Add che in Delete, allora durante il processo di avvio tali boot arg vengono aggiunte da Add, poi: - Delete le cancella per non farle risultare dal controllo nvram -p oppure -Non vengono neanche caricate/lette da macOS/OpenCore ecc, dal momento che boot-args viene "Bloccato/Cancellato" dalla sezione "Delete"? Link to comment Share on other sites More sharing options...
Administrators Gengik84 Posted May 25, 2020 Administrators Share Posted May 25, 2020 18 minuti fa, A23SS4NDRO ha scritto: Block in sezione NVRAM non esiste più, dal momento che tale sezione è stata rinominata in "Delete ti ho spiegato Link to comment Share on other sites More sharing options...
KvL Posted May 25, 2020 Share Posted May 25, 2020 Spoiler 9.2 Properties 1. Add Type: plist dict Description: Sets NVRAM variables from a map (plist dict) of GUIDs to a map (plist dict) of variable names and their values in plist metadata format. GUIDs must be provided in canonic string format in upper or lower case (e.g. 8BE4DF61-93CA-11D2-AA0D-00E098032B8C). Created variables get EFI_VARIABLE_BOOTSERVICE_ACCESS and EFI_VARIABLE_RUNTIME_ACCESS attributes set. Variables will only be set if not present or deleted. I.e. to overwrite an existing variable value add the variable name to the Delete section. This approach enables to provide default values till the operating system takes the lead. Note: If plist key does not conform to GUID format, behaviour is undefined. 2. Delete Type: plist dict Description: Removes NVRAM variables from a map (plist dict) of GUIDs to an array (plist array) of variable names in plist string format. Dal Configuration.pdf Rev. 21/05/2020 In pratica Add comanda su Delete. Dal log della versione debug si leggono bene le operazioni eseguite. K. Link to comment Share on other sites More sharing options...
A23SS4NDRO Posted May 25, 2020 Author Share Posted May 25, 2020 (edited) 2 hours ago, KvL said: In pratica Add comanda su Delete. Ma quale sarebbe il senso? Posso tranquillamente toglierle a mano le variabili dalla sezione Add senza che le blocco dalla sezione Delete Edited May 25, 2020 by A23SS4NDRO Link to comment Share on other sites More sharing options...
A23SS4NDRO Posted May 25, 2020 Author Share Posted May 25, 2020 3 hours ago, Gengik84 said: ti ho spiegato ho risposto che non riesco bene a comprendere che cosa intendi con "Delete" = una volta (cosa una volta?) "Block" = persistente (ma stiamo parlando della stessa sezione che da Block ora si chiama Delete, che cosa è Block ora? Che cosa è persistente?) 3 hours ago, A23SS4NDRO said: Mi risulta ancora poco chiaro Capisco che sono duro di comprendonio finché la cosa non la capisco alla perfezione, ma il discorso è poco chiaro Che senso ha di esistere la sottosezione di NVRAM "Delete"? Solo per nascondere ciò che è aggiunto in Add? Null'altro? Link to comment Share on other sites More sharing options...
A23SS4NDRO Posted May 25, 2020 Author Share Posted May 25, 2020 3 hours ago, KvL said: Variables will only be set if not present or deleted. I.e. to overwrite an existing variable value add the variable Come fa Delete a comandare su Add se qui sembra che le variabili possono essere aggiunte solo se "sovrascritte"? Sembra che per avere qualcosa su Add, deve esserci prima su Delete, dal momento che solo se le variabili sono "Not present" or "Deleted" allora puoi applicarle con successo. Ad esempio, sembra che se uno mantiene la sezione NVRAM> Add> 4D1EDE05-eccetera> UiScale 01 E non mette la sezione corrispettiva in Delete, quindi NVRAM> Delete> 4D1EDE05-eccetera UIScale Allora il valore UiScale non viene applicato con successo (>>> overwrite existing variable to add the variable) Quindi se e solo se "Delete" rispecchia "Add" le variabili vengono aggiunte? Cosa succede se è presente solo "Add" e non "Delete"? Link to comment Share on other sites More sharing options...
A23SS4NDRO Posted May 25, 2020 Author Share Posted May 25, 2020 Ecco la spiegazione, la sezione "Delete" che prima si chiamava "Block" serve per fare in modo che tutte le sezioni presenti su Add vengano caricate adeguatamente, quindi se dovessero essere già presenti alcune variabili ereditate da altri sistemi operativi, allora "Delete" si assicura che "Add" abbia modo di non avere ostacoli preesistenti. https://github.com/acidanthera/bugtracker/issues/575#issuecomment-554522261 OpenCore NVRAM Block (now called "Delete") concept is a hack or rather a security measure against the operating system. In certain cases we believe that the operating system cannot give enough protection for NVRAM variables. For example, Windows can modify csr-active-config at no issue in any mode. Currently FwRuntimeServices does not protect from that, and that is why we do provide an option to force some values. Quindi quello che fa Delete è questo: Forcibly rewrites NVRAM variables, do note that Add will not overwrite values already present in NVRAM so values like boot-args should be left alone. Quindi quello che è scritto qua è da aggiustare Le variabili verranno impostate solo se non presenti oppure bloccate (bloccate dalla sezione che ora si chiama Delete per fare in modo che Add possa aggiungerle, ma non perché Delete agisce contro Add, ma lo aiuta a scrivere le variabili NVRAM correttamente). Potrei avere degli screenshot della vostra sezione NVRAM del config.plist in modo da vedere se voi avete necessità di avere questa sezione che si chiama "Delete" che viene in aiuto ad "Add"? Link to comment Share on other sites More sharing options...
KvL Posted May 25, 2020 Share Posted May 25, 2020 18 minuti fa, A23SS4NDRO ha scritto: Come fa Delete a comandare su Add se qui sembra che le variabili possono essere aggiunte solo se "sovrascritte"? Not present = Non presenti tipo la nuova "blacklist-rtc" o immagino in caso di macchina vergine o forse anche in caso di NVRAM resettata. Dovrei provare in caso di questa terza ipotesi. Ecco ad esempio il mio log per la 0.5.8: Spoiler 01:193 00:044 OC: OcLoadNvramSupport... 01:241 00:047 OC: Not deleting NVRAM 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:UIScale, matches add 01:284 00:043 OC: Not deleting NVRAM 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:DefaultBackgroundColor, matches add 01:330 00:045 OC: Not deleting NVRAM 7C436110-AB2A-4BBB-A880-FE41995C9F82:boot-args, matches add 01:375 00:044 OC: Deleting NVRAM 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:rtc-blacklist - Not Found 01:422 00:047 OC: Setting NVRAM 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:DefaultBackgroundColor - ignored, exists 01:466 00:043 OC: Setting NVRAM 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:UIScale - ignored, exists 01:512 00:046 OC: Setting NVRAM 7C436110-AB2A-4BBB-A880-FE41995C9F82:SystemAudioVolume - ignored, exists 01:557 00:044 OC: Setting NVRAM 7C436110-AB2A-4BBB-A880-FE41995C9F82:boot-args - ignored, exists 01:604 00:047 OC: Setting NVRAM 7C436110-AB2A-4BBB-A880-FE41995C9F82:csr-active-config - ignored, exists 01:647 00:042 OC: Setting NVRAM 7C436110-AB2A-4BBB-A880-FE41995C9F82:prev-lang:kbd - ignored, exists 02:156 00:508 OC: Setting NVRAM 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:rtc-blacklist - Not Found 02:203 00:047 OC: Current version is DBG-058-2020-05-04 E una questione di flusso logico: se non è presente o presente in delete, allora viene impostata. 52 minuti fa, A23SS4NDRO ha scritto: Ma quale sarebbe il senso? Posso tranquillamente toglierle a mano le variabili dalla sezione Add senza che le blocco dalla sezione Delete Mi sono spiegato male, mi rendo conto adesso: volevo dire: prima esegue Delete, e poi Add, questo garantisce che in NVRAM finiscano i valori di Add. K. 1 Link to comment Share on other sites More sharing options...
KvL Posted May 25, 2020 Share Posted May 25, 2020 4 minuti fa, A23SS4NDRO ha scritto: Potrei avere degli screenshot della vostra sezione NVRAM del config.plist in modo da vedere se voi avete necessità di avere questa sezione che si chiama "Delete" che viene in aiuto ad "Add"? Devo sistemare DefaultBackgroundColor, ne sono consapevole 😅 Questo Config è quello per la 0.5.9 che sto covando in attesa della release finale e provare a passare da Clover a OC con cambio SMBIOS, un salto triplo carpiato. E' speculare, se vedi, solo che in Add lo schema è campo-valore, in Delete è campo "secco" perchè se ne frega del contenuto, lo dealloca e via. K. Link to comment Share on other sites More sharing options...
A23SS4NDRO Posted May 25, 2020 Author Share Posted May 25, 2020 1 minute ago, KvL said: in Delete è campo "secco" perchè se ne frega del contenuto, lo dealloca e via. ok, ultima domanda Come mai ad esempio hai messo sotto 7C436110-AB2A-4BBB-A880-FE41995C9F82 (APPLE_BOOT_VARIABLE_GUID) solo boot-args e non SystemAudioVolume, csr-active-config, prev-lang:kbd? Forse non serve? come mai non dovrebbe? Link to comment Share on other sites More sharing options...
KvL Posted May 25, 2020 Share Posted May 25, 2020 (edited) 17 minuti fa, A23SS4NDRO ha scritto: Come mai ad esempio hai messo sotto 7C436110-AB2A-4BBB-A880-FE41995C9F82 (APPLE_BOOT_VARIABLE_GUID) solo boot-args e non SystemAudioVolume, csr-active-config, prev-lang:kbd? Questo è il Sample.plist aggiornato ad oggi da cui sono partito; se ho capito bene sono valori necessari a macOS per cui immagino sarebbe troppo pericoloso farne il Delete senza il rispettivo Add, suppongo. Un po' datato ma rende l'idea: https://eclecticlight.co/2018/08/24/whats-stored-in-nvram K. Edited May 25, 2020 by KvL typo fix Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now