CloverHackyColor / CloverBootloader

Bootloader for macOS, Windows and Linux in UEFI and in legacy mode
BSD 2-Clause "Simplified" License
4.58k stars 622 forks source link

5121/5122: Stuck on "Scan entries" #226

Closed i0ntempest closed 4 years ago

i0ntempest commented 4 years ago

Just updated from 5120 to 5121 and title. The debug.log shows the last line contains "[Preboot]" and previous lines shows it's seeing other OSes on my system and created entries for them, so I think it can't process macOS preboot volume for some reason. I've reverted and deleted the log file but if needed i can recreate one.

csoup50 commented 4 years ago

Im having the same issue. Its stuck at Scan Entries.

tof92130 commented 4 years ago

Same

feedlike commented 4 years ago

and me

rchen14b commented 4 years ago

Same

makn3tiza commented 4 years ago

same

tonycsoka commented 4 years ago

same, moved back to 5120 and all is good in the world

LeeBinder commented 4 years ago

TagStruct::stringValue() : !isString() A fatal error happened. System halted

back to 5120 Boot/BOOTX64.efi (keeping 5121 CLOVER/CLOVERX64.efi) -> all good. So the fatal error which prevents even Clover GUI to load is caused by 5120 Boot/BOOTX64.efi.

WiedNug86 commented 4 years ago

same

procogent commented 4 years ago

same

jief666 commented 4 years ago

The latest commits had few bugs I've introduced because of some quite big refactoring. Please try the latest commit (or this CLOVERX64.efi.zip )

Please tell me if it's now working. Thanks.

LeeBinder commented 4 years ago

@jief666 in my case: no - see my comment above which I just edited. I would need a corrected Boot/BOOTX64.efi.

jief666 commented 4 years ago

If you still have the fatal error with the efi I've sent you, please activate debug in boot section and send me the debug.log.

LeeBinder commented 4 years ago

I do. Sure jief666, here it is: debug.log.zip

i0ntempest commented 4 years ago

Same here with the newest efi. Debug log attached. debug.log

jief666 commented 4 years ago

@LeeBinder @i0ntempest Hi, you both didn't copy that efi in the right place. In "about Clover" and in the log, it should say "Clover revision: 5121 (master, commit 8449a39e4)". Yours is 5121 (master, commit 2607bd4fb), which is the official 5121 version.

Did you think about copying that efi in EFI/BOOT and rename it BOOTX64.efi ?

i0ntempest commented 4 years ago

Oooh, I thought those two files were not the same thing so I copied bootx64.efi 5121 release. Will try again later.

LeeBinder commented 4 years ago

@jief666 wrote:

@LeeBinder @i0ntempest Did you think about copying that efi in EFI/BOOT and rename it BOOTX64.efi ?

jief666, with all due respect: you gotta be kidding ... ๐Ÿ‘Ž such jerry-rigging with rename and copy must not be necessary, esp. if you miss to tell us. Would you please supply a patch anybody can apply, and not merely people with a crystal ball connection into your mind/ head, which is nobody. Still time to do that now - thanks.

PS: remember what Grandma said? "If you make a mistake, admit it" .. ;)

jief666 commented 4 years ago

@LeeBinder I'm surprised of this big reaction. I just gave you this efi so you're not obliged to clone the repository and compile the latest commit. If you would have compiled the latest commit yourself, you still need to copy the efi in the right place depending of your configuration (Legacy or UEFI, if UEFI which boot file are you pointing to). That's why I assumed you knew where to copy it. If you don't, just wait for the next release and do the way you used to. In any case, no need to get mad. You just could just have asked.

LeeBinder commented 4 years ago

@jief666 sorry, but totally no in several aspects. If you obviously know BOOTX64.efi is required(, too), but in the zip you only attach CLOVERX64.efi, and neither do you supply a link to the actual commit, then even tell us that for this to work we would need to compile, which makes it useless to just supply 1 compiled file if more are necessary.. and then, to top it all, tell us "just could just have asked" for which it's necessary to know there is another question to begin with, and then what to ask..

Honestly, jief666: yes, we all are very thankful for your devs' work, but if you make a public blooper like this, just admit it, then fix it, mate .. ;)

So again, to get back to the pragmatic fix needed, can you please next also zip up and attach the required BOOTX64.efi.

BTW, from what I know about Clover, BOOTX64.efi is the file which loads into the GUI. So if nobody here even gets there anymore, BOOTX64.efi is the file in question just by pure logic, not CLOVERX64.efi whose task is the latter boot part into the OS one chooses in the GUI, isn't it?

jief666 commented 4 years ago

I think you should stop ranting, you'll embarrass yourself. You're totally wrong about what does BOOTX64.efi and CloverX64.efi. Since always, BootX64.efi is the same file as CloverX64.efi. Just rename it. I cannot know if you need it because it depends of your hardware and configuration. I'm quite surprised you managed a hackintosh without knowing if you boot on EFI/BOOT/BOOTX64.efi or EFI/CLOVER/CloverX64.efi. That's why I assumed you knew. I'm sorry but I don't want to explain Legacy/UEFI boot process to everyone I try to help as I prefer to concentrate on developement. Sorry, I'm not a howto guide. So nope, I won't spend time explaining what to copy, where to copy, how to modify a plist and which kext patch you need, etc, etc. You have to figure it out yourself. Forums are your friend, not me. Even this message took me too much time (I'm very slow to write). So maybe the best is to wait for new release and do the way you usually do.

LeeBinder commented 4 years ago

even though I've learned a lot about Clover over the years I gladly admit not knowing that indeed EFI/BOOT/BOOTX64.efi or EFI/CLOVER/CloverX64.efi are the same file. Was that embarrassing? No.

I have a recent/ current Notebook with an i5 booting the UEFI way. Obviously @i0ntempest, too. I admit I have no idea which UEFI Bios hardware circumnavigates EFI/BOOT/BOOTX64.efi and hooks right into EFI/CLOVER/CloverX64.efi. From my knowledge as a 35 years IT guy I dare say the least minority.

Attached you find CLOVER 5121 commit-8449a39.zip incl. correct, required and decent instructions:

1. install Clover 5121 - do NOT reboot!
2. from this archive, copy BOOTX64.efi into /EFI/BOOT and CLOVERX64.efi into /EFI/CLOVER, overwriting the existing files ยน
3. reboot and report back
โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”
ยน BOOTX64.efi and CLOVERX64.efi is the same file. It simply depends on your hardware and its settings which file is booted.

Obviously we all can learn.

CLOVER 5121 commit 8449a39.zip

To get back to issue solving now: No, boot still stuck, now w/o any error msg. Had turned debug back off because it delayed boot - will have to turn it back on and attach the debug log.

LeeBinder commented 4 years ago

debug.log.zip

i0ntempest commented 4 years ago

The latest dev build worked for me. Thanks for the fix. debug.log Reading your debug logs, @LeeBinder, I'm pretty sure our problems are different.

SergeySlice commented 4 years ago

debug.log.zip

I think it resolved in 5122.

jief666 commented 4 years ago

Ah, good. Sorry, don't have much time today.

najeebanwer commented 4 years ago

Just tried 5122; still the same problem. Reverted to 5120.

LeeBinder commented 4 years ago

same here. I filed my report here over in the other thread with a similar issue - debug.log and config.plist attached there. @najeebanwer best please also enable debug in Clover's boot section, save, reapply 5122, reboot; reboot into Clover 5120, zip the debug.log up and attach it here so either jief666 or SergeySlice can help. Thank you.

i0ntempest commented 4 years ago

5122 still freezes, same last few lines in the debug log. debug.log

jief666 commented 4 years ago

@i0ntempest @LeeBinder I've added debug messages to understand where it stops. CLOVERX64.efi.zip

i0ntempest commented 4 years ago

Here debug.log

i0ntempest commented 4 years ago

For some reason the last few boots to generate the above log destroyed the EFI partition of my Windows disk. It became empty, fortunately I know some cmd-fu and fixed it in Windows recovery environment. Not likely to be caused by clover but just in case, maybe backup all your ESPs.

jief666 commented 4 years ago

@i0ntempest could you send me your config.plist ? If I reproduce that in VMWare, I could use live debugger and it'll be way easier...

jief666 commented 4 years ago

When you said "The latest dev build worked for me", which one was it ?

jief666 commented 4 years ago

Added more debug messages : CLOVERX64.efi.zip

i0ntempest commented 4 years ago

Commit 8449a39. Iโ€™ll put my config.plist here once I get back to my machine.

jief666 commented 4 years ago

Yes, the last one I've sent you is also commit 8449a39e4 ! Weird.

LeeBinder commented 4 years ago

Added more debug messages : CLOVERX64.efi.zip

debug.log + config.plist.zip

@jief666 @SergeySlice that Clover here now gets stuck because ApfsDriverLoader.efi is (and needs to be) present in drivers/UEFI did not occur after (jief666's) "quite big refactoring" for the 5121 release but only after r5122. As a hint for you devs what to look for in the code changes. It seems most logical to solve that first because different bugs appear to pile up here.

jief666 commented 4 years ago

@LeeBinder with you config.plist, I was able to reproduce in Qemu. Faster and less annoying for you. Thanks. CLOVERX64.efi.zip Please confirm it works.

LeeBinder commented 4 years ago

@jief666 thanks but sorry, still stuck. As soon as I move ApfsDriverLoader.efi out of drivers/UEFI, Clover booting fine with your CLOVERX64.efi/ BOOTX64.efi.

New debug.log.zip (with ApfsDriverLoader.efi present)

Can you please zip up your ApfsDriverLoader.efi and attach it?

I need to go to bed now so it will take me a while to continue help debugging this beta.

[EDIT] please note that boot is stuck regardless of with or w/o config.plist.

jief666 commented 4 years ago

@LeeBinder I've checked your debug.log and it's stuck somewhere else. So a bug is solved, let's move to the next. I found another bug. CLOVERX64.efi.zip

@i0ntempest could you try this latest efi and tell me is it's working ?

i0ntempest commented 4 years ago

Yep, this one got my hack booted! Thank you. debug.log

LeeBinder commented 4 years ago

@jief666 - Almost there! Clover now boots into its GUI even with ApfsDriverLoader.efi back in drivers/UEFI; but with <key>ForceKextsToLoad</key> re-enbaled in config.plist: as soon as I click onto any of my macOS icons (Mojave, Catalina, High Sierra) -> stuck again, as before with a fatal error, this time ever so different from the one before:

TagData::setDataValue() : data != NULL && dataLen == 0 A fatal error happened. System halted.

Debug.log's last entries reflect that this is where Clover gets stuck:

42:767  0:019    Force kext: System\Library\Extensions\IONetworkingFamily.kext
43:124  0:357      Force PlugIn kext: System\Library\Extensions\IONetworkingFamily.kext\Contents\PlugIns\AppleBCM5701Ethernet.kext
43:142  0:017      Force PlugIn kext: System\Library\Extensions\IONetworkingFamily.kext\Contents\PlugIns\AppleEthernetAquantiaAqtion.kext

The sections contains strings with backslashes \ as per Clover man/docs so far: \System\Library\Extensions\IONetworkingFamily.kext

Did you or @SergeySlice change something in the code for 5121+ that now requires unix-style forward slashes / /System/Library/Extensions/IONetworkingFamily.kext ?

New debug.log + config.plist.zip incl. <key>ForceKextsToLoad</key>

jief666 commented 4 years ago

Your log says "Starting Clover revision: 5120 (master, commit 33816ae90)" The last version I've sent should say "5122 (master, commit 8276e8b4f)". It's not a slash problem. Try this : CLOVERX64.efi.zip. Must say "Clover revision: 5122 (master, commit f4e10b1a2)" I think I've prevented the only possible cause of "TagData::setDataValue() : data != NULL && dataLen == 0 A fatal error happened. System halted."

LeeBinder commented 4 years ago

hmm, I either got mixed up with my EFI and my Clover test volume, or again with this CLOVERX64.efi/ BOOTX64.efi thing..

Anyway - Y E S, 5122 booting fine again with your latest CLOVERX64.efi.zip 8276e8b ๐Ÿ‘ - phew.. thank you for this round of fixing!

!! @ all others whose Clover also got stuck after the 5121 or 5122 update !!: 1st step is to copy CLOVERX64.efi into EFI/CLOVER, overwriting the existing file. If you boot into Clover via EFI/boot/BOOTX64.efi, you must (!!) also duplicate CLOVERX64.efi, rename it to BOOTX64.efi and copy it into the EFI/boot folder, also overwriting that file. This will be the case unless your EFI/boot/BOOTX64.efi is booting into a different bootloader than Clover, like Windows, Linux etc. in case you have these installed. Only YOU know your personal bootland, nobody else! Therefore - before overwriting BOOTX64.efi - simply make a backup of it so you're on the safer side!

@jief666 In a nutshell, can you share with us what has improved with the latest greatest 5122 after all this "big refactoring" compared with 5120 - what's better/faster/more stable or whatever for the average h'tosh Clover user?

arnaudpladys commented 4 years ago

I tried 5122, god stuck on "Scan entries". I tried to replace my BOOTX64.efi with the proposed version here, managed to got inside clover but with 10 entries, all where not booting.. I rolled back with my backup to 5120, it's fine again. I guess i'm not updating clover for now :D

jief666 commented 4 years ago

@LeeBinder, "what's better/faster" ? I'm afraid not much :-) All what I did these last few weeks. The point of refactoring is to do the same at the end. For developer, it's supposed to be harder to make a mistake that goes un-noticed. So it's more technical and should improve quality for the next releases. Sorry you had to go through all this for having the same at the end !!! I was obviously not at my best when I worked on the settings part. Thank you for you patience and all the tests.

@arnaudpladys If you tried the latest clover that you've downloaded from the previous post, please post your config.plist and debug.log. Thanks.

chriseg93 commented 4 years ago

Agreed, excellent job @LeeBinder @jief666

As Lee said, must install r5122, then download and rename the latest CLOVERX64.efi file given by jief to BOOTX64.efi and then move it into the EFI/Boot/ folder.

jief666 commented 4 years ago

Careful : the efi I've sent you are not releases. Even though there is a revision number and a commit number, it can be wrong because my dev toolchain doesn't always update that. So the next release to integrate the fixes are the next one from today, whatever number is.

LeeBinder commented 4 years ago

@jief666 OK, and thanks.

In that context, what's the Clover dev team's beta testing guideline?

  1. who all beta tests before public release - how many people are in that group?
  2. how many days are allotted for beta testing once the dev team agrees on that alpha (active coding) state has ended and beta state begins?
  3. how many beta channel participants' "thumbs up" are required before final public release?
  4. on what platform (gitter, telegram etc.) does beta testing occur?

Some insight into the internals would be greatly appreciated.

@arnaudpladys please zip up your EFI folder - (minus) the EFI/Clover/Themes and EFI/Apple folders and attach it to your next posting.

jief666 commented 4 years ago

no answer from @arnaudpladys. Closing this issue. Reopen if the problem is still there.