Jump to content
30960 posts in this topic

Recommended Posts

Thanks @Slice, Legacy Clover r4330 works just fine on my 2nd Gen mach  :) (XCode8.2 | EDK2 r25764):

2:694  0:000  Now is 1.12.2017,  14:45:57 (GMT)
2:694  0:000  Starting Clover revision: 4330 on CLOVER EFI
2:694  0:000  Build with: [Args: -mc --no-usb -D NO_GRUB_DRIVERS_EMBEDDED -t XCODE8 | -D DISABLE_USB_SUPPORT -D NO_GRUB_DRIVERS_EMBEDDED -D USE_BIOS_BLOCKIO -D USE_LOW_EBDA -a X64 -b RELEASE -t XCODE8 -n 5 | OS: 10.11.6 | XCODE: 8.2]
......   .....  ...
377:019  0:000  Loading boot.efi  status=Success
377:467  0:448  GetOSVersion: 10.11.6 (15G18013)
1) Update Build_Clover script v4.5.8
2) update Clover + force edk2 update (no building)
5) build existing revision for release (no update, standard build).

bootlog.log.txt_A43SJ_r4330_XCode8.2.zip

Safe.

Anyway you should always be able to revert to working soultion.

 

 

Thanks. One last question, since I have no experience with EFI partition. If I want to update clover on an EFI partition, I simply do that thru the installer's options, or do I have to mount that EFI partition first manually?

Thanks. One last question, since I have no experience with EFI partition. If I want to update clover on an EFI partition, I simply do that thru the installer's options, or do I have to mount that EFI partition first manually?

If installer then umount the ESP.

If manually copy then mount it.

diskutil mount disk0s1

This short patch

diff --git a/MdePkg/Library/BaseLib/BaseLib.inf b/MdePkg/Library/BaseLib/BaseLib.inf
index 320ac457..b772f82b 100644
--- a/MdePkg/Library/BaseLib/BaseLib.inf
+++ b/MdePkg/Library/BaseLib/BaseLib.inf
@@ -755,7 +755,6 @@
   X86DisablePaging32.c
   X86RdRand.c
   X64/GccInline.c | GCC
-  X64/Thunk16.S | XCODE
   X64/SwitchStack.nasm| GCC
   X64/SwitchStack.S | GCC
   X64/SetJump.nasm| GCC

will switch XCODE5 compilation from Thunk16.S to Thunk16.nasm in edk2 BaseLib and solve the hang at '6'. I have no idea what wrong with Thunk16.S (and/or xcode9.1) yet )-;

I confirm, this patch helps!

  • Like 2

As I understand homegrown XCODE8 toolchain gives priority to .nasm versions of files? If so, then this

--- tools_def.txt.orig	2017-12-01 22:52:31.000000000 +0300
+++ tools_def.txt	2017-12-01 22:53:10.000000000 +0300
@@ -7408,7 +7408,7 @@

 *_XCODE5_*_*_FAMILY            = GCC
 *_XCODE5_*_*_BUILDRULEFAMILY   = XCODE
-*_XCODE5_*_*_BUILDRULEORDER    = S s nasm

 #
 # use xcode-select to change Xcode version of command line tools

will align XCODE5 to XCODE8. Patch for BaseLib .inf file can/should be reverted.

  • Like 1

@nms: I think I used BUILDRULEORDER='nasm S s' for XCODE8 intentionally to make it like GCC49/GCC53.

What you suggest would align XCODE5 to the default BUILDRULEORDER 'nasm asm Asm ASM S s', which would work too :)

 

Edit: Actually, the default BUILDRULEORDER may not work for Xcode because asm and Asm are masm variants may get chosen over S variant.

 

Edit: There was something about Apple EFI lead engineer wanting to use clang -cc1as for all assembly and not use nasm is the reason that the xcode toolchains in EDK2 sample tools_def use BUILDRULEORDER 'S s nasm'.

Edit: There was something about Apple EFI lead engineer wanting to use clang -cc1as for all assembly and not use nasm is the reason that the xcode toolchains in EDK2 sample tools_def use BUILDRULEORDER 'S s nasm'.

His hame is Andrew Fish.

The reason is S files compiled by clang can be optimised by clang linker (dead code elimination). While nasm compilation will not be optimised.

That is why XCODE5 compilation is smaller then XCODE8.

I just don't know if we want this optimisation.

  • Like 1

His hame is Andrew Fish.

The reason is S files compiled by clang can be optimised by clang linker (dead code elimination). While nasm compilation will not be optimised.

That is why XCODE5 compilation is smaller then XCODE8.

I just don't know if we want this optimisation.

Well,

recent changes in nasm itself introduced such features for macho.

@nms: I think I used BUILDRULEORDER='nasm S s' for XCODE8 intentionally to make it like GCC49/GCC53.

What you suggest would align XCODE5 to the default BUILDRULEORDER 'nasm asm Asm ASM S s', which would work too :)

 

Edit: Actually, the default BUILDRULEORDER may not work for Xcode because asm and Asm are masm variants may get chosen over S variant.

 

Edit: There was something about Apple EFI lead engineer wanting to use clang -cc1as for all assembly and not use nasm is the reason that the xcode toolchains in EDK2 sample tools_def use BUILDRULEORDER 'S s nasm'.

In this particular topic it would better to discuss Clover useless source code base I guess. (-;

IMHO, .nasm variants in edk2 supported better. Is there a reason to keep .S variants in Clover repository?

I see nothing wrong with .nasm for decent VisualStudio toolchain (vs2017).

  • Like 1

Clover rev 4318 with OsxAptioFix2

Asus Prime Z370-A

RAM 4x16GB 3000 MHz (64GB)

 

Clover sees the entire RAM but macOS 10.13.1 sees only 2 of 4 banks (32GB), I need to manually fix it in smbios section.

3:798  0:000  === [ ScanSPD ] ===========================================
3:799  0:000  SMBus device : 8086 A2A3 class=0C0500 status=Success
3:799  0:000  SMBus CmdReg: 0x3
3:799  0:000  Scanning SMBus [8086:A2A3], mmio: 0xDFF4A004, ioport: 0xF000, hostc: 0x11
3:799  0:000  Slots to scan [8]...
3:799  0:000  SPD[0]: Got invalid type 0 @0x50. Will set page and retry.
3:800  0:000  SPD[0]: Type 12 @0x50
3:818  0:018  XMP Profile1: 6*125 -83 ns
3:818  0:000  Found module with XMP version 2.0
3:818  0:000  Using XMP Profile1 instead of standard frequency 2132MHz
3:818  0:000  DDR speed 2998MHz
3:818  0:000  Slot: 0 Type 26 16384MB 2998MHz Vendor=Corsair PartNo=CMK32GX4M2B3000C15 SerialNo=0000000000000000
3:819  0:000  SPD[1]: Type 12 @0x51
3:837  0:018  XMP Profile1: 6*125 -83 ns
3:837  0:000  Found module with XMP version 2.0
3:837  0:000  Using XMP Profile1 instead of standard frequency 2132MHz
3:837  0:000  DDR speed 2998MHz
3:837  0:000  Slot: 1 Type 26 16384MB 2998MHz Vendor=Corsair PartNo=CMK32GX4M2B3000C15 SerialNo=0000000000000000
3:837  0:000  SPD[2]: Type 12 @0x52
3:856  0:018  XMP Profile1: 6*125 -83 ns
3:856  0:000  Found module with XMP version 2.0
3:856  0:000  Using XMP Profile1 instead of standard frequency 2132MHz
3:856  0:000  DDR speed 2998MHz
3:856  0:000  Slot: 2 Type 26 16384MB 2998MHz Vendor=Corsair PartNo=CMK32GX4M2B3000C15 SerialNo=0000000000000000
3:856  0:000  SPD[3]: Type 12 @0x53
3:874  0:018  XMP Profile1: 6*125 -83 ns
3:874  0:000  Found module with XMP version 2.0
3:874  0:000  Using XMP Profile1 instead of standard frequency 2132MHz
3:874  0:000  DDR speed 2998MHz
3:874  0:000  Slot: 3 Type 26 16384MB 2998MHz Vendor=Corsair PartNo=CMK32GX4M2B3000C15 SerialNo=0000000000000000

Some recent GenSec changes in EDK2 break the build of BaseTools with XCODE5. If you already have built BaseTools you won't run into this issue (would've posted this in the other thread but I don't have permission).

GenSec.c:1354:21: error: passing 'UINT8 *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types with different sign [-Werror,-Wpointer-sign]
        if (stricmp(DummyFileBuffer, InFileBuffer + (InFileSize - DummyFileSize)) == 0){
                    ^~~~~~~~~~~~~~~
/usr/include/strings.h:78:29: note: passing argument to parameter here
int      strcasecmp(const char *, const char *);
                                ^
GenSec.c:1354:38: error: passing 'UINT8 *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types with different sign [-Werror,-Wpointer-sign]
        if (stricmp(DummyFileBuffer, InFileBuffer + (InFileSize - DummyFileSize)) == 0){
                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/strings.h:78:43: note: passing argument to parameter here
int      strcasecmp(const char *, const char *);
                                              ^
GenSec.c:1329:16: error: implicit conversion from 'unsigned long long' to 'int' changes value from 9223372036854775829 to 21 [-Werror,-Wconstant-conversion]
        return EFI_ABORTED;
        ~~~~~~ ^~~~~~~~~~~
../Include/Common/UefiBaseTypes.h:119:35: note: expanded from macro 'EFI_ABORTED'

Your prelinkedkernel cache files was broken. Try again

 

나의 LG-F800S 의 Tapatalk에서 보냄

No use.

 

I redownload the 10.13.2 but still show this.

 

9732b58e8e4800ec8a00b601cfb282da.jpg

 

 

从我的 iPhone 发送,使用 Tapatalk

No use.

 

I redownload the 10.13.2 but still show this.

 

9732b58e8e4800ec8a00b601cfb282da.jpg

 

 

从我的 iPhone 发送,使用 Tapatalk

What is your clover revision? Many users installed 10.13.2 successful.

 

나의 LG-F800S 의 Tapatalk에서 보냄

What is your clover revision? Many users installed 10.13.2 successful.

 

나의 LG-F800S 의 Tapatalk에서 보냄

Clover 4318

 

 

 

从我的 iPhone 发送,使用 Tapatalk

What is your clover revision? Many users installed 10.13.2 successful.

 

나의 LG-F800S 의 Tapatalk에서 보냄

1. I have delete macOS install data

2.I have reset nvram

3.I have update the Clover to R4334

 

But still in that screen.

 

 

从我的 iPhone 发送,使用 Tapatalk

Clover 4318

 

 

 

从我的 iPhone 发送,使用 Tapatalk

 

1. I have delete macOS install data

2.I have reset nvram

3.I have update the Clover to R4334

 

But still in that screen.

 

 

从我的 iPhone 发送,使用 Tapatalk

Your screen means clover can't find prelinkedkernel in folder with boot.efi located in.

Strange.

 

나의 LG-F800S 의 Tapatalk에서 보냄

Your screen means clover can't find prelinkedkernel in folder with boot.efi located in.

Strange.

 

나의 LG-F800S 의 Tapatalk에서 보냄

I have no idea about this.

 

I tried to change osxaptiofix2 to osxaptiofix

Tried to boot without inject kext

 

But still no use.

 

I don’t know what happens.

 

 

从我的 iPhone 发送,使用 Tapatalk

I have no idea about this.

 

I tried to change osxaptiofix2 to osxaptiofix

Tried to boot without inject kext

 

But still no use.

 

I don’t know what happens.

 

 

从我的 iPhone 发送,使用 Tapatalk

Upload your config

 

나의 LG-F800S 의 Tapatalk에서 보냄

×
×
  • Create New...