GithubHelp home page GithubHelp logo

Comments (3)

zearp avatar zearp commented on June 15, 2024

You need to provide some more information and a way to reproduce the issue.

I'm using several 7020's and keep their EFI's in sync with the repo. Never had any waiting for root device issues.

from optihack.

mgrimace avatar mgrimace commented on June 15, 2024

I'm using several 7020's and keep their EFI's in sync with the repo.

Completely unrelated to the original post, but do you have any tips on how you keep your EFI updates in sync? Right now I'm pulling/syncing the updates, then manually copy/pasting the General section of my config.plist (i.e., the system serials/MAC address) and the usbports.kext port map from my backup. Sorry to hijack your thread @rohankumawat001, If you can provide additional details maybe we can help

from optihack.

zearp avatar zearp commented on June 15, 2024

@mgrimace I use sheer willpower like you do lol, but you could make a script that does this hard work for you. The script only has to run some simple tasks;

  • Mount EFI partition and rename the EFI folder to EFI-$DATE for backup purposes
  • Download the EFI folder from GitHub using svn (subversion needs to be install from Mac Ports or Homebrew if you have Xcode 11.4 or newer)
    • Or wget/download master.zip -> unpack to temp folder -> move new EFI in place and tidy up
  • Copy USBPorts.kext and others (could copy them from the backup EFI), delete files if needed
  • Lastly add some PlistBuddy commands to edit the config. It's a very straight forward tool, example:
% /usr/libexec/PlistBuddy -c "Print PlatformInfo:Generic:SystemSerialNumber" /EFI/OC/config.plist
12345
% /usr/libexec/PlistBuddy -c "Set PlatformInfo:Generic:SystemSerialNumber 54321" /EFI/OC/config.plist
% /usr/libexec/PlistBuddy -c "Print PlatformInfo:Generic:SystemSerialNumber" /EFI/OC/config.plist    
54321

Or to remove the dGPU disabler;

% /usr/libexec/PlistBuddy -c "Delete DeviceProperties:Add:PciRoot(0x0)/Pci(0x2,0x0):disable-external-gpu" /EFI/OC/config.plist

You'll have to setup commands for each change (add/set/delete) you need but you'll only have to do it once. Even if the config gains or loses fields in upcoming OpenCore versions this will still work as it uses a direct paths. Unless of course the entry gets moved or renamed.

I'm not sure if it can handle editing any other fields than strings/text fields, check with the print command what PlistBuddy sees as value. My guess is that anything other than plain text might cause troubles. The mac address uses base64. You could use a perl command to search/replace the base64 mac addy string. I think there are also other command line plist editors that can change the base64 fields properly. Will probably take some experimenting to get it right.

No worries about hijacking 😄

I haven't ran into any waiting for root device messages myself. It would be very weird if somehow SATA devices aren't detected anymore and NVMe isn't supported unless you mod the BIOS. So no clue which device it would be waiting on. Needs more details and a way to reproduce it.

from optihack.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.