Jump to content

Clover General discussion


ErmaC
30,167 posts in this topic

Recommended Posts

47 minutes ago, Matgen84 said:

Commit r4887: my question may be stupid: audiodxe must be installed to press F8 and get  HdacodecDump in misc folder? Right.

No, it does not require any additional files.. Yes you require AudioDxe-64.efi installed in CLOVER/drivers64UEFI.

 

Note that there is some sort of bug with the filename creation. Hopefully it can be fixed soon.

Edited by headkaze
  • Like 3
Link to comment
Share on other sites

2 minutes ago, headkaze said:

No, it does not require any additional files.

 

Note that there is some sort of bug with the filename creation. Hopefully it can be fixed soon.

 

Thanks for your reply. Actually, I don't use audiodxe, there is no HdacodecDump file when I press F8 on my system.

Link to comment
Share on other sites

Has anyone been able to use clover to boot into Windows USB installer? On the selection screen, I can see the "Windows EFI" partition. Selecting this then displays "Press any key to continue booting from CD/DVD". Pressing any key just gives me a blank screen. If I boot into the Windows EFI directly instead of Clover, the installation process is normal.

 

Both Clover and Windows are UEFI boot.

 

The reason why I'm doing this is that I'm trying to install Windows to an NVMe card (connected to a PCIe slot) that's installed in a PC that doesn't support NVMe natively. I'm trying to use Clover as a frontend. I've also used Clover as a frontend to OSX that's installed on an NVMe card on a PC that also has no support for NVMe natively.

 

Thanks

Edited by mrjayviper
  • Like 1
Link to comment
Share on other sites

4 hours ago, mrjayviper said:

Has anyone been able to use clover to boot into Windows USB installer? On the selection screen, I can see the "Windows EFI" partition. Selecting this then displays "Press any key to continue booting from CD/DVD". Pressing any key just gives me a blank screen. If I boot into the Windows EFI directly instead of Clover, the installation process is normal.

 

Both Clover and Windows are UEFI boot.

 

The reason why I'm doing this is that I'm trying to install Windows to an NVMe card (connected to a PCIe slot) that's installed in a PC that doesn't support NVMe natively. I'm trying to use Clover as a frontend. I've also used Clover as a frontend to OSX that's installed on an NVMe card on a PC that also has no support for NVMe natively.

 

Thanks

 

Do you try to boot directly into Windows USB Installer? and boot into Clover after Windows installation completed!

Link to comment
Share on other sites

Hi guys,

 

Any idea what's up with this? Worked fine yesterday when building 4888. But now, I get this. And of course, no drivers for AptioMemoryFix and AppleUiSupport in the installer. I'm curious why unknown version though. I doubt this is somehow Clover related, since it worked yesterday, with revision 4888. And although now we're at 4889, I don't think the changes in HdaCodecDump.c would cause third party drivers to be skipped. Still, I'm wondering what could cause this.

 

1638646456_Screenshot2019-02-28at11_41_54.png.8850a4bc349a82bd828633f8430cb95e.png

Edited by arsradu
Link to comment
Share on other sites

37 minutes ago, arsradu said:

Hi guys,

 

Any idea what's up with this? Worked fine yesterday when building 4888. But now, I get this. And of course, no drivers for AptioMemoryFix and AppleUiSupport in the installer. I'm curious why unknown version though. I doubt this is somehow Clover related, since it worked yesterday, with revision 4888. And although now we're at 4889, I don't think the changes in HdaCodecDump.c would cause third party drivers to be skipped. Still, I'm wondering what could cause this.



1638646456_Screenshot2019-02-28at11_41_54.png.8850a4bc349a82bd828633f8430cb95e.png

 

No issue here, I'm using UDK and build with ./ebuild.sh -fr or --ext-co -fr, both worked fine.

Spoiler

Last login: Thu Feb 28 17:14:53 on ttys000
MacBook-Pro:~ badruzeus$ cd ~/udk/UDK2018/
MacBook-Pro:UDK2018 badruzeus$ svn co svn://svn.code.sf.net/p/cloverefiboot/code/ Clover
U    Clover/rEFIt_UEFI/Platform/HdaCodecDump.c
Checked out revision 4889.
MacBook-Pro:UDK2018 badruzeus$ cd Clover
MacBook-Pro:Clover badruzeus$ ./ebuild.sh -fr
TOOLCHAIN_DIR: /Users/badruzeus/udk/UDK2018/Clover/../../opt/local
MTOC_PREFIX: /usr/local/bin/
NASM_PREFIX: /opt/local/bin/
NASM_VER: 2.14.02
Initializing workspace
Loading previous configuration from /Users/badruzeus/udk/UDK2018/Conf/BuildEnv.sh
WORKSPACE: /Users/badruzeus/udk/UDK2018
EDK_TOOLS_PATH: /Users/badruzeus/udk/UDK2018/BaseTools
CONF_PATH: /Users/badruzeus/udk/UDK2018/Conf

Running edk2 build for CloverX64 using the command:
build  -D USE_LOW_EBDA -D HAVE_LEGACY_EMURUNTIMEDXE -p Clover/Clover.dsc  -a X64 -b RELEASE -t XCODE8 -n 5 

Build environment: Darwin-15.6.0-x86_64-i386-64bit
Build start time: 17:16:55, Feb.28 2019

WORKSPACE        = /Users/badruzeus/udk/UDK2018
ECP_SOURCE       = /Users/badruzeus/udk/UDK2018/EdkCompatibilityPkg
EDK_SOURCE       = /Users/badruzeus/udk/UDK2018/EdkCompatibilityPkg
EFI_SOURCE       = /Users/badruzeus/udk/UDK2018/EdkCompatibilityPkg
EDK_TOOLS_PATH   = /Users/badruzeus/udk/UDK2018/BaseTools
CONF_PATH        = /Users/badruzeus/udk/UDK2018/Conf


Architecture(s)  = X64
Build target     = RELEASE
Toolchain        = XCODE8

Active Platform          = /Users/badruzeus/udk/UDK2018/Clover/Clover.dsc
Flash Image Definition   = /Users/badruzeus/udk/UDK2018/Clover/Clover.fdf

Processing meta-data ................ done!
...
(Cencored)
...
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/udk/UDK2018/Clover/Protocols/AppleImageCodec/AppleImageCodec.inf [X64]
Building ... /Users/badruzeus/udk/UDK2018/Clover/Protocols/AppleUITheme/AppleUITheme.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/udk/UDK2018/Clover/Protocols/HashServiceFix/HashServiceFix.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/udk/UDK2018/Clover/Protocols/AppleKeyAggregator/AppleKeyAggregator.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/udk/UDK2018/Clover/Protocols/AppleKeyFeeder/AppleKeyFeeder.inf [X64]
Building ... /Users/badruzeus/udk/UDK2018/Clover/Protocols/DumpUefiCalls/DumpUefiCalls.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/udk/UDK2018/Clover/Protocols/OsxFatBinaryDrv/OsxFatBinaryDrv.inf [X64]
Building ... /Users/badruzeus/udk/UDK2018/Clover/Protocols/EmuVariableUefi/EmuVariableRuntimeDxe.inf [X64]
make: Nothing to be done for `tbuild'.
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/udk/UDK2018/Clover/Drivers/AudioDxe/AudioDxe.inf [X64]
Building ... /Users/badruzeus/udk/UDK2018/Clover/bdmesg_efi/bdmesg.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/udk/UDK2018/Clover/ShellPkg/Application/Shell/Shell.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/udk/UDK2018/Clover/rEFIt_UEFI/refit.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/udk/UDK2018/Clover/OsxAptioFixDrv/OsxAptioFixDrv.inf [X64]
make: Nothing to be done for `tbuild'.
Building ... /Users/badruzeus/udk/UDK2018/Clover/OsxAptioFixDrv/OsxAptioFix3Drv.inf [X64]
[CC] EfiLoader
[CC] OsxAptioFix3Drv
[CC] BdsEntry
[CC] OsxAptioFixDrv
[CC] main
[SLINK] EfiLoader
[SLINK] OsxAptioFixDrv
[SLINK] OsxAptioFix3Drv
[SLINK] BdsDxe
[DLINK1] EfiLoader
[DLINK1] OsxAptioFix3Drv
[DLINK1] OsxAptioFixDrv
[DLINK1] BdsDxe
[MTOC] OsxAptioFix3Drv
[MTOC] OsxAptioFixDrv
[MTOC] EfiLoader
[MTOC] BdsDxe
[GENFW] EfiLoader
[GENFW] OsxAptioFixDrv
Building ... /Users/badruzeus/udk/UDK2018/Clover/OsxLowMemFixDrv/OsxLowMemFixDrv.inf [X64]
[GENFW] OsxAptioFix3Drv
[GENFW] BdsDxe
[CC] menu
[CC] OsxLowMemFixDrv
[SLINK] OsxLowMemFixDrv
[DLINK1] OsxLowMemFixDrv
[MTOC] OsxLowMemFixDrv
[GENFW] OsxLowMemFixDrv
[CC] HdaCodecDump
[SLINK] CLOVER
[DLINK1] CLOVER
[MTOC] CLOVER
[GENFW] CLOVER

Generating DUETEFIMAINFVX64 FV
###
GUID cross reference file can be found at /Users/badruzeus/udk/UDK2018/Build/Clover/RELEASE_XCODE8/FV/Guid.xref

FV Space Information
DUETEFIMAINFVX64 [42%Full] 2752512 total, 1181720 used, 1570792 free

- Done -
Build end time: 17:17:37, Feb.28 2019
Build total time: 00:00:42

Compressing DUETEFIMainFv.FV ...
Encoding
Compressing DxeCore.efi ...
Encoding
Compressing DxeIpl.efi ...
Encoding
Generate Loader Image ...
Created /Users/badruzeus/udk/UDK2018/Build/Clover/RELEASE_XCODE8/FV/Efildr64
warning: boot file bigger than low-ebda permits, switching to --std-ebda
943+0 records in
943+0 records out
482816 bytes transferred in 0.008226 secs (58694484 bytes/sec)
Copy CloverEFI:
  -> boot6
Changing byte at 0xa9 of boot6 to show 6 as init message:
1+0 records in
1+0 records out
1 bytes transferred in 0.000029 secs (34664 bytes/sec)
  -> BOOTX64.efi
  -> CLOVERX64.efi
Copy Mandatory drivers:
  -> FSInject-64.efi
  -> XhciDxe-64.efi
  -> SMCHelper-64.efi
  -> AudioDxe-64.efi
  -> AppleImageCodec-64.efi
  -> AppleKeyAggregator-64.efi
  -> AppleUITheme-64.efi
  -> FirmwareVolume-64.efi
  -> FSInject-64.efi
  -> DataHubDxe-64.efi
  -> SMCHelper-64.efi
  -> AudioDxe-64.efi
  -> AppleImageCodec-64.efi
  -> AppleUITheme-64.efi
  -> AppleKeyAggregator-64.efi
  -> FirmwareVolume-64.efi
  -> VBoxHfs-64.efi
  -> GrubEXFAT-64.efi
  -> GrubISO9660-64.efi
  -> GrubNTFS-64.efi
  -> GrubUDF-64.efi
  -> AptioMemoryFix-64.efi
  -> AptioInputFix-64.efi
  -> AppleUISupport-64.efi
  -> ApfsDriverLoader-64.efi
  -> ApfsDriverLoader-64.efi
  -> AppleImageLoader-64.efi
  -> AppleImageLoader-64.efi
  -> CsmVideoDxe-64.efi
  -> EnglishDxe-64.efi
  -> EmuVariableUefi-64.efi
  -> Fat-64.efi
  -> NvmExpressDxe-64.efi
  -> OsxAptioFix3Drv-64.efi
  -> OsxAptioFixDrv-64.efi
  -> OsxFatBinaryDrv-64.efi
  -> OsxLowMemFixDrv-64.efi
  -> PartitionDxe-64.efi
  -> Ps2MouseDxe-64.efi
  -> UsbKbDxe-64.efi
  -> UsbMouseDxe-64.efi
  -> VBoxExt2-64.efi
  -> VBoxExt4-64.efi
  -> VBoxIso9600-64.efi
  -> AppleKeyFeeder-64.efi
  -> HashServiceFix-64.efi
Copy Applications:
  -> bdmesg.efi
  -> Shell64U.efi
Done!

Generating BootSectors
make: Nothing to be done for `all'.
Done! 

 

 

  • Like 2
Link to comment
Share on other sites

22 minutes ago, Slice said:

It seems external server cancel to provide the files. So why I prefer to keep all sources in one repo.

 

I agree. At least if it fails, it fails for all. But, having some sources compile perfectly fine, while others are not, simply because they're not hosted in the same place...yeah, that can be problematic sometimes. Especially when there are important files that need to be compiled with those sources.

  • Like 1
Link to comment
Share on other sites

Can anyone tell me what appleimageloader.kext is for ? Is it only for filevault ?

  For as far as I know AppleUiSupport is for FileVault. AppleImageLoader is something else.

 

According to the developer's description, it's a:

 

 

Secure AppleEfiFat binary driver with implementation of AppleLoadImage protocol with EfiBinary signature verification.

It provides secure loading of Apple EFI binary files into memory by pre-authenticating its signature.

  Also, it's been removed from AppleSupportPkg starting with version 2.0.5 until it gets Secure Boot compatibility.

 

1374496643_Screenshot2019-03-04at23_42_11.thumb.png.56928a5ecf3150a0272bfc5ba92b27b0.png

 

More info here.

 

 

Edited by arsradu
  • Thanks 1
Link to comment
Share on other sites

Hi guys,

 

Whoever thought of making an EFI backup on the target disk was an absolute genius! That was a brilliant idea.

 

Now, I'm thinking of the following scenario:

Let's say you updated to the latest version of Clover and...for some reason, you can't boot anymore. And you don't have a USB drive with another version of Clover.

You still have access to the Clover UI, but you don't have access to the drivers folder for example (maybe that would be another useful feature), assuming you know that's where the issue resides. But regardless, you know you have a working backup on your target disk. So you can attempt to restore one of the previous versions.

 

Unfortunately...there is no easy way to do that. Or maybe there is and I'm making a total fool of myself writing this. :)) I mean, I guess you could boot in single-user mode and try to copy the content of your backup folder over the current one. Now, one thing I don't know...is whether or not, when you do this, it replaces everything...or adds to the current content. Cause that might cause more issues than it solves... Also, I don't know how many people know how to do this from command line in the first place.

 

So, the idea here is: would it be possible to have a feature to restore a backup of Clover (from the target partition) using the Clover UI itself (assuming you can boot into the UI of course)?

 

I mean, I'm thinking something like this:

  1. scan the target disk for available backups
  2. display the results
  3. let the user choose the one he thinks might be the most reliable one
  4. load that one and replace the current installation with that new/old one.

 

It's just an idea, but also an open discussion. And I would love to know your opinion on it. :) 

 

Alternatively...can we maybe just allow the user to select a backup to boot only that specific time? He can fix his current EFI installation once he gets back into the OS, I guess. Something similar to what we have right now for loading a backup config (another really useful feature). Only in this case, we're not loading only the config from EFI/Clover/Config, but loading the entire folder from EFI-Backups.

 

Maybe I'm missing something here and this idea won't work. Or at least in its current form. Nonetheless, I'd love to know your opinion.

 

Thanks guys!

 

Aaand keep up the good work. :)

Edited by arsradu
  • Like 2
Link to comment
Share on other sites

Nah, you are mistaking the backup as an option to restore a broken or misconfigured installation without another boot mechanism. If you break booting clover you can only fix it by booting something else. There is no where else to really save backups, the ESP doesn't make sense because it may not have a reasonable amount of space for doing so. So, there are two options, and you always need a usb, either keep a working copy of clover (with the EFI shell) on a usb to use the EFI shell to restore or modify, or always test first on a usb. Also you can use a different operating system. Like I often mess up some code and clover will segfault or something, so I just boot directly into windows or linux from the firmware and fix it.

  • Like 1
Link to comment
Share on other sites

4 minutes ago, apianti said:

Nah, you are mistaking the backup as an option to restore a broken or misconfigured installation without another boot mechanism. If you break booting clover you can only fix it by booting something else. There is no where else to really save backups, the ESP doesn't make sense because it may not have a reasonable amount of space for doing so. So, there are two options, and you always need a usb, either keep a working copy of clover (with the EFI shell) on a usb to use the EFI shell to restore or modify, or always test first on a usb. Also you can use a different operating system. Like I often mess up some code and clover will segfault or something, so I just boot directly into windows or linux from the firmware and fix it.

Thanks God, my AMI Aptio has `Launch EFI Shell from FS` option. Anyway, how to boot into *.iso that is placed on specific volume (if it' s possible)?

Link to comment
Share on other sites

I used to do this a few years back:

 

Install clover on both EFI & macOS partition. so if i break one, i have another one. macOS partition is booting as legacy in case UEFI breaks.

But, thats just me :D

 

 

 

Edited by ellaosx
  • Like 2
Link to comment
Share on other sites

2 hours ago, arsradu said:

Hi guys,

 

Whoever thought of making an EFI backup on the target disk was an absolute genius! That was a brilliant idea.

 

Now, I'm thinking of the following scenario:

Let's say you updated to the latest version of Clover and...for some reason, you can't boot anymore. And you don't have a USB drive with another version of Clover.

You still have access to the Clover UI, but you don't have access to the drivers folder for example (maybe that would be another useful feature), assuming you know that's where the issue resides. But regardless, you know you have a working backup on your target disk. So you can attempt to restore one of the previous versions.

 

Unfortunately...there is no easy way to do that. Or maybe there is and I'm making a total fool of myself writing this. :)) I mean, I guess you could boot in single-user mode and try to copy the content of your backup folder over the current one. Now, one thing I don't know...is whether or not, when you do this, it replaces everything...or adds to the current content. Cause that might cause more issues than it solves... Also, I don't know how many people know how to do this from command line in the first place.

 

So, the idea here is: would it be possible to have a feature to restore a backup of Clover (from the target partition) using the Clover UI itself (assuming you can boot into the UI of course)?

 

I mean, I'm thinking something like this:

  1. scan the target disk for available backups
  2. display the results
  3. let the user choose the one he thinks might be the most reliable one
  4. load that one and replace the current installation with that new/old one.

 

It's just an idea, but also an open discussion. And I would love to know your opinion on it. :) 

 

Alternatively...can we maybe just allow the user to select a backup to boot only that specific time? He can fix his current EFI installation once he gets back into the OS, I guess. Something similar to what we have right now for loading a backup config (another really useful feature). Only in this case, we're not loading only the config from EFI/Clover/Config, but loading the entire folder from EFI-Backups.

 

Maybe I'm missing something here and this idea won't work. Or at least in its current form. Nonetheless, I'd love to know your opinion.

 

Thanks guys!

 

Aaand keep up the good work. :)


Just boot to windows, mount EFI partition and modify the EFI/CLOVER files

  • Like 1
Link to comment
Share on other sites

40 minutes ago, apianti said:

Nah, you are mistaking the backup as an option to restore a broken or misconfigured installation without another boot mechanism. If you break booting clover you can only fix it by booting something else. There is no where else to really save backups, the ESP doesn't make sense because it may not have a reasonable amount of space for doing so. So, there are two options, and you always need a usb, either keep a working copy of clover (with the EFI shell) on a usb to use the EFI shell to restore or modify, or always test first on a usb. Also you can use a different operating system. Like I often mess up some code and clover will segfault or something, so I just boot directly into windows or linux from the firmware and fix it.

 

Yeah, well, in this case, that backup doesn't really help. Because, if you can boot from another OS, you can fix your main EFI this way. Same for booting from an USB drive. The idea was for that backup to help you boot (or restore those files back into the EFI partition so you can boot like that) in case there is no other way of getting back into the system.

 

Thing is, I had a very weird issue after installing Clover 4896. Not sure what happened there.... Probably something didn't get properly installed...or sources got messed up. Anyway, problem was I couldn't boot at all. And I didn't have an USB drive with Clover on it at the time... I had a USB drive, just not with Clover. So in the end I just put Clover on that USB from another machine, and was able to boot back into the OS.

 

But that also gave me this idea...of using those backups, since they're really useful, for cases like these where you might get stuck outside the OS, with no option to boot.

 

I guess I was wrong then. :) Thank you very much for your answer.

5 minutes ago, Andres ZeroCross said:


Just boot to windows, mount EFI partition and modify the EFI/CLOVER files

Yeah...I don't use Windows...anymore. :)) But that's definitely another way to fix this. And it's a good idea.

Edited by arsradu
Link to comment
Share on other sites

4 minutes ago, arsradu said:

 

Yeah, well, in this case, that backup doesn't really help. Because, if you can boot from another OS, you can fix your main EFI this way. Same for booting from an USB drive. The idea was for that backup to help you boot (or restore those files back into the EFI partition so you can boot like that) in case there is no other way of getting back into the system.

 

Thing is, I had a very weird issue after installing Clover 4896. Not sure what happened there.... Probably something didn't get properly installed...or sources got messed up. Anyway, problem was I couldn't boot at all. And I didn't have an USB drive with Clover on it at the time... I had a USB drive, just not with Clover. So in the end I just put Clover on that USB from another machine, and was able to boot back into the OS.

 

But that also gave me this idea...of using those backups, since they're really useful, for cases like these where you might get stuck outside the OS, with no option to boot.

 

I guess I was wrong then. :) Thank you very much for your answer.

Yeah...I don't use Windows...anymore. :)) 


Then you can use Shell to copy folder clover to your internal HDD/SSD

  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...