Jump to content
30960 posts in this topic

Recommended Posts

@Slice, thanks for r4364.. it shows kexts version properly on boot logs.  :)

 

 

 

1:458  0:000  Starting Clover revision: 4364 on CLOVER EFI
1:458  0:000  Build with: [Args: -mc --no-usb -D NO_GRUB_DRIVERS_EMBEDDED -t GCC53 | -D DISABLE_USB_SUPPORT -D NO_GRUB_DRIVERS_EMBEDDED -D USE_BIOS_BLOCKIO -D USE_LOW_EBDA -a X64 -b RELEASE -t GCC53 -n 5 | OS: Ubuntu 17.10]
1:458  0:000  SelfDevicePath=PcieRoot(0x0)\Pci(0x1F,0x2)\VenHw(CF31FAC5-C24E-11D2-85F3-00A0C93EC93B,80)\HD(1,GPT,313A28C7-F4BF-42D0-B42E-2AD281EEB011,0x800,0x64000) @1ED02818
.....  .....
151:444  0:000  === [ StartLoader ] =======================================
151:444  0:000  Finally: ExternalClock=24MHz BusSpeed=99773kHz CPUFreq=2195MHz PIS: hw.busfrequency=96000000Hz
151:444  0:000  Loading boot.efi  status=Success
151:880  0:436  GetOSVersion: 10.11.6 (15G19004)
.......  .....
151:903  0:001  Preparing kexts injection for arch=x86_64 from EFI\CLOVER\kexts\10.11
151:903  0:000  Extra kext: EFI\CLOVER\kexts\10.11\ApplePS2SmartTouchPad.kext (v.4.6.8)
151:963  0:060    |-- PlugIn kext: EFI\CLOVER\kexts\10.11\ApplePS2SmartTouchPad.kext\Contents\PlugIns\ApplePS2Keyboard.kext (v.4.6.8)
151:977  0:014    |-- PlugIn kext: EFI\CLOVER\kexts\10.11\ApplePS2SmartTouchPad.kext\Contents\PlugIns\ApplePS2Controller.kext (v.4.6.8)
151:990  0:012  Extra kext: EFI\CLOVER\kexts\10.11\FakeSMC.kext (v.1765)
152:075  0:085    |-- PlugIn kext: EFI\CLOVER\kexts\10.11\FakeSMC.kext\Contents\PlugIns\ACPISensors.kext (v.1765)
152:134  0:058    |-- PlugIn kext: EFI\CLOVER\kexts\10.11\FakeSMC.kext\Contents\PlugIns\CPUSensors.kext (v.1765)
152:146  0:012    |-- PlugIn kext: EFI\CLOVER\kexts\10.11\FakeSMC.kext\Contents\PlugIns\LPCSensors.kext (v.1765)
152:387  0:240    |-- PlugIn kext: EFI\CLOVER\kexts\10.11\FakeSMC.kext\Contents\PlugIns\GPUSensors.kext (v.1765)
152:404  0:017  Extra kext: EFI\CLOVER\kexts\10.11\IOath3kfrmwr.kext (v.1.2.1)
152:447  0:042  Extra kext: EFI\CLOVER\kexts\10.11\RealtekRTL8111.kext (v.2.2.1)
152:495  0:048  Extra kext: EFI\CLOVER\kexts\10.11\CodecCommander.kext (v.2.6.3)
152:573  0:078  Extra kext: EFI\CLOVER\kexts\10.11\CalDigitUSBxHCI.kext (v.1.3.8a2)
152:598  0:024  Extra kext: EFI\CLOVER\kexts\10.11\CalDigitFastIO.kext (v.2.6.1)
152:612  0:013  Extra kext: EFI\CLOVER\kexts\10.11\AsusNBFnKeys.kext (v.2.6)
152:630  0:018  Extra kext: EFI\CLOVER\kexts\10.11\AsusACPIBackLightPanel.kext (v.1.7)
152:643  0:013  Extra kext: EFI\CLOVER\kexts\10.11\Lilu.kext (v.1.2.2)
152:680  0:037  Extra kext: EFI\CLOVER\kexts\10.11\AppleALC.kext (v.1.2.2)
152:732  0:051    |-- PlugIn kext: EFI\CLOVER\kexts\10.11\AppleALC.kext\Contents\PlugIns\PinConfigs.kext (v.1.0.0)
153:286  0:554  Extra kext: EFI\CLOVER\kexts\10.11\ACPIBatteryManager.kext (v.1.81.4)
153:354  0:068  SetStartupDiskVolume:
153:354  0:000    * Volume: 'Macintosh HD' 

 

 

  • Like 1

Hi guys,

 

I am trying to update to High Sierra 10.13.2 now. When I try to start the "macos install prebooter", a crossed circle sign will appear. The drive seems to be converted to APFS already. Strangely I seem to be able to access it from Sierra 10.12.6, which is nice. Now copying apfs.efi from /usr/standalone/i386/ to clover efi and will see what happens...

 

Any other idea? Thanks.

 

EDIT: Ok, replaced APFS.EFI, still no luck, a crossed circle.

 

EDIT: Nevermind, I just had to select "macOS" entry :)

Any idea how I can remove those entries "macos install prebooter" and "filevault install prebooter"?  Must be caused by some additional boot files on the hs installation, but which ones are these?  Would be nice if clover would show the actual detected boot/kernel file path in advanced options.

  • Like 1

hello

 

last clover rev 4365 give me this error

 

 

 

================================================================================
Running from: macOS 10.13.3
Xcode 9.2
Build version 9C40b
================================================================================
Compiler settings
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/c++/4.2.1
Apple LLVM version 9.0.0 (clang-900.0.39.2)
Target: x86_64-apple-darwin17.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
================================================================================
BUILDTOOL is XCODE8

================================================================================
nasm check:
NASM version 2.13.02 compiled on Nov 29 2017
================================================================================
gettext check:
found gettext at /Users/artur_pt/src/opt/local/bin
================================================================================
boot6
TOOLCHAIN_DIR: /Users/artur_pt/src/opt/local
NASM_PREFIX: /Users/artur_pt/src/opt/local/bin/
NASM_VER: 2.13.02
Initializing workspace
Loading previous configuration from /Users/artur_pt/src/edk2/Conf/BuildEnv.sh
WORKSPACE: /Users/artur_pt/src/edk2
EDK_TOOLS_PATH: /Users/artur_pt/src/edk2/BaseTools
CONF_PATH: /Users/artur_pt/src/edk2/Conf
Building tools as they are not found
make -C Source/C
Attempting to detect HOST_ARCH from 'uname -m': x86_64
Detected HOST_ARCH of X64 using uname.
mkdir -p .
make -C Common
gcc -c -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -c -g -I .. -I ../Include/Common -I ../Include/ -I ../Include/IndustryStandard -I ../Common/ -I .. -I . -I ../Include/X64/ -O2 PcdValueCommon.c -o PcdValueCommon.o
PcdValueCommon.c:270:47: error: format specifies type 'unsigned long' but the argument has
type 'UINT64' (aka 'unsigned long long') [-Werror,-Wformat]
sprintf(PcdList[index].Value, "0x%016lx", Value);
~~~~~~ ^~~~~
%016llx
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/secure/_stdio.h:47:56: note:
expanded from macro 'sprintf'
__builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
^~~~~~~~~~~
1 error generated.
make[2]: *** [PcdValueCommon.o] Error 1
make[1]: *** [Common] Error 2
make: *** [source/C] Error 2

 

 

thanks

Any idea how I can remove those entries "macos install prebooter" and "filevault install prebooter"? Must be caused by some additional boot files on the hs installation, but which ones are these? Would be nice if clover would show the actual detected boot/kernel file path in advanced options.

See here

http://www.insanelymac.com/forum/topic/326527-create-custom-entries-to-hide-preboot-and-recovery-apfs-volumes-fusion-drive-installation-with-clover-configurator/

 

Sent from my SM-G930F using Tapatalk

  • Like 2

Any idea how I can remove those entries "macos install prebooter" and "filevault install prebooter"?  Must be caused by some additional boot files on the hs installation, but which ones are these?  Would be nice if clover would show the actual detected boot/kernel file path in advanced options.

 

It shows you in the log, buddy. But assuming you just switched to APFS then you need to hide those container entries specially, if you search on insanely you should be able to find the method to create custom entries for them to hide them. That's the workaround for now...

 

EDIT: SavageAUS beat me to linking the topic.

 

hello

 

last clover rev 4365 give me this error

 

thanks

 

It is known, it is error in EDK2. Revert your EDK2 to previous revision.

  • Like 1

 

Thanks, looks super complicated :) My last question would be: What for are these entries? Is it a rest from the High Sierra Updater or anything useful?  Or could clover hide it by default? Since I get a crossed circle if selecting it.

Thanks, looks super complicated :) My last question would be: What for are these entries? Is it a rest from the High Sierra Updater or anything useful? Or could clover hide it by default? Since I get a crossed circle if selecting it.

Preboot is the default boot volume, the macOS partition is not supposed to be booted anymore. And yes, the installer leaves files back for whatever reason.

Download-Fritz: I can only boot HS by selecting "macOS", selecting any preboot will show me a crossed-circle.

That can have many reasons, most likely the booter is not launched with explicit relativeness to root (path starting with a backslash).

For now, your best bet is hiding Preboot by name, until some distant day the macOS vol is turned unbootable.

  • Like 1

Apply theracermaster's patch. It will be committed soon so you won't have merge conflicts

diff --git a/BaseTools/Source/C/Common/PcdValueCommon.c b/BaseTools/Source/C/Common/PcdValueCommon.c
index 6ca0994744..1b7b48c125 100644
--- a/BaseTools/Source/C/Common/PcdValueCommon.c
+++ b/BaseTools/Source/C/Common/PcdValueCommon.c
@@ -266,7 +266,7 @@ Returns:
     sprintf(PcdList[Index].Value, "0x%08x", (UINT32)(Value & 0xffffffff));
     break;
   case PcdDataTypeUint64:
-#ifdef __GNUC__
+#if defined(__GNUC__) && !defined(__APPLE__)
     sprintf(PcdList[Index].Value, "0x%016lx", Value);
 #else
     sprintf(PcdList[Index].Value, "0x%016llx", Value);

It is known, it is error in EDK2. Revert your EDK2 to previous revision.

@DF, during testing while ago, booter on preboot doesn't come with prelinked file on that dir as usual. My best guess those booter will refuse to launch because they failed to looking that file.  

 

OK DF, YOU WIN!

Edited by cecekpawon

 

Apply theracermaster's patch. It will be committed soon so you won't have merge conflicts

diff --git a/BaseTools/Source/C/Common/PcdValueCommon.c b/BaseTools/Source/C/Common/PcdValueCommon.c
index 6ca0994744..1b7b48c125 100644
--- a/BaseTools/Source/C/Common/PcdValueCommon.c
+++ b/BaseTools/Source/C/Common/PcdValueCommon.c
@@ -266,7 +266,7 @@ Returns:
     sprintf(PcdList[Index].Value, "0x%08x", (UINT32)(Value & 0xffffffff));
     break;
   case PcdDataTypeUint64:
-#ifdef __GNUC__
+#if defined(__GNUC__) && !defined(__APPLE__)
     sprintf(PcdList[Index].Value, "0x%016lx", Value);
 #else
     sprintf(PcdList[Index].Value, "0x%016llx", Value);

 

That is not a proper solution, it should be checking the version of C that is being used, you can still disable C99 in an apple compiler and then this is an error in the opposite direction where %llx is not defined.

 

EDIT: The fix should be this:

diff --git a/BaseTools/Source/C/Common/PcdValueCommon.c b/BaseTools/Source/C/Common/PcdValueCommon.c
index 6ca0994744..1b7b48c125 100644
--- a/BaseTools/Source/C/Common/PcdValueCommon.c
+++ b/BaseTools/Source/C/Common/PcdValueCommon.c
@@ -266,7 +266,7 @@ Returns:
     sprintf(PcdList[Index].Value, "0x%08x", (UINT32)(Value & 0xffffffff));
     break;
   case PcdDataTypeUint64:
-#ifdef __GNUC__
+#if defined(__GNUC__) && !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L)
     sprintf(PcdList[Index].Value, "0x%016lx", Value);
 #else
     sprintf(PcdList[Index].Value, "0x%016llx", Value);

Edit: I'm not sure if this is correct. This breaks building with GCC (testing with 7.2.0 on Ubuntu 17.10). GCC 7.2.0 targets gnu11 as the default standard, but UINT64 is defined as unsigned long. Building in macOS with std=gnu89 also breaks (UINT64 is still defined as unsigned long long).

  • Like 1

That doesn't make any sense. If unsigned long is a UINT64 then unsigned long long is also a UINT64. long is a special type that can either be an int or a long long depending on the platform, linux usually makes it long long but stilllllllll.... Why are neither of them following the standard that has existed for thirty years???? There is no way to check the size of type in preprocessing so what the hell. Maybe it's preparsing the line wrong, try

#if defined(__GNUC__) && (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L))

What does it say the value of __STDC_VERSION__ is for both of those examples?

 

EDIT: C89 does not support %llx so it can't output that error. You need to turn off extensions. GCC should be using -pedantic and -Werror flags, which it appears not to be.

 

EDIT2: Don't you need to specify c89, c99 or c11, not the gnu extension versions?

  • Like 1

EDIT2: Don't you need to specify c89, c99 or c11, not the gnu extension versions?

I was going to ask this, but you were faster. Seems the right one, since it seems to be a matter of language version, not GNU C or not. The ___GNUC___ macro seems redundant.

 

 

Sent from my MI 5s using Tapatalk

No, because __STDC_VERSION__ is not defined by MSVC and MSVC always allows %llx because it just makes some insane combination of c89/c99/c11.............. Yay! Such great specification readers apparently.

 

EDIT: The actual support provided for %llx may actually have been introduced in an earlier version but it appears to be accredited to C99. So I bet that gnu89 actually is one of the later proposals from the 1990s that eventually became c99 or even just c99.

EDIT2: I can't find any reference to %llx in any of the standard specifications before c99. So I don't know what the heck.

EDIT3: I see actually that __STDC__ will be 1 when actually conforming to the standard, so maybe it should be:

#if defined(__GNUC__) && (!defined(__STDC__) || (__STDC__ == 1)) && (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L))

But jeez way too complicated. Just conform to the specs, don't understand trying to add all this {censored} that no one needed but then uses because you make them....

 

EDIT4: The wording on the way the __STDC__ macro is defined is stupid and confusing. I can't tell if it not being defined means that it is c89 or that it is not conforming... Either way why.... whhhhyyyyyyyyy??????????

 

EDIT5: Just noticed too that long long wasn't introduced until c99, so gnu89 is definitely not a compliant implementation. What are the values of those predefined macros??

  • Like 1

Hi,

 

I want to use a 640MB USB stick as a clover boot stick, using EFI boot. But I seem to be unable to make it work. I tried to format it with GPT+HFS, no boot. I also tried GPT+FAT16, but no boot. diskutil always shows me that no EFI partition was created... I guess I need a EFI partition on the usb stick to boot in efi mode (being available as EFI boot drive)?

 

After those steps, I always installed clover with boot0af.

 

How do I setup this stick so it boots clover in EFI mode?

Hi,

 

I want to use a 640MB USB stick as a clover boot stick, using EFI boot. But I seem to be unable to make it work. I tried to format it with GPT+HFS, no boot. I also tried GPT+FAT16, but no boot. diskutil always shows me that no EFI partition was created... I guess I need a EFI partition on the usb stick to boot in efi mode (being available as EFI boot drive)?

 

After those steps, I always installed clover with boot0af.

 

How do I setup this stick so it boots clover in EFI mode?

 

Hi.

You need MBR (Master Boot Record) + MS-DOS (FAT) 

It works fine with Legacy & UEFI boot. 

  • Like 2

Hi,

 

I want to use a 640MB USB stick as a clover boot stick, using EFI boot. But I seem to be unable to make it work. I tried to format it with GPT+HFS, no boot. I also tried GPT+FAT16, but no boot. diskutil always shows me that no EFI partition was created... I guess I need a EFI partition on the usb stick to boot in efi mode (being available as EFI boot drive)?

 

After those steps, I always installed clover with boot0af.

 

How do I setup this stick so it boots clover in EFI mode?

If you "Always install clover with boot0af" there is no need to make the USB as GPT, just format it as Master Boot Record and MS DOS

×
×
  • Create New...