Jump to content

Clover Problems and Solutions


ErmaC
3,206 posts in this topic

Recommended Posts

Hello,

 

I am not sure how official this new repository is:

https://github.com/CloverHackyColor/CloverBootloader

 

But I ask you to import the history of the original repository. Putting aside manual import through git-svn, as done in articles like this:

https://john.albin.net/git/convert-subversion-to-git

 

You could use github import feature, which can handle everything on its own:

https://github.com/new/import

 

Otherwise the migration to github will be a terrible move.

 

Thanks!

  • Thanks 1
Link to comment
Share on other sites

10 hours ago, vit9696 said:

Hello,

 

I am not sure how official this new repository is:

https://github.com/CloverHackyColor/CloverBootloader

 

But I ask you to import the history of the original repository. Putting aside manual import through git-svn, as done in articles like this:

https://john.albin.net/git/convert-subversion-to-git

 

You could use github import feature, which can handle everything on its own:

https://github.com/new/import

 

Otherwise the migration to github will be a terrible move.

 

Thanks!

I have to explain that https://github.com/CloverHackyColor/CloverBootloader

is not a copy of repository on sf.net. It is new project starting from Clover-sf revision 5061. So github does contain a full history of the project. The history contains 28 commits now.

The main difference is new Clover contains all modules from EDK2 needed for build Clover. Just a minimum set. So the new Clover built without any external EDK2 environment.

How it will be synchronized with real EDK2? Let Clover developers decide if any module should be updated like real EDK2 did. I know several EDK2 commits that broke Clover functionality so why Patches_for_EDK2 exists and so why I will carefully check if any news from EDK2 should be taken into account.

 

Link to comment
Share on other sites

3 hours ago, Slice said:

I have to explain that https://github.com/CloverHackyColor/CloverBootloader

is not a copy of repository on sf.net. It is new project starting from Clover-sf revision 5061. So github does contain a full history of the project. The history contains 28 commits now.

The main difference is new Clover contains all modules from EDK2 needed for build Clover.

Even in this case, don't you think it would be better first to clone and sync all the history, so that it will exist also on GitHub, and then remove whatever we want / make other changes to bring it to the new state?

Link to comment
Share on other sites

10 hours ago, Pene said:

Even in this case, don't you think it would be better first to clone and sync all the history, so that it will exist also on GitHub, and then remove whatever we want / make other changes to bring it to the new state?

For the historical purpose we can include sf-Clover into https://github.com/CloverHackyColor/edk2

with all history. It will be a very huge folder if someone wants to navigate through all commits. Anyway old clover revisions are not compatible with new EDK2 and bisection is impossible.

I want to keep new repository small and work with it since 5061.

Link to comment
Share on other sites

3 hours ago, Slice said:

Nice feature!


Dell:CloverHackyColor sergey$ git describe head --tags
5078-2-g87521fa

 

until a tag exist:

MacBook-Pro-di-Francy:CloverBootloader vectorsigma$ git describe head --tags
fatal: No tags can describe '3830dcf5d923eb3dc16cfef96f1521c0c7996785'.
Try --always, or create some tags

 

Link to comment
Share on other sites

18 minutes ago, vector sigma said:

until a tag exist:


MacBook-Pro-di-Francy:CloverBootloader vectorsigma$ git describe head --tags
fatal: No tags can describe '3830dcf5d923eb3dc16cfef96f1521c0c7996785'.
Try --always, or create some tags

 

So the tag is local?

Link to comment
Share on other sites

Someone encounter?

Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/queues.py", line 268, in _feed
    send(obj)
IOError: [Errno 32] Broken pipe
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/queues.py", line 268, in _feed
    send(obj)
IOError: [Errno 32] Broken pipe

 

  • Like 1
Link to comment
Share on other sites

On 9/11/2019 at 6:57 AM, Slice said:

Someone encounter?


Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/queues.py", line 268, in _feed
    send(obj)
IOError: [Errno 32] Broken pipe
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/queues.py", line 268, in _feed
    send(obj)
IOError: [Errno 32] Broken pipe

 

Why installing again python 2.7 if you already have it shipped with the OS? 

I mean, I guess if you uninstall the one in /opt/local the error will go away..

 

EDIT

if we talked about python in macOS

Edited by vector sigma
Link to comment
Share on other sites

/opt/local is macOS.

I found a symlink /opt/local/bin/python pointed to python2 and I will try to change it to python3. I am not sure if our build system is ready for python3 as I always used python2.

 

And yes, I have similar problem in windows.

"D:\Projects\edk2\BaseTools\Source\Python\python.exe" is not installed or added to environment variables

Link to comment
Share on other sites

If I use './ebuild.sh -nb' I can see:

Generating DUETEFIMAINFVX64 FV

GUID cross reference file can be found at /Users/vectorsigma/src/CloverBootloader/Build/Clover/RELEASE_GCC53/FV/Guid.xref

FV Space Information
DUETEFIMAINFVX64 [58%Full] 2752512 total, 1614744 used, 1137768 free
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/queues.py", line 268, in _feed
    send(obj)
IOError: [Errno 32] Broken pipe

while is ok using './ebuild.sh -fr .....'

Link to comment
Share on other sites

1 hour ago, vector sigma said:

Wow!

Quote

Required completion date: End of year, 2020

 

28 minutes ago, vector sigma said:

If I use './ebuild.sh -nb' I can see:


Generating DUETEFIMAINFVX64 FV

GUID cross reference file can be found at /Users/vectorsigma/src/CloverBootloader/Build/Clover/RELEASE_GCC53/FV/Guid.xref

FV Space Information
DUETEFIMAINFVX64 [58%Full] 2752512 total, 1614744 used, 1137768 free
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/queues.py", line 268, in _feed
    send(obj)
IOError: [Errno 32] Broken pipe

while is ok using './ebuild.sh -fr .....'

same

  • Haha 1
Link to comment
Share on other sites

Looks like python3 is also working

Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/queues.py", line 240, in _feed
    send_bytes(obj)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/connection.py", line 200, in send_bytes
    self._send_bytes(m[offset:offset + size])
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/connection.py", line 404, in _send_bytes
    self._send(header + buf)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/connection.py", line 368, in _send
    n = write(self._handle, buf)
BrokenPipeError: [Errno 32] Broken pipe

Other then that compilation is successful.

  • Like 1
Link to comment
Share on other sites

13 hours ago, Slice said:

@vector sigma

About buildme script. May be make GCC53 to be default? If not present then change to XCODE8.

Yes I can. As soon as possible

 

EDIT

done. buildme use GCC53 as default and if not present, XCODE8 will be used. Committed to both sf and github.

Edited by vector sigma
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

5 hours ago, Slice said:

Can somebody remake Clover Updater to check Github releases? How to know what is newer?

#!/bin/sh

rel=($(basename $(curl https://github.com/CloverHackyColor/CloverBootloader/releases | grep /CloverBootloader/releases/tag/ | sed -E 's/.*"([^"]+)".*/\1/')))

echo ${rel[0]}

later I'll take a look

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

I found a strange bug.

This is UefiMemoryAllocationLib/MemoryAllocationLib.c:384

VOID *
InternalAllocatePool (
  IN EFI_MEMORY_TYPE  MemoryType,
  IN UINTN            AllocationSize
  )
{
  EFI_STATUS  Status;
  VOID        *Memory = NULL;
/*
  if (AllocationSize == 0) {
    return NULL;
  }
*/
  Status = gBS->AllocatePool (MemoryType, AllocationSize, &Memory);
  if (EFI_ERROR (Status)) {
    Memory = NULL;
  }
  return Memory;
}

EDK2 assumes that "If AllocationSize is 0, then a valid buffer of 0 size is
  returned". If I return NULL then legacy Clover crashed so why this part of codes are commented out.

 

But UEFI Clover will live much better if return NULL. See the pictures

It seems AMI UEFI which I used made AllocatePool other way.

Clover sources should take into account this difference: if size=0 then buffer may not be NULL.

 

Link to comment
Share on other sites

On 9/12/2019 at 3:57 PM, vector sigma said:

If I use './ebuild.sh -nb' I can see:


Generating DUETEFIMAINFVX64 FV

GUID cross reference file can be found at /Users/vectorsigma/src/CloverBootloader/Build/Clover/RELEASE_GCC53/FV/Guid.xref

FV Space Information
DUETEFIMAINFVX64 [58%Full] 2752512 total, 1614744 used, 1137768 free
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/queues.py", line 268, in _feed
    send(obj)
IOError: [Errno 32] Broken pipe

while is ok using './ebuild.sh -fr .....'

 

This error was an issue with ignore autogen. It iis fixed in newer edk2, starting from this commit:

https://github.com/tianocore/edk2/commit/373298ca0d605b29d6f46f5ba57af53e112f59b3#diff-9be554bf488a08340996265523db336c

Perhaps we should update to a later ("unstable") edk2?

  • Thanks 1
Link to comment
Share on other sites

×
×
  • Create New...