Jump to content
cosmo1t

FileNVRAM 1.1.3 Released

80 posts in this topic

Recommended Posts

xZenue is proud to present

FileNVRAM.dylib

https://public.xzenue.com/downloads/

version 1.1.3

FileNVRAM Release Notes

 

========= Version 1.1.3 =======

* Fixed an potential issue where boot-args could get mangled.

* Fixed an issue where certain legacy variables were saved incorrectly.

* Fixed an issue where certain nvram variables not write to the file immediately.

 

========= Version 1.1.2 =======

* Fixed a regression in 1.1.1 causing sleep to break.

 

========= Version 1.1.1 =======

* Fixed an issue where non-root users could delete variables

* Fixed a potential issue with sleep

* Fixed a potential issue with 10.8.3

* Fixed an issue where boot-args remain after deleted on the command line.

* Update ROM generation to generate a random value.

 

===================

FileNVRAM.dylib

===================

 

FileNVRAM copyright xZeneu LLC.

FileNVRAM is licensed under the Attribution-NonCommercial 3.0 Unported license.

Please see the license file for details

 

 

===================

Bugs

===================

 

Please report any bugs at https://public.xzenue.com/bugzilla/

 

 

===================

Requirements

===================

 

- Chameleon r2181 or newer

 

===================

Usage

===================

 

- Install the FileNVRAM.dylib to /Extra/modules/

- Reboot

 

Use the nvram command to manipulate variables

Share this post


Link to post
Share on other sites
Advertisement

For anyone with a stuck boot-flag, you can do this;

sudo nvram -d boot-args

 

Or, while at the Chameleon GUI press the TAB key. Then remove any undesired boot args or flags from the command line and press enter to boot normally.

Click here for more information.

 

Also see here (thanks nyolc8).

Share this post


Link to post
Share on other sites

Just adding to what Gringo Vermelho said: or just start typing something at the boot menu, then the stored boot flags will appear and you can just delete them with the backspace key, finally typing the ones you want to use (or none at all, but in this case you'll need to do it every boot). I just learned it's fixed. :)

Share this post


Link to post
Share on other sites

With this version, my autogenerated ROM value is became this: "i%1b(%e0%96%00"

This is nothing related to my MAC address, none of the characters are in my MAC address, and what the hell is that "(" in it? :worried_anim:

 

Bug in the auto ROM value generator?

Share this post


Link to post
Share on other sites

With this version, my autogenerated ROM value is became this: "i%1b(%e0%96%00"

This is nothing related to my MAC address, none of the characters are in my MAC address, and what the hell is that "(" in it? :worried_anim:

 

Bug in the auto ROM value generator?

 

The autogenerated rom has never been your mac address. IT's randomnly generated. If this is causing things to not work for you please file a bug @ the link in post #1

Share this post


Link to post
Share on other sites

It's a random number. If it happens to be equivalent to an ascii printable character, it'll print out as that char (such as the '('). If not it'll print out as hex (%NN)

 

The value is the the same either way, it's just how nvram is printing it for human readability.

Share this post


Link to post
Share on other sites

The value is the the same either way, it's just how nvram is printing it for human readability.

 

Hi, meklort!

 

If it's that way for the sake of aesthetics (because it's not readable either way in the end), i really think printing as a hex string is a better choice.

 

Best regards!

Share this post


Link to post
Share on other sites

Hi, meklort!

 

If it's that way for the sake of aesthetics (because it's not readable either way in the end), i really think printing as a hex string is a better choice.

 

Best regards!

 

Tell apple that, they are the ones who wrote the nvram program

Share this post


Link to post
Share on other sites

Sorry, but i am a bit a "noob" for that nvram usage ;)

 

If i use nvram -p command - without that module installed - to show variables i get :

 

GA_EP35:~ andreasm$ nvram -p

SystemAudioVolume 0

fmm-computer-name GA_EP35

 

If i would use / install that nvram module (with chameleon 2181+) what new variables would exist / what would be changed / what things may work better?

Or, if no new nvram variables are automaticly created by the module, which variables maybe usefull to create + use?

Share this post


Link to post
Share on other sites

A little feedback:

 

Something is wrong. My Wifi no longer connects to a wifi network when it hits the desktop (it connects a few seconds after hitting the desktop). Not only this I have to wait between 45 seconds to a minute for my bluetooth dongle to work when I hit the desktop.

Share this post


Link to post
Share on other sites

A little feedback:

 

Something is wrong. My Wifi no longer connects to a wifi network when it hits the desktop (it connects a few seconds after hitting the desktop). Not only this I have to wait between 45 seconds to a minute for my bluetooth dongle to work when I hit the desktop.

if you have a bug to file please file it @ the link in post #1.

 

Try dleeting al the nvram variables that are related to wifi/bluetooth.

 

or boot -s, and dleete the nvram.{censored}.plist and reboot

Share this post


Link to post
Share on other sites

if you have a bug to file please file it @ the link in post #1.

 

Try dleeting al the nvram variables that are related to wifi/bluetooth.

 

or boot -s, and dleete the nvram.{censored}.plist and reboot

 

Disregard my bluetooth and wifi woes.

 

It was a hardware problem that has been taken care of

Share this post


Link to post
Share on other sites

Sorry, but i am a bit a "noob" for that nvram usage ;)

 

If i would use / install that nvram module (with chameleon 2181+) what new variables would exist / what would be changed / what things may work better?

Or, if no new nvram variables are automaticly created by the module, which variables maybe usefull to create + use?

 

Here's how I understand that (If I'm wrong please correct me):

OS X saves some settings in NVRAM (Non-Volatile RAM). PC doesn't have that. So every boot these settings are restored to default values. This module writes and restores them from a file created in /Extra directory. So for example, after reboot it will remember your volume settings, brightness value (on a laptop), etc. It can fix iMessage issues, probably also Find My Mac.

Share this post


Link to post
Share on other sites

Any chance the module will ever be able to detect when the boot-args stored in the plist differ from those in org.chameleon.boot.plist and give precedence to the boot.plist?

Share this post


Link to post
Share on other sites

The boot-args are in addition to whatever is in the plist. If you don't want one, just set it using nvram boot-args="-v other flags" or delete it with nvram -d boot-args. Alternatively you can update the boot args in chameleon by updating the command line.

Share this post


Link to post
Share on other sites
The boot-args are in addition to whatever is in the plist. If you don't want one, just set it using nvram boot-args="-v other flags" or delete it with nvram -d boot-args. Alternatively you can update the boot args in chameleon by updating the command line.

 

I get what you're saying but most people are used to updating boot args by editing org.chameleon.boot.plist. This module changes that process and it would be good if the module obeyed what has always been the way to set boot parameters instead of forcing users to learn a new way.

 

If its technically not possible based on the chameleon module architecture then that's one thing but if possible, it would be good to have the option. You could always open source the module and let other developers add that capability ;-)

 

Share this post


Link to post
Share on other sites

We do plan on eventualy releasing source for the module, however those plans are not for the immediate future.

 

In any case, enough information is distributed with the module to modify and extend it's behavior. We include the FileNVRAM.h header in the distribution to allow for any developer to create a module that extends this one. Three API function are defined, get, set, and delete NVRAM variable. Using these functions you can do things such as check if the machine has been locked by FMM, check the default partition that was set by the Startup Disk utility in os x, or anything else that you can think of.

 

In the case of boot-args, the FileNVRAM module registers for a notification to the BootOptions hook. If you wish boot-args to not be set (or to be set to a specific value), you can pose as the original caller of that hook and inject your own data.

Share this post


Link to post
Share on other sites

hello

 

off topic

 

@cosmo1t and @meklort

 

are the chameleon boot loader project dead ?

 

chameleon is a significant tool for hacking mac os x..

 

thanks

Share this post


Link to post
Share on other sites

i got this plist in the extra folder nvram.ffffffff-ffff-ffff-ffff-001xxxxxxx.plist. what does these ffff meaning?

Edited by nai22

Share this post


Link to post
Share on other sites

are the chameleon boot loader project dead ?

cosmo1t and I do not have much time to work on chameleon and took ourselves off of the project. There are still users with commit access who can develop it as needed, however commit activity is very low.

 

 

i got this plist in the extra folder nvram.ffffffff-ffff-ffff-ffff-001xxxxxxx.plist. what does these ffff meaning?

The UUID was read directly out of the machine's SMBIOS, it's whatever your computer's manufacturer set it to be.

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By simras
      Hello,

      I am trying to make a new Hackintosh under 10.13 with this specs:
      i7 6800K,
      Asus X99-E
      Asus GTX 970

      But the problem is that I can't pass those errors :
      - couldn't allocate runtime area
      - end randomseed ++++++++++++++ _

      I have always passed this thing on all hackintoshs that I have done, but here, impossible.

      Tried those tests :
      - AptioMemoryFix alone,
      - AptioMemoryFix with EmuVariableUefi and RC Scripts,
      - OsxAptioFix2Drv-free2000 with EmuVariableUefi and RC Scripts,
      - Test2-2016.efi with OsxAptioFixDrv, EmuVariableUefi and RC Scripts,
      - Test2-2016.efi with OsxAptioFix2Drv, EmuVariableUefi and RC Scripts,
      - Test2-2016.efi with OsxAptioFix2Drv, OsxAptioFixDrv, EmuVariableUefi and RC Scripts,
      - Test2.efi with OsxAptioFixDrv, EmuVariableUefi and RC Scripts,
      - Test2.efi with OsxAptioFix2Drv, EmuVariableUefi and RC Scripts,
      - Test2.efi with OsxAptioFix2Drv, OsxAptioFixDrv, EmuVariableUefi and RC Scripts.

      I have tried all this with npci=0x3000 that I have never used before instead of npci=0x2000

      I have done an Hackintosh on Asus X99 Deluxe II and it pass with AptioMemoryFix with EmuVariableUefi and RC Scripts....

      I have tried to reset NVRAM with F11.

      I have tried with 1 RAM stick that I have indicate in the SMBIOS :
      https://hackintosher.com/forums/thread/mapping-ram-and-dimm-slots-on-a-hackintosh-with-clover-smbios.365/
       
      I have follow KGP guide for X99 :
       
      The BIOS settings are exactly the same.

      I link my CLOVER folder.

      Thank you.
      CLOVER.zip
    • By kylon
      Cloud Clover Editor is an open source application that allows you to manage various Hackintosh Bootloaders configs everywhere.

      Open Cloud Clover Editor
       
      Cloud Clover Editor Wiki
      Cloud Clover Editor Sources
       
       
      Features
      Supports Clover EFI, Ozmosis, Chameleon, OpenCore GUI and Text Editor Mode CCE Bank Mobile friendly  
      Officially supported browsers
      Chrome 42+ Microsoft Edge 14+ Firefox 39+ Safari 10+ Opera 29+ Opera Mobile 12+ Chrome for Android 75+ Firefox for Android 67+  
       
      Credits
      mackie100 - took some ideas from his app Clover EFI dev team Eric Slivka - new serial number Virtual1 - new serial number cecekpawon - PHP 5.3.3 patch, , help with the ACPI Loader Mode flag and more Micky1979 - Clover flying editor  (Discontinued) crusher. - Help with the ACPI Loader Mode flag Download-Fritz - Help with the ACPI Loader Mode flag Pavo - Ozmosis fields and values stehor - Ozmosis fields and values Sherlocks - General help and support gujiangjiang - General help and support  
      Please let me know if i forgot you!
    • By ciriousjoker
      TLDR:
      I'm trying to boot MacOS on a Chromebook without UEFI. I'm stuck at getting the bootloader (Chameleon/Clover) to work.  
      My setup / context:
      I have an Acer Chromebook Spin 13.
      Available ports:
      2 x USB-C 1 x USB-A 3.0 MicroSD Slot No USB A 2.0 (I've read that Clover has problems with USB 3.0) Firmware:
      There's no UEFI firmware available and by default, it doesn't even allow booting anything other than ChromeOS. Thanks to MrChromebox (big shoutouts!), I flashed a custom legacy bios that allows me to boot anything linux related. This bios is flashed into the RW_LEGACY section of the existing bootloader (coreboot afaik) and doesn't have any configuration options. If I have to change a setting, I could try compiling his bios payload myself with the specific setting enabled.  
      What I've tried so far:
      Chameleon attempts:
      Only selected setting was "Install chameleon on the chosen path", rest was unselected.
       
      1 - Install chameleon first without restoring the basesystem:
      Output:
      > boot0: GPT
      > boot0: done
      (hangs; pressing power button once shuts down
      Chameleon installation log is attached as "Chameleon_Installer_Log_BEFORE".
       
      2 - Install Chameleon after restoring the base system:
      Output:
      > boot0: GPT
      > boot0: GPT
      > boot0: doneboot1: /boot       <- Exactly like that, no line break in between
      (hangs; pressing power button once shuts down)
       
      I haven't been able to reproduce #2 after wiping the drive and doing the same thing again. Subsequent attempts have resulted in either #1 of either Chameleon or Clover.
      Chameleon installation log is attached as "Chameleon_Installer_Log_AFTER".
       
      Clover attempts:
      I tried multiple settings and configurations, but all of them boiled down to either one of these.
       
      1 - Doesn't do anything, just hangs at "Booting from usb..."
      2 - Boots into the blue/grey mode as shown in the attached images.
      According to MrChromebox, this could be an old Tianocore DUET It doesn't detect anything (cpu frequency, ram, partitions or disks)  
      I've read pretty much every article, github readme and other types of documentation for coreboot, tianocore, clover, chameleon and MrChromebox' rw_legacy payloads and right now, I'm totally clueless as to what to try next...
       
      A few questions that came up:
      Why does chameleon hang? What is it looking for, /boot was clearly written to the disk by the Chameleon installer? What exactly is the blue/grey image? According to MrChromebox, it could be Tianocore DUET Where does it come from? Clover? The mainboard itself? Why does the blue/grey thing not detect my processor frequency or any partitions/drives? Can I use some sort of DUET bootloader to chainload Clover?  
      If you guys could answer any of them or if you have any other guesses or information as to what's happening, I'd be really happy!
      Chameleon_Installer_Log_BEFORE.txt
      Chameleon_Installer_Log_AFTER.txt





    • By JRevenge
      Buon pomeriggio!
      Sto avendo problemi di NVRam con qualsiasi combinazione possibile, ho provato AptioMemoryFix + Emuvariable + RC-Script, ho provato con solo Aptio, insomma le ho provate tutte, ma riscontro dei problemi cno la NVRam non da poco.
       
      In poche parole, se imposto uno sfondo, al riavvio o banalmente ad uno spegnimento serale per poi una accensione al giorno successivo, mi ritrovo con lo sfondo vecchio, mi capita di trovarmi col terminale con i vecchi comandi registrati o banalmente qualche cartella aperta. Mi sapreste aiutare?
       
      Vi lascio la mia EFI in descrizione.
      Grazie mille!
      CLOVER.zip
    • By Cyberdevs
      This is a tool for cleaning the NVRAM and Kext Caches and rebuilding the PrelinkedKernel.
      Please do not post/upload or redistribute this app to other sites or forums.
×