mek21 Posted November 26, 2023 Share Posted November 26, 2023 (edited) Solved here: https://www.insanelymac.com/forum/topic/358845-adding-undetected-linux-boot-menu-entries-to-open-core-text-menu-without-configplist/ Insyde BIOS How does Open Core detect linux? Distros that are shown display kernel version and name of distro. Ext2 and Ext4 filesystems. <key>ScanPolicy</key> <integer>0</integer> <key>SecureBootModel</key> <string>Disabled</string> <key>Vault</key> <string>Optional</string> Following this guide not all linux distros show in text OC boot menu: Before OpenCore 0.7.3, we had to go to UEFI Shell, get linux bootloader path, and add it to config.plist-Misc-Entries. It was quite complicated. config.plist-Misc-BlessOverride is an easier way, but it appears before Windows and has a name of EFI(not changable). But starting from 0.7.3, booting Linux from OC became much easier. OpenCore 0.7.3~ includes OpenLinuxBoot. Just add 2~3 drivers and tweak some quirks, it's done. To use OpenLinuxBoot, do the following steps. Add driver for your Linux root(/) file system. Download OpenCore Binary Data, unzip, and go to Drivers directory. There will be ext4_x64.efi, btrfs_x64.efi, HfsPlus.efi, and so on. If your root fs is ext4(majority of users will use ext4), add ext4_x64.efi to /EFI/OC/Drivers and config.plist-UEFI-Drivers. No arguments required. If you use btrfs, add btrfs_x64.efi. Add OpenLinuxBoot.efi. In the downloaded OpenCorePkg, go to X64/EFI/OC/Drivers and copy OpenLinuxBoot.efi to your /EFI/OC/Drivers. Then, add OpenLinuxBoot.efi to config.plist-UEFI-Drivers. No args. Set config.plist-UEFI-Quirks-RequestBootVarRouting to True. Set config.plist-Misc-Boot-LauncherOption to prevent Linux bootloader from setting itself as the first boot option. If your bios is Insyde based, set it to Short. Otherwise(AMI, Phoenix, etc), set it to Full. If you are using Misc-Entries or Misc-BlessOverride to boot Linux, delete them. Newest Linux kernel entries will appear as a normal entry, and old kernels will appear as an auxiliary one. The display order depends on the disk/partition order. If multiple kernels are installed, it might be a bit messy because OpenLinuxBoot will create boot entry of each kernel. You may set config.plist-Misc-Boot-HideAuxiliary to True so that boot picker is not messy(it hides older linux kernel entries). If you do this, press space bar in boot picker to show old Linux kernel entries. This is optional and will also hide macOS Recovery, Reset NVRAM, and tools marked as Auxiliary. I have no problem without this. Reboot and Linux entries will appear. Edited February 28 by mek21 resolved Link to comment Share on other sites More sharing options...
ArcaneRhapsody Posted December 1, 2023 Share Posted December 1, 2023 I'd suggest to double-check whether you've added the correct drivers for your Linux root file system (ext4_x64.efi or btrfs_x64.efi). For your Insyde BIOS, try setting the config.plist-Misc-Boot-LauncherOption to 'Short'. Also, tweak config.plist-UEFI-Quirks-RequestBootVarRouting to True. If your boot menu is getting cluttered with multiple kernels, setting config.plist-Misc-Boot-HideAuxiliary to True can clean it up, but it'll hide older kernels and auxiliary tools. Link to comment Share on other sites More sharing options...
mek21 Posted December 1, 2023 Author Share Posted December 1, 2023 2 hours ago, ArcaneRhapsody said: I'd suggest to double-check whether you've added the correct drivers for your Linux root file system (ext4_x64.efi or btrfs_x64.efi). For your Insyde BIOS, try setting the config.plist-Misc-Boot-LauncherOption to 'Short'. Also, tweak config.plist-UEFI-Quirks-RequestBootVarRouting to True. If your boot menu is getting cluttered with multiple kernels, setting config.plist-Misc-Boot-HideAuxiliary to True can clean it up, but it'll hide older kernels and auxiliary tools. Thanks, but already made the noted modifications and not detecting all of the linux installs. Need to know what criteria, exactly, Open Core searches in each Linux partition in order to show in boot menu. Link to comment Share on other sites More sharing options...
ArcaneRhapsody Posted December 3, 2023 Share Posted December 3, 2023 On 12/1/2023 at 10:56 AM, mek21 said: Thanks, but already made the noted modifications and not detecting all of the linux installs. Need to know what criteria, exactly, Open Core searches in each Linux partition in order to show in boot menu. Open Core usually spots Linux based on the bootloader files in the EFI partition. If some distros aren't showing, double-check those EFI partitions and confirm the bootloaders are set up right. Make sure your file system driver (like ext4_x64.efi) is in line with your Linux root filesystem. If they don't match or if a driver's missing, that could be why Open Core's missing them. Link to comment Share on other sites More sharing options...
Recommended Posts