Jump to content
30960 posts in this topic

Recommended Posts

Thanks @Zenith, what I need to do is just hardcoded that BASE_NAME since I never built other but X64, and problem solved. In fact they not only reject global macros to be used in INF, but also all of our defined variables / passed from commandline.

Hi Slice. Sorry really short time now, but with a quick look at the source I've lost where Clover handles the separator ':', can be this the problem?

I will look about GUID:Name records in nvram.plist interpretation by Clover. Anyway there is no value for boot0082 and no decryption key at all.

Looks like this application didn't do the main work, it can't save new variables during sleep event.

@Slice

 

i have a question.

I used Clover Configurator and Cloud Clover Editor

I'm not trying to compare the two apps. I want to know which one is correct and want to report it to the creator.

 

CC use this

 

<key>Memory</key>

<dict>
<key>Channels</key>
<integer>2</integer>
<key>Modules</key>
<array>
<dict>
<key>Frequency</key>
<string>1066</string>
<key>Size</key>
<string>8192</string>
<key>Slot</key>
<string>1</string>
<key>Type</key>
<string>DDR4</string>
<key>Vendor</key>
<string>Samsung</string>
</dict>
</array>
<key>SlotCount</key>
<integer>4</integer>
</dict>

 

CCE use

 

<key>Memory</key>

<dict>
<key>Channels</key>
<integer>2</integer>
<key>Modules</key>
<array>
<dict>
<key>Frequency</key>
<integer>1066</integer>
<key>Size</key>
<integer>8192</integer>
<key>Slot</key>
<integer>1</integer>
<key>Type</key>
<string>DDR4</string>
<key>Vendor</key>
<string>Samsung</string>
</dict>
</array>
<key>SlotCount</key>
<integer>4</integer>
</dict>

 

What is correct?

 

additionally report it

http://www.insanelymac.com/forum/topic/284656-clover-general-discussion/?p=2369526

 

Do you have this problem?

 

thanks in advance

@Slice

 

i have a question.

I used Clover Configurator and Cloud Clover Editor

I'm not trying to compare the two apps. I want to know which one is correct and want to report it to the creator.

 

CC use this

 

CCE use

 

What is correct?

 

additionally report it

http://www.insanelymac.com/forum/topic/284656-clover-general-discussion/?p=2369526

 

Do you have this problem?

 

thanks in advance

I think they should be 'integer'.

Please check the latest (currently r4017) Settings.c in src/edk2/Clover/rEFIt_UEFI/Platform/Settings.c at the start of LINE 5008.

(Sorry the code is too much !)

I think they should be 'integer'.

Please check the latest (currently r4017) Settings.c in src/edk2/Clover/rEFIt_UEFI/Platform/Settings.c at the start of LINE 5008.

(Sorry the code is too much !)

Line206 is the explanation.

GetPropertyInteger allows both "Integer" or "String" including HexString.

Any idea about the patching problem I reported here?

No ideas.

  • Like 2

@sherlocks , philip_petev

 

Good report. I also reported other issue.

1.5 still has issues. Spin wait and metadata never index can't help failure case in my case and your case.

I will report it to syscl.
Now, he is busy. Because he has exams.

Thank you

나의 LG-F410S 의 Tapatalk에서 보냄

 

syscl and I had a brief chat about this issue and why there could be nvram.plist in / some times. 

 

Note: we did not have a such an occurrence (file in /)

 

However, the difference is likely because we are NOT running the nvram_script as part of the standard CloverDaemon shutdown process. we suspect this is the reason for random failure:

 

why not? Running the nvram save script as a result of shutdown kill (in the standard CloverDaemon), is not going to be 100% reliable as there is a race to kill all processes and unmount all filesystems to shutdown gracefully. So sometimes it will work (mount ESP and complete the write) and every now and then it will not.

 

A more reliable method (and endorsed by apple) has proven to be: use a LogoutHook.

 

So I split CloverDaemon into 2 scripts

- first one runs all startup scripts in /etc/rc.boot.d invoked by launchd 

- the 2nd one does NOT sit in a spin wait loop - BUT is ONLY run as a LogoutHook - which then runs all scripts in /etc/rc.shutdown.d

  • Like 1

 

CC use this

 

CCE use

Pandora's Box do that: 

 

post-674334-0-07257500-1487962800_thumb.png -->post-674334-0-48275600-1487962808_thumb.png

 

for me CCE is right

I will look about GUID:Name records in nvram.plist interpretation by Clover. Anyway there is no value for boot0082 and no decryption key at all.

Looks like this application didn't do the main work, it can't save new variables during sleep event.

Tomorrow will do extensive tests. As I said there is a bug typing values with "String" tag

  • Like 1

@sherlocks , philip_petev

 

 

syscl and I had a brief chat about this issue and why there could be nvram.plist in / some times. 

 

Note: we did not have a such an occurrence (file in /)

 

However, the difference is likely because we are NOT running the nvram_script as part of the standard CloverDaemon shutdown process. we suspect this is the reason for random failure:

 

why not? Running the nvram save script as a result of shutdown kill (in the standard CloverDaemon), is not going to be 100% reliable as there is a race to kill all processes and unmount all filesystems to shutdown gracefully. So sometimes it will work (mount ESP and complete the write) and every now and then it will not.

 

A more reliable method (and endorsed by apple) has proven to be: use a LogoutHook.

 

So I split CloverDaemon into 2 scripts

- first one runs all startup scripts in /etc/rc.boot.d invoked by launchd 

- the 2nd one does NOT sit in a spin wait loop - BUT is ONLY run as a LogoutHook - which then runs all scripts in /etc/rc.shutdown.d

 

okay. i understand it

If there is a way to improve the problem, I am ready to test it.

thank you

Pandora's Box do that: 

 

 

for me CCE is right

Tomorrow will do extensive tests. As I said there is a bug typing values with "String" tag

 

thanks micky

  • Like 1

Hi folks, would anyone know if I can use Clover in any way to select the default audio device (Mine recently started reverting back to Headphone after a reboot)?

 

If not, would anyone know where I might start to look?

 

Sherlocks did mention trying Clover version r3974 but I don't think that had the fix to allow the latest Sierra betas to boot?

@sherlocks (and others) - nvram save via logouthook only

 

- here is a zip with a script to convert to the "dual script" CloverDaemon with LogoutHook.

it is essentially using the same /etc/rc.shutdown.d script - but will be initiated by LogoutHook

 

- unzip and run nvram_save_patch.command script

- reboot

 

 

 

nvram-logouthook.zip

  • Like 1

@sherlocks (and others) - nvram save via logouthook only

 

- here is a zip with a script to convert to the "dual script" CloverDaemon with LogoutHook.

it is essentially using the same /etc/rc.shutdown.d script - but will be initiated by LogoutHook

 

- unzip and run nvram_save_patch.command script

- reboot

I will test your script for weeks

 

Thank you

 

나의 LG-F410S 의 Tapatalk에서 보냄

Hi folks, would anyone know if I can use Clover in any way to select the default audio device (Mine recently started reverting back to Headphone after a reboot)?

 

If not, would anyone know where I might start to look?

 

Sherlocks did mention trying Clover version r3974 but I don't think that had the fix to allow the latest Sierra betas to boot?

me too in Sierra, but in Yosemite no problem (output @ internal speaker)

  • Like 1

Same here on ALC887. In most cases the default output device is HP instead of Speaker. Finally I resolved it by changing the patches for AppleHDA. (In the past I used 8419d411 -> 8708ec10, now using 8b19d411 -> 8708ec10 && 8a19d411 -> 00000000) And the problem got almost resolved after that. But I shall still seldom get HP as the default output device.

 

 

Sent from my iPhone 7 using Tapatalk

  • Like 2

Hi Guys I made stupid thing. Broke my working system. Here is what I do;

 

I changed Legacy Boot PBR

 

p3GLWzS.png

 

to NONE

 

ZFgwD6H.png

 

You can ask me why doing do that? I just playing on Clover Configurator. I am a big fan of @Slice thread I am trying to new staff even I do not know what they do :blush:  Anyway I shutdown my machine and restart again. Everything works I can't see any problem. 

 

Here is the problem when I turn NONE to PBR again my shutdown doesn't work anymore. Computer making restart after shutdown. I can shutdown with FixShutdown on ACPI fix. 

 

Questions;

 

WHY this settings break my Shutdown?

Should I need the PBR or can I use it as NONE?

Why deprecate MBR?  This is no effort in supporting it because EDK2 PartitionDxe must recognize it according to latest UEFI spec (2.6).

 

I've had LegacyBoot work in PBR mode with CloverEFI BiosBlockIO and SATA controller in 6-series chipset.  I think problems with LegacyBoot only arise if using native UEFI or protected-mode CloverEFI.

 

[The problem is if you start with protected-mode UEFI driver for SATA/USB and try to switch to LegacyBoot using Int 13 is not always possible.]

Edited by Zenith432
  • Like 2

About change deprecated OldWay/newWay Acpi DSDT fixes and Clover 4006 https://sourceforge.net/p/cloverefiboot/code/4006/

I manual deleted only from my config.plist :

 

<key>NewWay_80000000</key>

<true/>

 

And will be now OK?, a have also add my oldway fixes in config.plist

Hi Zenith432,

Not related to previous discussion, I found that Clover version > ~3500 can't boot 10.6.8. Always crash at AppleNVRAM.

The problem is in boot6 -> RuntimeServices -> GetVariable() and I think the problem began at clang compilation. Before 3471 we compiled by gcc-4.9.

The difference is EFI API which is not good supported by clang yet.

macOS expected that RS procedures will have EFI API. It uses registers RCX, RDX, R8, R9 for the first four args.

While clang compiles to UNIX API. RDI, RSI, RDX, RCX.

I don't know why new systems are not crashed but 10.6.8 seems less stable.

 

If I took boot6 3197 and CloverX64.efi rev 4003 all works fine.

The difference is EFI API which is not good supported by clang yet.

macOS expected that RS procedures will have EFI API. It uses registers RCX, RDX, R8, R9 for the first four args.

While clang compiles to UNIX API. RDI, RSI, RDX, RCX.

CLANG38 defines "EFIAPI=__attribute__((ms_abi))".

XCODE5 target uses "-target x86_64-pc-win32-macho" which has Microsoft Windows64 ABI by default on all functions (no need for __attribute__((ms_abi))). However, the handling of VA_LIST is tricky for this target.

  • In Apple clang ver >= 7.3 or Generic clang ver >= 3.7, using __builtin_ms_va_list works with above target.
  • Prior  to these versions of clang there is __builtin_va_list for above target which works in a semi-broken-way.

There is also a bug in __builtin_ms_va_list handling for above target in clang.  I don't know if this has been fixed, but edk2 code in MdePkg/Base/Include.h works around this bug by always jumping at least sizeof(UINTN) when iterating VA_LIST.

 

CLANG38 target uses "-target x86_64-pc-linux-gnu" which generates different code.  It needs __attribute__((ms_abi)) for Windows64 ABI functions, and relies on __builtin_ms_va_list for VA_LIST.  I haven't tested what kind of code this generates.

×
×
  • Create New...