Jump to content
2126 posts in this topic

Recommended Posts

Awesome, thank you! One additional feature/option I'd like to see is to force it to update everything first, then run a build, which is how I currently have it setup, by simply enabling both UPDATE_FLAG=YES and BUILD_FLAG=YES.

This way it's easy to build an always up to date version, but again entirely non-interactively.

Yes, with both UPDATE_FLAG and BUILD_FLAG, set to YES, the script will always try to update the Clover (and edk2, if there's a new recommended version) source before building it. In addition, I've added the ForceEDK2Update option to the config, which set to non-zero, will force the edk2 source update and rebuild the edk2 Basetools.

  • Like 1
  • 3 weeks later...
It seems that the current script is always designed to only receive the latest version.

Can not you get a specific revision?

Currently, there is only a way to temporarily build a specific version by putting it into the Clover folder.

If you insert the revision file, the script will not correctly recognize the revision.

 

EDIT1.

this SUGGESTED_CLOVER_REV is solution.

 

thanks

Hi,

 

 I add any theme manually in CloverV2/Themespkg. After compile, there are  this extension "_title". Can you explain why? Please.

post-1110743-0-55935800-1511418931_thumb.png

is there a possibility since your script can add APFS to clover that the script can have an option to run this script http://www.insanelymac.com/forum/topic/327584-apfsefi-without-verbose-boot/?p=2532527to quite apfs verbosity on the transferred to clover folder apfs file.

  • Like 1

is there a possibility since your script can add APFS to clover that the script can have an option to run this script http://www.insanelymac.com/forum/topic/327584-apfsefi-without-verbose-boot/?p=2532527to quite apfs verbosity on the transferred to clover folder apfs file.

 

Can be done... but the "patch" as is, is not dynamic... I mean "looks like it works".... until now (APFS.efi from latest 10.13.2 beta bla-bla-bla)... can we be sure about this for the next releases?

 

Other way (not automatic way) is patch it before the package process...

 

ErmaC

  • Like 1

I figured it could be optional not automatic something we can trigger from BuildCloverConfig.txt but yeah I see your point it would have to probably parse apfs kext version to known working versions as it might not be a "fix for all" it's your script you would know better then I :)

  • 2 weeks later...

Just updated the script. It now supports those changes. To ensure you have the latest nasm binary, just remove the current one with

rm -f ~/src/opt/local/bin/nasm

To ensure you have the GCC7 toolchain, it's recommended to remove the following two folders:

~/src/opt

~/src/tools

Note that you should set the toolchain as default (Build_Tool=GNU in BuildCloverConfig.txt) in order to download and build it.

I've also merged the other changes from the work branch such as the non-interactive mode, so it's recommended to remove your settings file and let the script create a new one.

  • Like 5

Just updated the script. It now supports those changes. To ensure you have the latest nasm binary, just remove the current one with

rm -f ~/src/opt/local/bin/nasm

To ensure you have the GCC7 toolchain, it's recommended to remove the following two folders:

~/src/opt

~/src/tools

Note that you should set the toolchain as default (Build_Tool=GNU in BuildCloverConfig.txt) in order to download and build it.

I've also merged the other changes from the work branch such as the non-interactive mode, so it's recommended to remove your settings file and let the script create a new one.

Thanks a lot

  • 2 weeks later...

Since lately i'm having trouble to build Clover, it ends with following

 

 

build.py...

/Users/Xabbu/src/edk2/MdePkg/Library/BaseLib/BaseLib.inf(452): error 000E: File/directory not found in workspace

/Users/Xabbu/src/edk2/MdePkg/Library/BaseLib/X64/WriteTr.nasm

 

 

- Failed -

Build end time: 19:00:32, Dec.11 2017

Build total time: 00:00:03

 

 

 

o_Ops, ./ebuild.sh exited with error(s), aborting.

 

can anyone shed some light plz ?!

 

EDIT: SOLVED

Sorry for asking;

I read as noted by the script, it requires at least 16.04 for Ubuntu version, but I've installed Ubuntu 17.10 on my mach.

I then tried to run the script and get these:

BOOTX64.efi && CLOVERX64.efi @1,1KB (instead of 7xxKB if using Ubuntu 16.04 or XCode toolchain under macOS).

(I also remember that on prev 16.04 the script forced to use gcc53 as buildtool, as same as on 17.10 which is gcc72)

 

Any idea to make the script becomes compatible under Ubuntu 17.10? Thanks.  :)

Well, the good news is now Build_Clover script v4.6.1, EDK2 r25909 with Ubuntu 17.10 x64 (kernel: 4.13.0-19) is able to build Clover and no longer get 1KB *.efi. Considering this Ubuntu version for a compatible OS?

 

I have a question; is it normal that GCC built produces smaller boot binary and *.efi compared to XCode does?

Thanks for your great efforts.

r4359_GCC72_Ub1710.zip

Built_r4359_GCC72_Ub17.10_EDK25909.txt.zip

preboot.log_a43sj_10.13.3_r4359.txt.zip

Sorry, but with latest Build_Clover script v4.6.2 i get the following error when building with XCode 9.2:

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

o_Ops, ./ebuild.sh exited with error(s), aborting..

any help is appreciated. Thx. in advance

 

PS: maybe i have to mention the following:

================================================================================
Build_Clover script v4.6.2                                  No update available.
                             <--------------------------------------------------
================================================================================
By Micky1979 based on Slice, Zenith432, STLVNUB, JrCs, cecekpawon, Needy,
cvad, Rehabman, philip_petev, ErmaC

Supported OSes: macOS X, Ubuntu (16.04/16.10), Debian Jessie and Stretch
                             <--------------------------------------------------
CLOVER	Remote revision: 4360	Local revision: 4360
EDK2	Remote revision: 26006	Local revision: 26006

The current local EDK2 revision is the suggested one (26006). 
Used settings: /Users/md/BuildCloverConfig.txt 

PS: maybe i have to mention the following:

================================================================================
Build_Clover script v4.6.2                                  No update available.
                             <--------------------------------------------------
================================================================================
By Micky1979 based on Slice, Zenith432, STLVNUB, JrCs, cecekpawon, Needy,
cvad, Rehabman, philip_petev, ErmaC

Supported OSes: macOS X, Ubuntu (16.04/16.10), Debian Jessie and Stretch
                             <--------------------------------------------------
CLOVER	Remote revision: 4360	Local revision: 4360
EDK2	Remote revision: 26006	Local revision: 26006

The current local EDK2 revision is the suggested one (26006). 
Used settings: /Users/md/BuildCloverConfig.txt 

Already try to restore the suggested EDK2 revision? 25909 (for 4.6.2)

 

ErmaC

  • Like 2

Hi all and Merry Christmas holidays to all.

Two days ago I see a new option show up about clover configurator pro, so I decide to take a look, really good. Anyone knows how to contact Mickey1979?

As a developer I'm interested in its job about that plist editor, but I notice only now is marked as retired and did not even read my private message (email nowhere  :mad: ). Let me know in pm, thanks and sorry for the OT.

Hi all and Merry Christmas holidays to all.

Two days ago I see a new option show up about clover configurator pro, so I decide to take a look, really good. Anyone knows how to contact Mickey1979?

As a developer I'm interested in its job about that plist editor, but I notice only now is marked as retired and did not even read my private message (email nowhere  :mad: ). Let me know in pm, thanks and sorry for the OT.

 

You can contact him throw github...

https://github.com/Micky1979

 

ErmaC

But no email anywhere. Didn't want to open an issue for that, thanks anyway.

 

yep... open an issue..(https://github.com/Micky1979/Clover-Configurator-Pro/issues)

I think is the best and fast way...

 

anyway... I will tell him about you...

 

Cordially

ErmaC

  • Like 1

Sorry, but with latest Build_Clover script v4.6.2 i get the following error when building with XCode 9.2:

 

 

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

o_Ops, ./ebuild.sh exited with error(s), aborting..

 

 

 

Also confirmed by me, I can't build new BaseTools with latest edk revision atm.

This issue was introduced in edk2 r25984 and I'm pretty sure it has something to do with lines 269-273 in edk2/BaseTools/Source/C/Common/PcdValueCommon.c:

#ifdef __GNUC__
    sprintf(PcdList[Index].Value, "0x%016lx", Value);
#else
    sprintf(PcdList[Index].Value, "0x%016llx", Value);
#endif

Whatever defines that GNUC macro, it also breaks the Basetools build. Enforcing the "else" part solves (maybe?!?) the build problem.

  • Like 1
×
×
  • Create New...