cecekpawon Posted April 20, 2016 Share Posted April 20, 2016 (edited) Maybe you could reorder the conditional Zenith, when "svn info" is enough then user doesnt need "git"? Found fallback example https://git-scm.com/book/en/v1/Git-and-Other-Systems-Git-and-Subversion if git rev-parse --git-dir > /dev/null 2>&1 && [[ $1 == "info" ]] ; then git svn infoelse /usr/local/bin/svn "$@"fi Edited April 20, 2016 by cecekpawon Link to comment Share on other sites More sharing options...
Zenith432 Posted April 20, 2016 Share Posted April 20, 2016 Maybe you could reorder the conditional Zenith, when "svn info" is enough then user doesnt need "git"? I don't see anything wrong with current version to fix (or previous version either...) But I don't have Clover .svn repository present to check, and it takes long time to download. With commit 3464 XCODE toolset will use CpuInterrupt.S instead of CpuInterrupt.nasm. If it will not work revert please. Only had one compilation error because of use of intel mnemonic movzx instead of AT&T mnemonic. Otherwise, it compiles and boot6 + boot7 both work. boot3 compiles, but I didn't try running it. do we still need to do "make -C BaseTools/Source/C" manually when compling or already builtin and no need? For the love of clover, please reply This looks to be already builtin in ebuild.sh # Create edk tools if necessary if [[ ! -x "$EDK_TOOLS_PATH/Source/C/bin/GenFv" ]]; then echo "Building tools as they are not found" make -C "$WORKSPACE"/BaseTools CC="gcc -Wno-deprecated-declarations" fi Link to comment Share on other sites More sharing options...
Zenith432 Posted April 20, 2016 Share Posted April 20, 2016 Ah yes, I see a pitfall If user has edk2/.git edk2/Clover/.svn Then running 'git status' in edk2/Clover could identify Clover subfolder as part of edk2 git repository and return a non-blank response. Link to comment Share on other sites More sharing options...
tluck Posted April 20, 2016 Share Posted April 20, 2016 @zenith432 - exactly my scenario. something like this perhaps - reverse logic to check for .svn first ? # if [[ -n $GIT && -n $GITDIR ]]; then if [[ -d .svn ]]; then svnversion -n | tr -d [:alpha:] >vers.txt else $GIT svn info | grep Revision | tr -cd [:digit:] >vers.txt fi Link to comment Share on other sites More sharing options...
luxinhaus Posted April 21, 2016 Share Posted April 21, 2016 Hi a quick Q in snippet of ./ebuild.sh usage Usage: |clean|cleanpkg|cleanall|cleanlib| cleanall includes all of the above? what cleaning method is recommended for maintenance/cleanup only in clover side. ( doesn't include sdk2)? Link to comment Share on other sites More sharing options...
Slice Posted April 21, 2016 Share Posted April 21, 2016 Hi a quick Q in snippet of ./ebuild.sh usage Usage: |clean|cleanpkg|cleanall|cleanlib| cleanall includes all of the above? what cleaning method is recommended for maintenance/cleanup only in clover side. ( doesn't include sdk2)? Just clean is usually enough. Link to comment Share on other sites More sharing options...
luxinhaus Posted April 21, 2016 Share Posted April 21, 2016 Ok. cleanpkg is good too to remove previous compiled binaries/drivers. its good to have a clean start on every run cheers! Link to comment Share on other sites More sharing options...
cecekpawon Posted April 22, 2016 Share Posted April 22, 2016 About revision txt, i think Clover should ensure that "svn info" has a value before wrote it to "vers.txt", and maybe abort the script if it must. Or at least, do not tamper the old "vers.txt" with empty value. Link to comment Share on other sites More sharing options...
tluck Posted April 22, 2016 Share Posted April 22, 2016 thanks - the 3467 fix for ebuild.sh works fine for svn (once again) Link to comment Share on other sites More sharing options...
dgsga Posted April 22, 2016 Share Posted April 22, 2016 @Slice Have you had any joy compiling with -xcode5 flag to produce a bootable BOOTX64.efi yet? GCC 5.3 and clang work great but I still get a black screen on boot with xcode. The keyboard is still responsive as ctrl+alt+delete reboots. Pressing the enter key does nothing so it suggests it's not just that the GUI is failing to appear. I'm beginning to wonder if it's a motherboard specific UEFI implementation issue... Link to comment Share on other sites More sharing options...
TheRacerMaster Posted April 22, 2016 Share Posted April 22, 2016 @Slice Have you had any joy compiling with -xcode5 flag to produce a bootable BOOTX64.efi yet? GCC 5.3 and clang work great but I still get a black screen on boot with xcode. The keyboard is still responsive as ctrl+alt+delete reboots. Pressing the enter key does nothing so it suggests it's not just that the GUI is failing to appear. I'm beginning to wonder if it's a motherboard specific UEFI implementation issue... Clover r3467 is building fine here with ./ebuild.sh -t XCODE5 with Xcode 7.3. BOOTX64-r3467-XCODE5.zip 1 Link to comment Share on other sites More sharing options...
Slice Posted April 22, 2016 Share Posted April 22, 2016 @Slice Have you had any joy compiling with -xcode5 flag to produce a bootable BOOTX64.efi yet? GCC 5.3 and clang work great but I still get a black screen on boot with xcode. The keyboard is still responsive as ctrl+alt+delete reboots. Pressing the enter key does nothing so it suggests it's not just that the GUI is failing to appear. I'm beginning to wonder if it's a motherboard specific UEFI implementation issue... Yes, now it works. Clover 3467, EDK2 20600 + patches_from_Clover, Xcode 7.3. Tested both boot6 and CLOVERX64.EFI with -xcode5 compilation. Link to comment Share on other sites More sharing options...
Slice Posted April 23, 2016 Share Posted April 23, 2016 ./ebuild.sh -clang also produces working binary but larger size (no-lto) so I can recommend -xcode5 as the best compilinig toolchain. But only in ElCapitan with XCode7.3. For older systems clang-3.8 can be used or gcc-4.9. I am still not tested gcc-5.3 but I see there are successful reports. Can be recommended as well. 1 Link to comment Share on other sites More sharing options...
dgsga Posted April 24, 2016 Share Posted April 24, 2016 Thanks for the update. All now working with xcode5 compilation! Link to comment Share on other sites More sharing options...
Slice Posted April 25, 2016 Share Posted April 25, 2016 Great work Zenith432! I tested 3471 on my comp #4 in sig. OSX 10.7.5, Xcode 4.4.1, clang Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn) Target: x86_64-apple-darwin11.4.2 Thread model: posix Updated Edk2 to rev 20635 and Clover 3471. Applied Patches_for_EDK2 completely cp -R Patches_for_EDK2/* ../ then compiled as ./ebuild.sh -xcode5 -mc --no-usb Tested in QEMU+SeaBIOS and on the computer. Both legacy boot. All works fine! The size of CloverX64.efi = 616kb so we need no more gcc? I have numerous warning during compilation like ld: warning: could not create compact unwind for _GetSleepImageLocation: non-standard register 4 being saved in prolog ld: warning: could not create compact unwind for _GetSleepImagePosition: non-standard register 4 being saved in prolog doesn't matter, all works. 1 Link to comment Share on other sites More sharing options...
Zenith432 Posted April 25, 2016 Share Posted April 25, 2016 so we need no more gcc? That was the idea I have numerous warning during compilation like I didn't try building with Xcode < 7.3, so didn't see these. it sounds like a warning when generating stack unwind info for x86-64 exception handling. There is probably an ld option to turn this off, since we don't need unwind data. I think mtoc does not transfer it from macho to coff anyway. From what I see, mtoc only transfers .text, .data and relocations. Everything else is dropped. 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted April 25, 2016 Share Posted April 25, 2016 Now is the case to setup a default TOOLCHAIN_DIR for xcode when XCODE_MAJOR_VERSION >= 7? Link to comment Share on other sites More sharing options...
Slice Posted April 25, 2016 Share Posted April 25, 2016 Now is the case to setup a default TOOLCHAIN_DIR for xcode when XCODE_MAJOR_VERSION >= 7? See my report, Xcode 4.4.1 1 Link to comment Share on other sites More sharing options...
cecekpawon Posted April 25, 2016 Share Posted April 25, 2016 Added more log Clover build infos, maybe useful for reporting bugs: 0:100 0:100 MemLog inited, TSC freq: 3410017843 0:100 0:000 0:100 0:000 Now is 25.4.2016, 12:25:17 (GMT) 0:100 0:000 Starting Clover rev 3471 on American Megatrends EFI 0:100 0:000 Build with: [Args: ./ebuild.sh -xcode5 -mc --no-usb | Command: build -D DISABLE_USB_SUPPORT -D USE_BIOS_BLOCKIO -D USE_LOW_EBDA -D CLANG -p Clover/Clover.dsc -a X64 -b RELEASE -t XCODE5 -n 5 -xcode5 -mc --no-usb | OS: 10.11.5 | XCODE: 6.1.1] Please vote 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted April 25, 2016 Share Posted April 25, 2016 $RANDOM? first attempt here was 6993.. Link to comment Share on other sites More sharing options...
cecekpawon Posted April 25, 2016 Share Posted April 25, 2016 (edited) Its a fallback by Zenith when failed to get revision number from repo Micky Edited April 25, 2016 by cecekpawon Link to comment Share on other sites More sharing options...
Micky1979 Posted April 25, 2016 Share Posted April 25, 2016 (edited) already tried that? svn info --trust-server-cert --non-interactive svn://svn.code.sf.net/p/cloverefiboot/code | grep 'Revision:' | awk '{print $NF}' better than random number, and if fail, revision should be 0000 to make understand that something goes wrong Edited April 25, 2016 by Micky1979 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted April 25, 2016 Share Posted April 25, 2016 (edited) if [[ -d .svn ]]; then svnversion -n | tr -d [:alpha:] >vers.txt elif [[ -d .git ]]; then git svn find-rev git-svn | tr -cd [:digit:] >vers.txt else echo -n $RANDOM >vers.txt fi Yep on local but why the last resource is a random value if other commands fails? keep it from the online repo or write four zeros. If that is the problem, otherwise forgot me EDIT Sorry, my question is not related to your diff patch strictly Edited April 25, 2016 by Micky1979 Link to comment Share on other sites More sharing options...
Slice Posted April 25, 2016 Share Posted April 25, 2016 Good Clover slice$ svn info --trust-server-cert --non-interactive svn://svn.code.sf.net/p/cloverefiboot/code | grep 'Revision:' Revision: 3473 Insert it instead of RANDOM? 1 Link to comment Share on other sites More sharing options...
luxinhaus Posted April 25, 2016 Share Posted April 25, 2016 --no-usb and -D DISABLE_USB_SUPPORT the same? Link to comment Share on other sites More sharing options...
Recommended Posts