Git Product home page Git Product logo

clovergrower's Introduction

CloverGrower

Important notes:

  1. Make sure you have Xcode Command Line Tools installed. Won't work without it.
  2. If upgrading, please run CloverGrower.command first.

What is it??; Simple compile Tool For Clover UEFI/bios OS X Booter, suitable for Novice.

Downloads, Compiles and makes package for Clover UEFI/bios bootloader by slice & company

Boots the following: (will add more as they come to light)

OS X: Leopard, Snow Leopard, Lion and Mountain Lion

Windows: Linux: Unix:

Unzip and run CloverGrower.command, you only need to do this ONCE. CloverGrower will download all sources, GCC4.8.0 ( will use latest version), edk2 and Clover. First build will take some time as it needs to compile GCC4.8.0, then it builds edk2 BaseTools and then compiles Clover.

On subsequent uses you only need to open terminal and type "clover" CloverGrower will update any source files from edk2 or Clover and build you a package.

CloverGrowerPro

This is more suited to the Developer/AdvancedUser. CloverGrowerPro at https://github.com/JrCs/CloverGrowerPro.git

clovergrower's People

Contributors

jrcs avatar stlvnub avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

clovergrower's Issues

binutils error!!!!

/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c: In function 'dyn_string_copy':
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c:187: warning: implicit declaration of function 'abort'
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c:187: warning: incompatible implicit declaration of built-in function 'abort'
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c:193: warning: implicit declaration of function 'strcpy'
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c:193: warning: incompatible implicit declaration of built-in function 'strcpy'
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c: In function 'dyn_string_copy_cstr':
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c:206: warning: implicit declaration of function 'strlen'
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c:206: warning: incompatible implicit declaration of built-in function 'strlen'
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c:211: warning: incompatible implicit declaration of built-in function 'strcpy'
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c: In function 'dyn_string_insert':
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c:249: warning: incompatible implicit declaration of built-in function 'abort'
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c:257: warning: implicit declaration of function 'strncpy'
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c:257: warning: incompatible implicit declaration of built-in function 'strncpy'
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c: In function 'dyn_string_insert_cstr':
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c:272: warning: incompatible implicit declaration of built-in function 'strlen'
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c:280: warning: incompatible implicit declaration of built-in function 'strncpy'
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c: In function 'dyn_string_append':
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c:316: warning: incompatible implicit declaration of built-in function 'strcpy'
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c: In function 'dyn_string_append_cstr':
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c:328: warning: incompatible implicit declaration of built-in function 'strlen'
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c:334: warning: incompatible implicit declaration of built-in function 'strcpy'
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c: In function 'dyn_string_substring':
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c:371: warning: incompatible implicit declaration of built-in function 'abort'
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c: In function 'dyn_string_eq':
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/dyn-string.c:396: warning: implicit declaration of function 'strcmp'
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/fibheap.c: In function 'fibheap_union':
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/fibheap.c:151: warning: implicit declaration of function 'free'
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/fibheap.c: In function 'fibheap_replace_key_data':
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/fibheap.c:220: error: 'LONG_MIN' undeclared (first use in this function)
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/fibheap.c:220: error: (Each undeclared identifier is reported only once
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/fibheap.c:220: error: for each function it appears in.)
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/fibheap.c: In function 'fibheap_delete_node':
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/fibheap.c:261: error: 'LONG_MIN' undeclared (first use in this function)
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/fibheap.c:265: warning: implicit declaration of function 'abort'
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/fibheap.c:265: warning: incompatible implicit declaration of built-in function 'abort'
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/fibheap.c: In function 'fibheap_consolidate':
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/fibheap.c:368: warning: implicit declaration of function 'memset'
/Users/jurij/Downloads/CloverGrower-master/toolchain/CloverTools/src/tools/gcc/binutils-2.23.2/libiberty/fibheap.c:368: warning: incompatible implicit declaration of built-in function 'memset'
make[2]: *** [fibheap.o] Error 1
make[1]: *** [all-libiberty] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [all] Error 2

GenFds path issues, builds failing

hello,

There appears to be a problem with GenFds and the path it uses, I'm using a checkout from an hour ago and am a new user that hasn't successfully built Clover yet. It originally said it can't find GenFds, so I symlinked the one from PosixLike into ~/bin/ because I didn't want to stomp on any environment variables this build command sets.

That didn't work either:

The GenFds at CloverGrower/src/edk2/BaseTools/BinWrappers/PosixLike/GenFds contains:

#!/usr/bin/env bash
#python `dirname $0`/RunToolFromSource.py `basename $0` $*
PYTHONPATH="`dirname $0`/../../Source/Python" \
python "`dirname $0`/../../Source/Python"/`basename $0`/`basename $0`.py $*

And I believe from the cwd of the build script that this won't work (the path isn't correct AFAICT) but I'm not sure I'm following the chain of events correctly.

Error log follows.

Generating DUETEFIMAINFVX64 FV
########################################


GenFds.py...
/nethome/people/emory/Projects/CloverGrower/src/edk2/Clover/HFSPlus/HFSPlus.inf(22): error 000E: File/directory not found in workspace
        /nethome/people/emory/Projects/CloverGrower/src/edk2/Clover/HFSPlus/X64/HFSPlus.efi
make: *** [fds] Error 14
###########################


build.py...
 : error 7000: Failed to execute command
        make fds [/nethome/people/emory/Projects/CloverGrower/src/edk2/Build/Clover/RELEASE_GCC47]

- Failed -
Build end time: 19:26:58, Jan.13 2013
Build total time: 00:02:04

Case-sensitive filesystems fail to build in/around code for HFSPlus

Case-sensitive filesystems (ZFS, any non-jhfs+ via NFS and even HFS+ if initialized as case-sensitive) will choke and fail due to not being able to find HFSPlus/X64/HFSPlus.efi โ€” the "IA32" or "X64" subdirectory that contains that file should probably be called ia32 or x64 respectively.

Errors will begin starting with something like:

GenFds.py...
/Users/emory/Projects/CloverGrower/edk2/Clover/HFSPlus/HFSPlus.inf(22): error 000E: File/directory not found in workspace
    /Users/emory/Projects/CloverGrower/edk2/Clover/HFSPlus/X64/HFSPlus.efi
make: *** [fds] Error 14

And there may be others later in the build process.

I dug around a bit and saw a place in the CloverGrower.command it should be fixed but that won't fix it entirely. The tree it pulls from the svn repository will also need to be fixed and I don't know if it's appropriate to submit a routine that fixes it (if it sees that it's broken) in CloverGrower.command or if you'd rather they fix it upstream in Clover?

Workarounds:

Checkout the git repository for CloverGrower onto a case-insensitive filesystem and it should work smoothly.

Alternatively, users may "fix" the discrepancy by symlinking x64 to X64, ia32 to IA32 and, ahem, Ia32 and CloverGrower will build packages as expected.

Notes:

In my above example, /Users/emory/Projects is a ZFS filesystem that is mounted via NFS from a central fileserver that I keep my projects on.

Build error

make: Nothing to be done for `tbuild'.
make: *** [/Users/fatazlity/CloverGrower/src/edk2/Build/Clover/RELEASE_GCC48/X64/Clover/OsxBdsDxe/BdsDxe/DEBUG/BdsDxe.dll] Error 1

build.py...
: error 7000: Failed to execute command
make tbuild [/Users/fatazlity/CloverGrower/src/edk2/Build/Clover/RELEASE_GCC48/X64/Clover/OsxBdsDxe/BdsDxe]

build.py...
: error F002: Failed to build module
/Users/fatazlity/CloverGrower/src/edk2/Clover/OsxBdsDxe/BdsDxe.inf [X64, GCC48, RELEASE]

GCC 4.9.2 error

its more than a month I'm having similar issue with Mav and Yosemite too
screen shot 2014-11-19 at 6 48 10 pm

plz help reply asap

Unable to compile

Building ... /Users/francois/Documents/CloverGrower/src/edk2/MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf [IA32]
Building ... /Users/francois/Documents/CloverGrower/src/edk2/MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf [IA32]
/bin/sh: /Users/francois/Documents/CloverGrower/toolchain/ia32/gcc: No such file or directory
make: *** [/Users/francois/Documents/CloverGrower/src/edk2/Build/Clover/RELEASE_GCC48/IA32/MdePkg/Library/BasePcdLibNull/BasePcdLibNull/OUTPUT/PcdLib.obj] Error 127

build.py...
: error 7000: Failed to execute command
make tbuild [/Users/francois/Documents/CloverGrower/src/edk2/Build/Clover/RELEASE_GCC48/IA32/MdePkg/Library/BasePcdLibNull/BasePcdLibNull]

build.py...
: error 7000: Failed to execute command
make tbuild [/Users/francois/Documents/CloverGrower/src/edk2/Build/Clover/RELEASE_GCC48/IA32/MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull]

build.py...
: error F002: Failed to build module
/Users/francois/Documents/CloverGrower/src/edk2/MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf [IA32, GCC48, RELEASE]

  • Failed -
    Build end time: 13:12:58, May.24 2013
    Build total time: 00:00:02

CloverGrower V5.1f Cloveria32 RELEASE ERROR!!
Good Afternoon.

The strange part is why it wants to compile x32, I'm running x64. Anyway hope you can take a look at it. *I have already removed CloverGrower, and git clone again

3132 build issue, probably svn error?

I am new the Clover source code world and this is actually my first try. Could anyone help with this?

[XCODE]
================= Making all in fdisk440 =================
    [MKDIR] /Users/heming_wang/src/edk2/Clover/CloverPackage/sym/build/fdisk440
    [CC32] auto.c
    [CC32] cmd.c
    [CC32] disk.c
    [CC32] fdisk.c
    [CC32] getrawpartition.c
    [CC32] mbr.c
    [CC32] misc.c
    [CC32] opendev.c
    [CC32] part.c
    [CC32] user.c
    [CC64] auto.c
    [CC64] cmd.c
    [CC64] disk.c
    [CC64] fdisk.c
    [CC64] getrawpartition.c
    [CC64] mbr.c
    [CC64] misc.c
    [CC64] opendev.c
    [CC64] part.c
    [CC64] user.c
    [LD32] fdisk440_32
    [LD64] fdisk440_64
    [LIPO] /Users/heming_wang/src/edk2/Clover/CloverPackage/sym/utils/fdisk440
================= Making all in boot1-install =================
    [XCODE] boot1-install
================= Making all in partutil =================
    [XCODE] partutil
================= Making all in bdmesg =================
    [XCODE] bdmesg
================= Making all in clover-genconfig =================
    [XCODE] clover-genconfig
** INSTALL FAILED **


The following build commands failed:
    CompileC /Users/heming_wang/src/edk2/Clover/CloverPackage/sym/build/clover-genconfig/clover-genconfig.build/Release/clover-genconfig.build/Objects-normal/i386/clover-genconfig.o clover-genconfig.c normal i386 c com.apple.compilers.llvm.clang.1_0.compiler
    CompileC /Users/heming_wang/src/edk2/Clover/CloverPackage/sym/build/clover-genconfig/clover-genconfig.build/Release/clover-genconfig.build/Objects-normal/x86_64/clover-genconfig.o clover-genconfig.c normal x86_64 c com.apple.compilers.llvm.clang.1_0.compiler
(2 failures)
make[1]: *** [/Users/heming_wang/src/edk2/Clover/CloverPackage/sym/utils/clover-genconfig] Error 65
make: *** [all-recursive] Error 1
Package 3132 NOT BUILT!!!, probably svn error :(
REMOVE Clover folder from src/edk2 and re-run CloverGrower V6.26 :)

buildgcc.sh error on line 505

I'm a total noob, so maybe I'm completely wrong on this one, but when trying to execute the CloverGrower.command, after figuring out what that thing about the universal edk2 folder was supposed to mean and what I was to do to continue with the process, I got an error about an unbound variable in buildgcc.sh at line 505. I think that the issue is that the variable name is spelled with some uppercase letters where lowercase should be used: $archBIT should be $archBit. At least that's the way it is spelled in CloverGrower.command at line 18 after the export command. Changing that in buildgcc.sh at least made it work for me, I hope that the output Clover package works properly!
I hope this helps, folks. And THANK you for your work, it looks very promising, when I finally get to making Clover work for me I'll know for sure!

Build error

 running ./ebuild.sh -gcc48 -x64 -release

Initializing workspace
Loading previous configuration from $WORKSPACE/Conf/BuildEnv.sh
WORKSPACE: /CloverGrower/src/edk2
EDK_TOOLS_PATH: /CloverGrower/src/edk2/BaseTools
Building tools as they are not found
make -C Source/C
Attempting to detect ARCH from 'uname -m': x86_64
Detected ARCH of X64 using uname.
mkdir -p .
make -C Common
gcc -c -MD -fshort-wchar -fno-strict-aliasing -fno-merge-constants -nostdlib -Wall -Werror -c -g -I .. -I ../Include/Common -I ../Include/ -I ../Include/IndustryStandard -I ../Common/ -I .. -I . -I ../Include/X64/ BasePeCoff.c -o BasePeCoff.o
clang: error: argument unused during compilation: '-fno-merge-constants'
make[2]: *** [BasePeCoff.o] Error 1
make[1]: *** [Common] Error 2
make: *** [Source/C] Error 2
CloverGrower V5.3g Cloverx64_r1890 RELEASE ERROR!!
Good Morning.

Clover_v2k_r

Hi,

I think you need to replace Clover_v2_r to Clover_v2k_r

new name in clover build...

Thx

Flawed Committer Checking Behavior

I noticed that you've implemented a check for who made the last commit, and set it to ignore anyone but the main development team. That's a good idea, but unfortunately, I think the current procedure does not work as intended since it only checks the very last commit. This means that the developers can commit multiple times, but if pootle commits after that: clovergrower will ignore the changes and skip building.

For example, I'm currently at revision 1828 locally. Commits 1832-1835 were by slice2009 and blusseau, but the most recent one (1840) was by pootle. Running CloverGrower sees that 1840 was by pootle and exits, leaving me without the other new revisions from the development team.

It seems to me that for this to be useful, it would need to check every newer revision until it finds a commit from the development team, and if it doesn't: it could be safely assumed that it should skip building.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.