zearp / OptiHack

Dell OptiPlex 7020/9020 Hackintosh Stuff
https://zearp.github.io/OptiHack/
155 stars 53 forks source link

Iam getting waiting for rooted device #22

Closed rohankumawat001 closed 3 years ago

zearp commented 3 years ago

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.

mgrimace commented 3 years ago

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

zearp commented 3 years ago

@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;

% /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.