sebus Posted April 9, 2019 Share Posted April 9, 2019 (edited) Just for testing I tried APFS Bootable Clone With Command Line External USB gets created fine, ofcourse at the end I installed Clover on its EFI (same content as Internal drive), but during USB boot, Clover only gives the choice of internal drive. There is no USB at all (even Clover was booted from it) So what makes a drive show up in Clover as OS bootable? The above procedure is for real Apple hardware, but it should also work for Hack/Clover Thanks sebus edit: apianti came up with solution, apfs.efi neess to be copied to EFI partition The issue most likely is that the bless command from the method lacks --setBoot as explained here Edited April 14, 2019 by sebus Link to comment https://www.insanelymac.com/forum/topic/338250-solved-what-makes-clover-to-recognize-drive-as-os-to-boot/ Share on other sites More sharing options...
apianti Posted April 9, 2019 Share Posted April 9, 2019 (edited) Hmmm... I am unsure why it is not being found. Could you please post your debug.log or boot.log? Edited April 9, 2019 by apianti Link to comment https://www.insanelymac.com/forum/topic/338250-solved-what-makes-clover-to-recognize-drive-as-os-to-boot/#findComment-2669576 Share on other sites More sharing options...
sebus Posted April 9, 2019 Author Share Posted April 9, 2019 (edited) Attached debug.log Edited April 9, 2019 by sebus Link to comment https://www.insanelymac.com/forum/topic/338250-solved-what-makes-clover-to-recognize-drive-as-os-to-boot/#findComment-2669603 Share on other sites More sharing options...
apianti Posted April 9, 2019 Share Posted April 9, 2019 Hmmm.... 0:100 0:000 Build with: [Args: -nb -mc --no-usb -D NO_GRUB_DRIVERS_EMBEDDED | -D DISABLE_USB_SUPPORT -D NO_GRUB_DRIVERS_EMBEDDED -D USE_BIOS_BLOCKIO -D USE_LOW_EBDA -D HAVE_LEGACY_EMURUNTIMEDXE -a X64 -b RELEASE -t XCODE8 -n 5 | OS: 10.13.6 | XCODE: 10.1] ... 2:502 0:003 - [00]: Volume: PciRoot(0x0)\Pci(0x1D,0x0)\USB(0x1,0x0)\USB(0x2,0x0) 2:512 0:009 USB volume 2:515 0:003 USB volume 2:519 0:003 - [01]: Volume: PciRoot(0x0)\Pci(0x1D,0x0)\USB(0x1,0x0)\USB(0x2,0x0)\HD(1,GPT,61A8C219-C0D7-4966-B209-DA740178AB8B,0x28,0x64000) 2:526 0:007 Result of bootcode detection: bootable unknown (legacy) 2:529 0:003 USB volume 2:532 0:003 USB volume 2:538 0:005 This is SelfVolume !! 2:541 0:003 - [02]: Volume: PciRoot(0x0)\Pci(0x1D,0x0)\USB(0x1,0x0)\USB(0x2,0x0)\HD(2,GPT,59B8B6A9-B2E8-48A9-A4A3-CED06023459E,0x64028,0x1BEC0460) 2:551 0:009 Result of bootcode detection: bootable unknown (legacy) 2:554 0:003 USB volume 2:558 0:003 USB volume Link to comment https://www.insanelymac.com/forum/topic/338250-solved-what-makes-clover-to-recognize-drive-as-os-to-boot/#findComment-2669615 Share on other sites More sharing options...
Slice Posted April 10, 2019 Share Posted April 10, 2019 18 hours ago, sebus said: So what makes a drive show up in Clover as OS bootable? A drive is macOS bootable if it contains boot.efi. Link to comment https://www.insanelymac.com/forum/topic/338250-solved-what-makes-clover-to-recognize-drive-as-os-to-boot/#findComment-2669644 Share on other sites More sharing options...
sebus Posted April 10, 2019 Author Share Posted April 10, 2019 (edited) @ millusions bro. I like testing things Edited April 10, 2019 by sebus Link to comment https://www.insanelymac.com/forum/topic/338250-solved-what-makes-clover-to-recognize-drive-as-os-to-boot/#findComment-2669698 Share on other sites More sharing options...
sebus Posted April 10, 2019 Author Share Posted April 10, 2019 (edited) And ofcourse I do have boot.efi in /System/Library/CoreServices as well as in Preboot/GUID/System/Library/CoreServices So that is not an issue here... M73:~ sebus$ sudo systemsetup liststartupdisks /Volumes/Sandisk/System/Library/CoreServices /System/Library/CoreServices And yet the Sandisk USB never shows in Clover while booted from IT Edited April 10, 2019 by sebus Link to comment https://www.insanelymac.com/forum/topic/338250-solved-what-makes-clover-to-recognize-drive-as-os-to-boot/#findComment-2669701 Share on other sites More sharing options...
apianti Posted April 10, 2019 Share Posted April 10, 2019 Why are you using those build options? Also unhide the Preboot volume, apparently I didn't copy that line like I thought I had. Link to comment https://www.insanelymac.com/forum/topic/338250-solved-what-makes-clover-to-recognize-drive-as-os-to-boot/#findComment-2669764 Share on other sites More sharing options...
sebus Posted April 11, 2019 Author Share Posted April 11, 2019 (edited) 8 hours ago, apianti said: Why are you using those build options? Also unhide the Preboot volume, apparently I didn't copy that line like I thought I had. That is Clover downloaded from Sourceforge, I did not build it! Why would I unhide Preboot? I have it hidden on every build, and never seen any problem with it 5 hours ago, millusions said: Macs use bless to make a volume bootable, but nobody knows what it does, it communicates with heaven i suspect No, it does NOT work in same way for APFS Well, it is not big secret what bless does - here or here, even if it might be complex Edited April 11, 2019 by sebus Link to comment https://www.insanelymac.com/forum/topic/338250-solved-what-makes-clover-to-recognize-drive-as-os-to-boot/#findComment-2669794 Share on other sites More sharing options...
Slice Posted April 11, 2019 Share Posted April 11, 2019 9 hours ago, millusions said: bro. i like testing things too, but rsync? that's pure masochism. Macs use bless to make a volume bootable, but nobody knows what it does, it communicates with heaven i suspect bless is opensource and everybody can look what it does. Link to comment https://www.insanelymac.com/forum/topic/338250-solved-what-makes-clover-to-recognize-drive-as-os-to-boot/#findComment-2669808 Share on other sites More sharing options...
apianti Posted April 11, 2019 Share Posted April 11, 2019 5 hours ago, sebus said: That is Clover downloaded from Sourceforge, I did not build it! Why would I unhide Preboot? I have it hidden on every build, and never seen any problem with it You are not being serious right? You already answered yourself.... 19 hours ago, sebus said: And ofcourse I do have boot.efi in /System/Library/CoreServices as well as in Preboot/GUID/System/Library/CoreServices ......? 11 hours ago, millusions said: bro. i like testing things too, but rsync? that's pure masochism. Macs use bless to make a volume bootable, but nobody knows what it does, it communicates with heaven i suspect 5 hours ago, millusions said: try this command: apt-get install -f sense-of-humour i dont think it will work, you'll be missing tons of dependencies There's no need to antagonize him for asking a question about something you personally wouldn't do. It would be fine to joke if you were helping or adding to the conversation but you're just looking like a jerk here, man. Link to comment https://www.insanelymac.com/forum/topic/338250-solved-what-makes-clover-to-recognize-drive-as-os-to-boot/#findComment-2669814 Share on other sites More sharing options...
Guest millusions Posted April 11, 2019 Share Posted April 11, 2019 2 minutes ago, apianti said: You are not being serious right? You already answered yourself.... ......? There's no need to antagonize him for asking a question about something you personally wouldn't do. It would be fine to joke if you were helping or adding to the conversation but you're just looking like a jerk here, man. yea. your contribution of ....? is truly outstanding please refrain from butting in to people's conversations with your opionions. thanks Link to comment https://www.insanelymac.com/forum/topic/338250-solved-what-makes-clover-to-recognize-drive-as-os-to-boot/#findComment-2669815 Share on other sites More sharing options...
apianti Posted April 11, 2019 Share Posted April 11, 2019 YOU are the one butting in, I am trying to help and you are making unhelpful quips about using other stuff and haven't even offered a solution or said anything realistic about his question. Please stop. Link to comment https://www.insanelymac.com/forum/topic/338250-solved-what-makes-clover-to-recognize-drive-as-os-to-boot/#findComment-2669818 Share on other sites More sharing options...
Slice Posted April 11, 2019 Share Posted April 11, 2019 2 minutes ago, millusions said: yea. your contribution of ....? is truly outstanding please refrain from butting in to people's conversations with your opionions. thanks His contribution to Clover is truly outstanding. 1 Link to comment https://www.insanelymac.com/forum/topic/338250-solved-what-makes-clover-to-recognize-drive-as-os-to-boot/#findComment-2669819 Share on other sites More sharing options...
apianti Posted April 11, 2019 Share Posted April 11, 2019 Thanks @Slice, wouldn't have done anything without you doing so much though... Link to comment https://www.insanelymac.com/forum/topic/338250-solved-what-makes-clover-to-recognize-drive-as-os-to-boot/#findComment-2669831 Share on other sites More sharing options...
sebus Posted April 11, 2019 Author Share Posted April 11, 2019 (edited) On 4/11/2019 at 1:35 PM, apianti said: On 4/11/2019 at 7:28 AM, sebus said: That is Clover downloaded from Sourceforge, I did not build it! Why would I unhide Preboot? I have it hidden on every build, and never seen any problem with it You are not being serious right? You already answered yourself.... Sorry, did not get what you meant here at all. I do have Preboot hidden on every build I tried & every build boots fine. Why would here be any different? I did not expect this to be such massive problem (apart from the idiotic non-related replies from people that have obviously nothing better to do in life) Just tried this Sandisk USB boot on real Apple hardware and... it did NOT boot either! So it seems that the "method" does not seem to work correctly & not Clover issue at all! SORRY! Edited April 13, 2019 by sebus Link to comment https://www.insanelymac.com/forum/topic/338250-solved-what-makes-clover-to-recognize-drive-as-os-to-boot/#findComment-2669872 Share on other sites More sharing options...
apianti Posted April 11, 2019 Share Posted April 11, 2019 (edited) Actually, there is something wrong with the disk. It is not actually being used as APFS, otherwise you would have entries like these: 2:595 0:004 - [06]: Volume: PciRoot(0x0)\Pci(0x1F,0x2)\Sata(0x0,0xFFFF,0x0)\HD(2,GPT,F4185928-69E8-451B-BBAA-944E0F891E29,0x64028,0xEE18260) 2:603 0:007 Result of bootcode detection: bootable unknown (legacy) 2:606 0:003 - [07]: Volume: PciRoot(0x0)\Pci(0x1F,0x2)\Sata(0x0,0xFFFF,0x0)\HD(2,GPT,F4185928-69E8-451B-BBAA-944E0F891E29,0x64028,0xEE18260)\VenMedia(BE74FCF7-0B7C-49F3-9147-01F4042E6842,F5074605EE67754F9CC4A5345DF1B3E5) 2:615 0:008 hiding this volume 2:618 0:003 - [08]: Volume: PciRoot(0x0)\Pci(0x1F,0x2)\Sata(0x0,0xFFFF,0x0)\HD(2,GPT,F4185928-69E8-451B-BBAA-944E0F891E29,0x64028,0xEE18260)\VenMedia(BE74FCF7-0B7C-49F3-9147-01F4042E6842,716C107335260F3B857082F63F730E86) 2:625 0:006 - [09]: Volume: PciRoot(0x0)\Pci(0x1F,0x2)\Sata(0x0,0xFFFF,0x0)\HD(2,GPT,F4185928-69E8-451B-BBAA-944E0F891E29,0x64028,0xEE18260)\VenMedia(BE74FCF7-0B7C-49F3-9147-01F4042E6842,C5809751584BBF4AB74D713E1EC04A4A) 2:634 0:008 hiding this volume 2:637 0:003 - [10]: Volume: PciRoot(0x0)\Pci(0x1F,0x2)\Sata(0x0,0xFFFF,0x0)\HD(2,GPT,F4185928-69E8-451B-BBAA-944E0F891E29,0x64028,0xEE18260)\VenMedia(BE74FCF7-0B7C-49F3-9147-01F4042E6842,3BF72D2BDC8B4341A12BE15CE3606967) Notice the vendor media extension on the end of the device path for the volumes? That's where the information is accessible, the other from above is just seen as a raw partition because it's never scanned: 2:957 0:005 === [ ScanLoader ] ======================================== 3:096 0:139 - [01]: 'EFI' 3:105 0:008 AddLoaderEntry for Volume Name=EFI 3:108 0:003 skipped because entry is hidden 3:112 0:003 - [05]: 'EFI' 3:121 0:009 AddLoaderEntry for Volume Name=EFI 3:124 0:003 skipped because entry is hidden 3:128 0:003 - [07]: 'Preboot', hidden 3:134 0:006 - [08]: 'ToshibaQ128' 3:199 0:064 AddLoaderEntry for Volume Name=ToshibaQ128 3:214 0:014 Check if volume Is Hibernated: 3:217 0:003 Check sleep image 'by signature': 3:239 0:021 read prefs \Library\Preferences\com.apple.PowerManagement.plist status=Success 3:242 0:003 using default sleep image name = \private\var\vm\sleepimage 3:259 0:017 sleepimage not found -> Not Found 3:262 0:003 hibernated: no - sign 3:270 0:007 - [09]: 'Recovery', hidden 3:276 0:006 - [10]: 'VM' Notice it skips 0, 2, 3, 4, and 6? Those are all the volumes that do not have a file system procotol so they cannot be searched. 2 is your APFS container, it should then have at least two volumes with vendor media extensions, the installer and the Preboot. This means that APFS is not loaded for that disk. Are you using Apfs.efi or ApfsDriverLoader.efi? Also see here about install and Preboot, https://sourceforge.net/p/cloverefiboot/code/HEAD/tree/rEFIt_UEFI/entry_scan/loader.c#l1162, otherwise, https://sourceforge.net/p/cloverefiboot/code/HEAD/tree/rEFIt_UEFI/entry_scan/loader.c#l1093. EDIT: I forgot to answer about the Preboot, I wanted to see if it would detect boot.efi from the preboot, which would also start the installer/system. Then I realized that the problem is with the disk and APFS when I saw what I posted from your log again. I was actually in the middle of class, posting from my phone so I didn't have a bunch of time to look at what was happening. But as soon as I got home, I saw immediately that I am an idiot. Edited April 12, 2019 by apianti Link to comment https://www.insanelymac.com/forum/topic/338250-solved-what-makes-clover-to-recognize-drive-as-os-to-boot/#findComment-2669891 Share on other sites More sharing options...
apianti Posted April 12, 2019 Share Posted April 12, 2019 (edited) Ok so I see from your log you are using ApfsDriverLoader, which seems that there is no embedded Apfs.efi driver in the APFS container on the USB disk which means that this is caused by an issue with that driver specifically implied by point three: Quote ApfsDriverLoader Open source apfs.efi loader based on reverse-engineered Apple's ApfsJumpStart driver. It chain loads the apfs.efi driver that is already embedded in the APFS container from this container. Loads apfs.efi from APFS container located on the block device. Apfs driver verbose logging suppressed. Version system: connects each apfs.efi to the device from which it was retrieved. Embedded signature verification of chainloaded apfs.efi driver, what prevents possible implant injection. Therefore please replace ApfsDriverLoader with /usr/standalone/i386/apfs.efi from either the installer or your current system volume. EDIT: I think that you have to mount the base image from the installer, unsure. If they are different OS versions, use the one from the installer. Edited April 12, 2019 by apianti 1 Link to comment https://www.insanelymac.com/forum/topic/338250-solved-what-makes-clover-to-recognize-drive-as-os-to-boot/#findComment-2669907 Share on other sites More sharing options...
sebus Posted April 13, 2019 Author Share Posted April 13, 2019 (edited) Absolutely that was the issue! Thanks apianti Once apfs.efi copied it all works fine! sebus Edited April 13, 2019 by sebus Link to comment https://www.insanelymac.com/forum/topic/338250-solved-what-makes-clover-to-recognize-drive-as-os-to-boot/#findComment-2670061 Share on other sites More sharing options...
apianti Posted April 13, 2019 Share Posted April 13, 2019 No, problem, you're welcome, glad you got it working. This may be a bigger issue in the future, as I tend to imagine that the installer will eventually use APFS too. Link to comment https://www.insanelymac.com/forum/topic/338250-solved-what-makes-clover-to-recognize-drive-as-os-to-boot/#findComment-2670083 Share on other sites More sharing options...
Recommended Posts