Jump to content

Clover General discussion


ErmaC
29,866 posts in this topic

Recommended Posts

Not working here (Using a fresh install of the "standard" Build_Clover.command)...

 

================================================================================
Building Clover
                             <--------------------------------------------------
================================================================================
boot6
                             <--------------------------------------------------
TOOLCHAIN_DIR: /Users/dan/src/opt/local
`-x64' is deprecated because Clover is 64 bit only. This message will be removed soon
MTOC_PREFIX: /usr/local/bin/
NASM_PREFIX: /Users/dan/src/opt/local/bin/
NASM_VER: 2.14.02
Building from: /Users/dan/src/edk2

Running edk2 build for CloverX64 using the command:
build  -D NO_GRUB_DRIVERS_EMBEDDED --conf=/Users/dan/src/edk2/Conf -D USE_LOW_EBDA -p Clover/Clover.dsc  -a X64 -b RELEASE -t XCODE8 -n 9 

Build environment: Darwin-18.7.0-x86_64-i386-64bit
Build start time: 16:32:40, Sep.05 2019

WORKSPACE        = /Users/dan/src/edk2
EDK_TOOLS_PATH   = /Users/dan/src/edk2/BaseTools
CONF_PATH        = /Users/dan/src/edk2/Conf


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

Active Platform          = /Users/dan/src/edk2/Clover/Clover.dsc
Flash Image Definition   = /Users/dan/src/edk2/Clover/Clover.fdf

Processing meta-data .

build.py...
/Users/dan/src/edk2/Clover/Clover.dsc(107): error 000E: File/directory not found in workspace
	/Users/dan/src/edk2/NetworkPkg/Library/DxeNetLib/DxeNetLib.inf
 

- Failed -
Build end time: 16:32:42, Sep.05 2019
Build total time: 00:00:02


o_Ops, ./ebuild.sh exited with error(s), aborting..
Mac-mini:~ dan$ 

 

Edited by D-an-W
Link to comment
Share on other sites

14 minutes ago, Matgen84 said:

What is the difference between discard local change and stash local change?

update overwriting any change you may have done vs keep your changes during an update.The second can lead in a request to resolve conflicts.

 

16 minutes ago, Matgen84 said:

Where Opt and Tools folders aren't present in src/EDK2?

Should be autogenerated, I'll try from scratch to see what happen. 

This is what actually I have:

 

1504753912_Schermata2019-09-05alle17_37_27.png.85e927bda51fea068109cb4e31e6a126.png

17 minutes ago, Matgen84 said:

Yes, I try your script: works fine except issue below. I can't make PKG

I think the culprit is the .gitignore that ignore these files:

# Translation files
CloverUpdater.strings
CloverPackage/CloverUpdater/src/*.lproj
CloverPrefpane.strings
CloverPackage/CloverPrefpane/src/*.lproj

..when should not. Not sure why Slice wanted ignore them entirely. The base ones (English.lproj or en.lproj) must be always present at least. The difference from me and you is that I have it.

 

20 minutes ago, Matgen84 said:

 The repo don't contain patches_edk2 folder, it's normal.

Sure, you don't need anything else, nor edk2. It contains all you need. 

 

  • Thanks 1
Link to comment
Share on other sites

1 hour ago, vector sigma said:

update overwriting any change you may have done vs keep your changes during an update.The second can lead in a request to resolve conflicts.

 

Should be autogenerated, I'll try from scratch to see what happen. 

This is what actually I have:

 

1504753912_Schermata2019-09-05alle17_37_27.png.85e927bda51fea068109cb4e31e6a126.png

I think the culprit is the .gitignore that ignore these files:


# Translation files
CloverUpdater.strings
CloverPackage/CloverUpdater/src/*.lproj
CloverPrefpane.strings
CloverPackage/CloverPrefpane/src/*.lproj

..when should not. Not sure why Slice wanted ignore them entirely. The base ones (English.lproj or en.lproj) must be always present at least. The difference from me and you is that I have it.

 

Sure, you don't need anything else, nor edk2. It contains all you need. 

 

 

Great job :) Why Option 6 to 9 don't work here... Maybe because there is no new commit.

 

fatal: not a git repository (or any of the parent directories): .git
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

 

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

I did my build clover with the GGC8 is what is needed because we use EDK2?

tHATS verry long to Build GGC. Is the GGC still required ? ? ?

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

41 minutes ago, chris1111 said:

I did my build clover with the GGC8 is what is needed because we use EDK2?

tHATS verry long to Build GGC. Is the GGC still required ? ? ?

Of course not.  On macOS the default toolchain is XCODE8.

You need mtoc which can be built with buildmtoc.sh and place it in one of the places ebuild.sh looks for it.

You need to have Xcode.app installed and xcode-select set to point to it.

 

I have gcc 9.2 working, maybe I'll check it in later this week. 

  • Like 2
Link to comment
Share on other sites

1 hour ago, Matgen84 said:

 

Great job :) Why Option 6 to 9 don't work here... Maybe because there is no new commit.

 


fatal: not a git repository (or any of the parent directories): .git
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

 

Could you, kindly, try a fresh repository without even the opt directory to see if all is fine now?

Just open buildme and select:

4) build all

on the fresh souce. thanks in advance

Link to comment
Share on other sites

3 hours ago, D-an-W said:

Not working here (Using a fresh install of the "standard" Build_Clover.command)...

Hi, not sure Build_Clover.command can build latest source, but if you want you can try the new Clover on github by using the attached wrapper

 

 

 

Clover.zip

Edited by vector sigma
corrected
  • Thanks 2
Link to comment
Share on other sites

Thanks for the file, it didn't complete the build however...

Building ... /Users/dan/src/CloverBootloader/Library/OpensslLib/OpensslLibNull.inf [X64]
[CC] DivU64x32
[CC] SetMem
[CC] InternalGetSpinLockProperties
"/nasm" -I/Users/dan/src/CloverBootloader/MdePkg/Library/BaseIoLibIntrinsic/X64/ -I/Users/dan/src/CloverBootloader/MdePkg/Library/BaseIoLibIntrinsic/X64/ -I/Users/dan/src/CloverBootloader/MdePkg/Library/BaseIoLibIntrinsic/ -I/Users/dan/src/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic/DEBUG/ -I/Users/dan/src/CloverBootloader/MdePkg/ -I/Users/dan/src/CloverBootloader/MdePkg/Include/ -I/Users/dan/src/CloverBootloader/MdePkg/Include/X64/ -f macho64 -o /Users/dan/src/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic/OUTPUT/X64/IoFifo.obj /Users/dan/src/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic/OUTPUT/X64/IoFifo.iii
/bin/sh: /nasm: No such file or directory
make: *** [/Users/dan/src/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic/OUTPUT/X64/IoFifo.obj] Error 127


build.py...
 : error 7000: Failed to execute command
	make tbuild [/Users/dan/src/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic]


build.py...
 : error 7000: Failed to execute command
	make tbuild [/Users/dan/src/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/MdePkg/Library/BaseLib/BaseLib]


build.py...
 : error F002: Failed to build module
	/Users/dan/src/CloverBootloader/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf [X64, XCODE8, RELEASE]

- Failed -
Build end time: 21:18:46, Sep.05 2019
Build total time: 00:00:13

Dans-Mac-mini:~ dan$ 

 

  • Like 1
Link to comment
Share on other sites

2 hours ago, D-an-W said:

Thanks for the file, it didn't complete the build however...


Building ... /Users/dan/src/CloverBootloader/Library/OpensslLib/OpensslLibNull.inf [X64]
[CC] DivU64x32
[CC] SetMem
[CC] InternalGetSpinLockProperties
"/nasm" -I/Users/dan/src/CloverBootloader/MdePkg/Library/BaseIoLibIntrinsic/X64/ -I/Users/dan/src/CloverBootloader/MdePkg/Library/BaseIoLibIntrinsic/X64/ -I/Users/dan/src/CloverBootloader/MdePkg/Library/BaseIoLibIntrinsic/ -I/Users/dan/src/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic/DEBUG/ -I/Users/dan/src/CloverBootloader/MdePkg/ -I/Users/dan/src/CloverBootloader/MdePkg/Include/ -I/Users/dan/src/CloverBootloader/MdePkg/Include/X64/ -f macho64 -o /Users/dan/src/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic/OUTPUT/X64/IoFifo.obj /Users/dan/src/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic/OUTPUT/X64/IoFifo.iii
/bin/sh: /nasm: No such file or directory
make: *** [/Users/dan/src/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic/OUTPUT/X64/IoFifo.obj] Error 127


build.py...
 : error 7000: Failed to execute command
	make tbuild [/Users/dan/src/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic]


build.py...
 : error 7000: Failed to execute command
	make tbuild [/Users/dan/src/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/MdePkg/Library/BaseLib/BaseLib]


build.py...
 : error F002: Failed to build module
	/Users/dan/src/CloverBootloader/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf [X64, XCODE8, RELEASE]

- Failed -
Build end time: 21:18:46, Sep.05 2019
Build total time: 00:00:13

Dans-Mac-mini:~ dan$ 

 

 

23 minutes ago, STLVNUB said:

Looks like it can't find nasm, is it installed?

More than likely not set properly in script.

Yes it is a bug, the last. I made the buildme script to find the first worthy nasm to build Clover, but in ebuild.sh there's something apparently weird because looks for hard coded paths. Not sure why, but /opt/local/bin/nasm for example is preferred. Ok, the one shipped with macOS is bad, so I can assume someone wanted this for convenience.

/bin/sh: /nasm: No such file or directory

yep, no nasm at "/", that's the problem. Tomorow I'll fix it.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

32 minutes ago, Slice said:

Up to now revision 5071 on sf.net is the same as latest on github.

There was talk y e a r s ago, glad to see you guys finally saw the light.

Now to top it off, how about getting rid of patches and adjusting Clover

Go with the flow.

  • Like 1
Link to comment
Share on other sites

9 hours ago, vector sigma said:

Could you, kindly, try a fresh repository without even the opt directory to see if all is fine now?

Just open buildme and select:


4) build all

on the fresh souce. thanks in advance

 

I've got always some issue. I don't understand why. Terminal file in attachment

Thanks

Test on Terminal

Link to comment
Share on other sites

1 hour ago, ellaosx said:

is it still ok to use sf and compile for now?

Yes, but need to upgrade edk2 to latest stable edk2-stable201908.

 

1242717681_Cloverr5071SFBuild.thumb.png.dcd3b1a0f9b44905f2826ea9e654f4b4.png

 

For those still wanting to compile Clover from SourceForge via svn

1.  Delete old ~/src/edk2 folder (but keep existing ~/src/opt and ~/src/tools folders)
2.  Download latest stable edk2-stable201908.zip & extract into ~/src, renaming it edk2
3.  Open terminal and type the following lines, followed by <Enter> to prepare build tools

cd ~/src/edk2
svn co svn://svn.code.sf.net/p/cloverefiboot/code/ Clover
source edksetup.sh
cp -R Clover/Patches_for_EDK2/* ./
make -C BaseTools

4.  Open terminal and type the following lines, followed by <Enter> to build Clover

cd ~/edk2/Clover
ebuild.sh -fr -D NO_GRUB_DRIVERS_EMBEDDED                  //builds Clover with boot6
ebuild.sh -fr -mc --no-usb -D NO_GRUB_DRIVERS_EMBEDDED     //builds Clover with boot7

5.  Open terminal and type the following lines, followed by <Enter> to build Clover installer pkg and/or iso

cd CloverPackage
./makepkg
make iso

 

If you want to build from scratch from CloverHackyColor GIT

1.  Open terminal and type the following lines, followed by <Enter> to download Clover source files.  Note:  no need to download edk2 :)...

mkdir ~/src // if src folder does not already exist in user's home folder
cd ~/src
git clone https://github.com/CloverHackyColor/CloverBootloader.git

2.  Install/build nasm

cd CloverBootloader
./buildnasm.sh

3.  Run @vector sigma's buildme script...

./buildme // Select option 4 (build all)

1230012398_Cloverr5072fromGIT.png.826c57746d81f9e4ec1cef6d14f49327.png

  • Like 1
  • Thanks 2
Link to comment
Share on other sites

Working with GitHub is simpler.

About sf.net I will propose the follow sequence

1. cd ~

2. mkdir src

3. cd src

4. git clone https://github.com/CloverHackyColor/edk2.git --depth 1

SIC! There is already patched EDK2. depth 1 make your download times smaller.

5. cd edk2

6. make -C BaseTools/Source/C

7. svn co svn://svn.code.sf.net/p/cloverefiboot/code/ Clover

8. source edksetup.sh

9. cd Clover

10. ./buildnasm.sh

11. ./buildgettext.sh

12. ./buildmtoc.sh

13. ./ebuild.sh -fr -mc --no-usb -D NO_GRUB_DRIVERS_EMBEDDED   if you want BIOS_BLOCK_IO legacy boot7
14. ./ebuild.sh -fr -D NO_GRUB_DRIVERS_EMBEDDED

15. cd CloverPackage

16 ./makepkg

17. ./makeiso if you want

 

 

  • Thanks 2
  • Haha 1
Link to comment
Share on other sites

6 hours ago, vector sigma said:

 

Yes it is a bug, the last. I made the buildme script to find the first worthy nasm to build Clover, but in ebuild.sh there's something apparently weird because looks for hard coded paths. Not sure why, but /opt/local/bin/nasm for example is preferred. Ok, the one shipped with macOS is bad, so I can assume someone wanted this for convenience.


/bin/sh: /nasm: No such file or directory

yep, no nasm at "/", that's the problem. Tomorow I'll fix it.

 

18 minutes ago, ellaosx said:

why the need of #2, vector's builme script wont do it automatically?

 

As @vector sigma mentioned in the post above yours, there is a bug/incompatibility in the buildme script at the moment ---> nasm not present error thrown up.  This should be fixed soon.

 

I found in my situation that running the buildnasm script before the buildme script worked to compile Clover successfully :).

 

PS Anyone notice "invalid option 5" when selecting to update Clover (discard local changes)?

buildme Beta, Clover v2.5k r5072 (SHA: ac97cf5)
Remote SHA: ac97cf5

1) build Clover
2) make pkg
3) make iso
4) build all
5) update Clover (discard local changes)
6) update Clover (stash local changes)
7) status
8) show diff
9) quit
Please enter your choice: 5
invalid option 5

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

7 hours ago, Matgen84 said:

 

I've got always some issue. I don't understand why. Terminal file in attachment

Thanks

Test on Terminal

 

4 hours ago, fusion71au said:

As @vector sigma mentioned in the post above yours, there is a bug/incompatibility in the buildme script at the moment ---> nasm not present error thrown up.  This should be fixed soon.

 

I found in my situation that running the buildnasm script before the buildme script worked to compile Clover successfully :).

 

14 hours ago, D-an-W said:

Thanks for the file, it didn't complete the build however...


Building ... /Users/dan/src/CloverBootloader/Library/OpensslLib/OpensslLibNull.inf [X64]
[CC] DivU64x32
[CC] SetMem
[CC] InternalGetSpinLockProperties
"/nasm" -I/Users/dan/src/CloverBootloader/MdePkg/Library/BaseIoLibIntrinsic/X64/ -I/Users/dan/src/CloverBootloader/MdePkg/Library/BaseIoLibIntrinsic/X64/ -I/Users/dan/src/CloverBootloader/MdePkg/Library/BaseIoLibIntrinsic/ -I/Users/dan/src/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic/DEBUG/ -I/Users/dan/src/CloverBootloader/MdePkg/ -I/Users/dan/src/CloverBootloader/MdePkg/Include/ -I/Users/dan/src/CloverBootloader/MdePkg/Include/X64/ -f macho64 -o /Users/dan/src/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic/OUTPUT/X64/IoFifo.obj /Users/dan/src/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic/OUTPUT/X64/IoFifo.iii
/bin/sh: /nasm: No such file or directory
make: *** [/Users/dan/src/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic/OUTPUT/X64/IoFifo.obj] Error 127


build.py...
 : error 7000: Failed to execute command
	make tbuild [/Users/dan/src/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic]


build.py...
 : error 7000: Failed to execute command
	make tbuild [/Users/dan/src/CloverBootloader/Build/Clover/RELEASE_XCODE8/X64/MdePkg/Library/BaseLib/BaseLib]


build.py...
 : error F002: Failed to build module
	/Users/dan/src/CloverBootloader/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf [X64, XCODE8, RELEASE]

- Failed -
Build end time: 21:18:46, Sep.05 2019
Build total time: 00:00:13

Dans-Mac-mini:~ dan$ 

 

fixed! (at github)

  • Thanks 5
Link to comment
Share on other sites

5 hours ago, Slice said:

Working with GitHub is simpler.

About sf.net I will propose the follow sequence

1. cd ~

2. mkdir src

3. cd src

4. git clone https://github.com/CloverHackyColor/edk2.git --depth 1

SIC! There is already patched EDK2. depth 1 make your download times smaller.

5. cd edk2

6. make -C BaseTools/Source/C

7. svn co svn://svn.code.sf.net/p/cloverefiboot/code/ Clover

8. source edksetup.sh

9. cd Clover

10. ./buildnasm.sh

11. ./buildgettext.sh

12. ./buildmtoc.sh

13. ./ebuild.sh -fr -mc --no-usb -D NO_GRUB_DRIVERS_EMBEDDED   if you want BIOS_BLOCK_IO legacy boot7
14. ./ebuild.sh -fr -D NO_GRUB_DRIVERS_EMBEDDED

15. cd CloverPackage

16 ./makepkg

17. ./makeiso if you want

 

 

I can propose to leave Clover outside edk2?

1) is easy using PAKAGES_PATH, patched module will leave separately in the workspace

2) your edk2 repository will be always untouched

3) Clover from git and Clover from svn can coexist in the same src dir

  • Like 1
Link to comment
Share on other sites

2 minutes ago, vector sigma said:

I can propose to leave Clover outside edk2?

1) is easy using PAKAGES_PATH, patched module will leave separately in the workspace

2) your edk2 repository will be always untouched

3) Clover from git and Clover from svn can coexist in the same src dir

Mostly all issues with git-Clover already resolved so I will leave it in the new state.

I may propose to include sf-Clover into folder https://github.com/CloverHackyColor/edk2

and make git-svn synchronization between sf and github. I just don't know how to do this.

Link to comment
Share on other sites

16 minutes ago, Slice said:

Mostly all issues with git-Clover already resolved so I will leave it in the new state.

I may propose to include sf-Clover into folder https://github.com/CloverHackyColor/edk2

and make git-svn synchronization between sf and github. I just don't know how to do this.

 

10 minutes ago, vector sigma said:

no idea, never done...

 

Hi @Slice @vector sigma

 

Thanks for your great job.

 

I found this: http://manpages.ubuntu.com/manpages/cosmic/man1/svn2git.1.html  But I don't know if is interesting or a solution.

svn2git  -  is  a tiny utility for migrating projects from Subversion to Git while keeping
       the trunk, branches and tags where they should  be.  It  uses  git-svn  to  clone  an  svn
       repository  and  does  some  clean-up  to  make  sure  branches and tags are imported in a
       meaningful way, and that the code checked into master ends up being  what's  currently  in
       your svn trunk rather than whichever svn branch your last commit was in.

...

As of svn2git 2.0 there is a new feature to pull in the latest changes from SVN
          into your git repository created with svn2git.  This is a one way sync, but
          allows you to use svn2git as a mirroring tool for your SVN repositories.

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, D-an-W said:

@vector sigma thanks, compiled ok this time.

 

As I have to uncomment a line before compiling can I confirm I should use Option 7 so I don't loose the change?

It should, but it is not guaranteed your change will not generate conflicts with the incoming update ...which you will then have to solve.

Edited by vector sigma
Link to comment
Share on other sites

×
×
  • Create New...