TijuanaKez Posted June 21, 2023 Share Posted June 21, 2023 (edited) I like using my hack remotely through Screen Sharing / VNC as it has all the resources, but its often more convenient to be elsewhere on a laptop. One thing I cant work out how to do though is e.g boot into another OS temporarily, without being at the keyboard. There was a way to configure the boot order in Clover, but it seems everything is moved to NVRAM now. On a real bootcamp install, it could be done via System Prefs > Startup Disk, but the only Startup Disk option available is my Ventura disk. Using the Opencore picker is not an option without being at the keyboard, same for Ctrl-Enter to change the default boot. Is there any way I can tell OpenCore to reboot into linux from MacOS? Perhaps injecting key in NVRAM manually? Edited June 21, 2023 by TijuanaKez Link to comment Share on other sites More sharing options...
TijuanaKez Posted Monday at 07:15 PM Author Share Posted Monday at 07:15 PM Anyone? If I know the UUIDs of all the partitions, could I use a terminal command like this? sudo nvram efi-boot-device=GUID_of_partition Link to comment Share on other sites More sharing options...
jpz4085 Posted yesterday at 12:22 AM Share Posted yesterday at 12:22 AM On 6/21/2023 at 5:05 PM, TijuanaKez said: Is there any way I can tell OpenCore to reboot into linux from MacOS? Since the Starup Disk is not relevant in this case and you don't have access to the keyboard probably the best you can do is change the UEFI boot order in NVRAM used by OpenCore. This assumes that you have the RequestBootVarRouting quirk enabled in the UEFI section of your config file. Put the entry for GRUB (if installed) first in the BootOrder list then change back when done or enable GRUB only temporarily using the BootNext setting. You can do this from Linux using the efibootmgr command or from macOS using the bootoption utility. Refer to the documentation of both for details. On 4/22/2024 at 3:15 PM, TijuanaKez said: If I know the UUIDs of all the partitions, could I use a terminal command like this? Probably not since OpenCore would need an entry with the path to a Linux kernel and the associated boot arguments. If going that route you may be able to create one (and set as default or BootNext) using the tools above but I've not tried that approach and can't say if that would work. Link to comment Share on other sites More sharing options...
TijuanaKez Posted 16 hours ago Author Share Posted 16 hours ago Amazing. Thanks for that, I wasn't aware of the bootoption utility. That definitely looks promising. It correctly lists all 3 OS. BootCurrent: Not set BootNext: Not set Timeout: 1 1: Boot0080 Mac OS X 2: Boot0001 ubuntu 3: Boot0000 Windows Boot Manager Now my only problem is allowing NVRAM write in SIP, but I'm getting conflicting information on the web. These appear to be the options. CSR_ALLOW_UNTRUSTED_KEXTS = 0x1 CSR_ALLOW_UNRESTRICTED_FS = 0x2 CSR_ALLOW_TASK_FOR_PID = 0x4 CSR_ALLOW_KERNEL_DEBUGGER = 0x8 CSR_ALLOW_APPLE_INTERNAL = 0x10 CSR_ALLOW_UNRESTRICTED_DTRACE = 0x20 // Formerly known as CSR_ALLOW_DESTRUCTIVE_DTRACE CSR_ALLOW_UNRESTRICTED_NVRAM = 0x40 CSR_ALLOW_DEVICE_CONFIGURATION = 0x80 CSR_ALLOW_ANY_RECOVERY_OS = 0x100 CSR_ALLOW_UNAPPROVED_KEXTS = 0x200 CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE = 0x400 CSR_ALLOW_UNAUTHENTICATED_ROOT = 0x800 Given that, would you say setting csr-active-config to 0100 000 in config.plist under 7C436110-AB2A-4BBB-A880-FE41995C9F82 is what I should be doing? Do I have that endian-ness right? Or do I need to do this in Recovery? Does OpenCore config.plist setting overwrite the csr-active-config variable every boot? Thanks. Link to comment Share on other sites More sharing options...
Recommended Posts