Jump to content
Micky1979

Build_Clover.command, another Script to build standard Clover (or customized)

1,805 posts in this topic

Recommended Posts

1 minute ago, arsradu said:

Ok. I did not know that. As I said, I'm learning new things every day. And I'm not afraid to say "I don't know".

 

 

I see. Ok. I'll give that a try, as well. I just thought that AptioMemoryFix is older, or not as good as AptioFix3. I was just suggesting using the best one.

And since, as I said above, I've never heard of anyone who doesn't need it..., and also based on my personal experience, I supposed it might be mandatory for boot. My bad, I guess.

 

AptioMemoryFix.efi for me works flawless and also is up-to-date.. Give it a try.. The same states for VBoxHfs.efi.. you might realise that HFSPlus.efi is not needed when using VBoxHfs.efi :wink_anim:

Share this post


Link to post
Share on other sites
Advertisement
4 minutes ago, arsradu said:

APFS is not mandatory for boot on an APFS system?

And what I said?

30 minutes ago, vector sigma said:

You giving me right? Lol. Better can be to install both by def.

 

Share this post


Link to post
Share on other sites
Posted (edited)
9 minutes ago, arsradu said:

As I said, I'm learning new things every day. And I'm not afraid to say "I don't know"

No problems Bro':wink_anim:, me too I'm new to hackintoses, just I'm able sometimes to read code even if a little rusty:P

Edited by vector sigma
typo

Share this post


Link to post
Share on other sites
3 minutes ago, vector sigma said:

And what I said?

Well you said this:

Quote

Well, if you insist to 'boot', is not mandatory. You can have the need if you can't boot without. Being good for nvram is another story.

 

APFS doesn't have anything to do with being good for NVRAM, for as far as I know... So I suppose you were referring here to AptioFix3Drv.

But my question was about APFS: can you boot without apfs.efi on an APFS based system?

Share this post


Link to post
Share on other sites
Posted (edited)
1 hour ago, arsradu said:

 

Yes, it is not needed. For as far as I know, they both do the same thing. BUT....I head VBoxHFs is slower. That's why I'm using HFSPlus in the first place. But maybe I was wrong about this, as well... 

I can't see mutch difference, and is just read-only vs read-write, even if I can't understand why you need to write something to your ESP that is FAT32

1 hour ago, arsradu said:

But my question was about APFS: can you boot without apfs.efi on an APFS based system?

of course yes! This just since last week when I saw ApfsSupport which is able to load apfs.efi from inside the OS partition that we already have. But here again, we can just give a month of testing before make it essential?....

Additionally the Clover package save what you have done before, isn't this enough to remind what did you previously selected?

1 hour ago, arsradu said:

So I suppose you were referring here to AptioFix3Drv

yes

Good night guys!

Edited by vector sigma

Share this post


Link to post
Share on other sites

Thanks @Philip Petev, working fine after r4563 commit.

(ApfsDriverLoader, Aptio* are also available on the package)

 

aQP62mf.png

 

Logs: https://app.box.com/s/k24g4rlm7vzxvfs6obwhzt46nj7rm3pm

 

Spoiler

 --------------------------
 Building process complete!
 --------------------------

 Build info.
 ===========
  Package name: Clover_v2.4k_r4565.pkg
  MD5:          5da7b08f7ca65a69109f70bebc75aeed
  Version:      v2.4k
  Stage:        v2.4k
  Date/Time:    2018-06-22 06:10:52
  Built by:     badruzeus
  Copyright     2012-2018

  adding: Clover_v2.4k_r4565.pkg (deflated 1%)
  adding: Clover_v2.4k_r4565.pkg.md5 (stored 0%)
total 23664
drwxr-xr-x   9 badruzeus  staff      306 Jun 22 06:13 .
drwxr-xr-x  15 badruzeus  staff      510 Jun 22 06:13 ..
-rw-r--r--@  1 badruzeus  staff  5886936 Jun 22 06:13 Clover_v2.4k_r4565.pkg
-rw-r--r--   1 badruzeus  staff       68 Jun 22 06:13 Clover_v2.4k_r4565.pkg.md5
-rw-r--r--   1 badruzeus  staff  5837568 Jun 22 06:13 Clover_v2.4k_r4565.zip
drwxr-xr-x   3 badruzeus  staff      102 Jun 22 06:11 Resources
drwxr-xr-x   6 badruzeus  staff      204 Jun 22 06:13 build
drwxr-xr-x   3 badruzeus  staff      102 Jun 22 06:13 package
drwxr-xr-x   6 badruzeus  staff      204 Jun 22 06:13 utils
================================================================================
build started at:
Fri Jun 22 06:07:38 WIB 2018
finished at
Fri Jun 22 06:13:34 WIB 2018

Done!

 

 

Share this post


Link to post
Share on other sites
Posted (edited)
15 minutes ago, arsradu said:

Guys, have any of you tried building 4566?
I get an error 65 building genconfig.

Same genconfig's issue here on Mojave and High Sierra.

Edited by Matgen84

Share this post


Link to post
Share on other sites
29 minutes ago, arsradu said:

Guys, have any of you tried building 4566?
I get an error 65 building genconfig.

And what is the error?

Share this post


Link to post
Share on other sites
5 minutes ago, Slice said:

And what is the error?

[XCODE] clover-genconfig
** INSTALL FAILED **


The following build commands failed:
    CompileC /Users/home/src/UDK2018/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
    Ld /Users/home/src/UDK2018/Clover/CloverPackage/sym/utils/clover-genconfig normal x86_64
    GenerateDSYMFile /Users/home/src/UDK2018/Clover/CloverPackage/sym/build/clover-genconfig/clover-genconfig.dSYM /Users/home/src/UDK2018/Clover/CloverPackage/sym/utils/clover-genconfig
    Strip /Users/home/src/UDK2018/Clover/CloverPackage/sym/utils/clover-genconfig
    SetOwnerAndGroup home:staff /Users/home/src/UDK2018/Clover/CloverPackage/sym/utils/clover-genconfig
    SetMode u+w,go-w,a+rX /Users/home/src/UDK2018/Clover/CloverPackage/sym/utils/clover-genconfig
(6 failures)
make[2]: *** [/Users/home/src/UDK2018/Clover/CloverPackage/sym/utils/clover-genconfig] Error 65
make[1]: *** [all-recursive] Error 1
make: *** [pkg] Error 2

Share this post


Link to post
Share on other sites

Yeah, I also get this issue using Xcode 8.2.1 under OS X 10.11.6:

 

Spoiler

MAKE PKG
                             <--------------------------------------------------

========= Translating Resources ========
/Users/badruzeus/src/edk2/Clover/CloverPackage/package/../../../../opt/local
Updating 'en' strings file for CloverUpdater... done
Updating 'en' strings file for Clover Preference Panel... done
Updating strings file for Clover Preference Panel... done
 (170 entries)

Building CloverUpdater application...

[XCODE]
Building CloverPrefpane preference...

[XCODE]
================= 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/badruzeus/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
(1 failure)
make[2]: *** [/Users/badruzeus/src/edk2/Clover/CloverPackage/sym/utils/clover-genconfig] Error 65
make[1]: *** [all-recursive] Error 1
make: *** [slimpkg1] Error 2

o_Ops, MAKE PKG exited with error(s), aborting..
MacBookPro:~ badruzeus$ 

 

 

Share this post


Link to post
Share on other sites
Posted (edited)

Trying to build 4566 on Mojave, Build_Clover script v4.8.8

================= Making all in clover-genconfig =================

[XCODE] clover-genconfig

** INSTALL FAILED **

The following build commands failed:

CompileC /Users/shane/src/edk2/Clover/CloverPackage/sym/build/clover-genconfig/clover-genconfig.build/Release/clover-genconfig.build/Objects-normal/x86_64/clover-genconfig.o /Users/shane/src/edk2/Clover/CloverPackage/utils/clover-genconfig/clover-genconfig.c normal x86_64 c com.apple.compilers.llvm.clang.1_0.compiler

(1 failure)

make[2]: *** [/Users/shane/src/edk2/Clover/CloverPackage/sym/utils/clover-genconfig] Error 65

make[1]: *** [all-recursive] Error 1

make: *** [pkg] Error 2

o_Ops, MAKE PKG exited with error(s), aborting..

Edited by SavageAUS

Share this post


Link to post
Share on other sites
Posted (edited)

But strange is, I get no issue building it under Ubuntu 18.04 (GCC8.0.1):

 

#EDIT: Oh yeah, "Make PKG" does nothing under Linux. Sorry, just got it.

 

Spoiler

Generating DUETEFIMAINFVX64 FV
###############
GUID cross reference file can be found at /home/badruzeus/src/edk2/Build/Clover/RELEASE_GCC53/FV/Guid.xref

FV Space Information
DUETEFIMAINFVX64 [27%Full] 2752512 total, 753184 used, 1999328 free

- Done -
Build end time: 15:54:22, Jun.22 2018
Build total time: 00:01:00

Compressing DUETEFIMainFv.FV ...
Encoding
Compressing DxeCore.efi ...
Encoding
Compressing DxeIpl.efi ...
Encoding
Generate Loader Image ...
Created /home/badruzeus/src/edk2/Build/Clover/RELEASE_GCC53/FV/Efildr64
879+0 records in
879+0 records out
450048 bytes (450 kB, 440 KiB) copied, 0.00309113 s, 146 MB/s
Copy CloverEFI:
  -> boot7
Changing byte at 0xa9 of boot7 to show 7 as init message:
1+0 records in
1+0 records out
1 byte copied, 7.6683e-05 s, 13.0 kB/s
  -> BOOTX64.efi
  -> CLOVERX64.efi
Copy Mandatory drivers:
  -> FSInject-64.efi
  -> AppleImageCodec-64.efi
  -> AppleUITheme-64.efi
  -> AppleKeyAggregator-64.efi
  -> FirmwareVolume-64.efi
  -> SMCHelper-64.efi
  -> XhciDxe-64.efi
  -> FSInject-64.efi
  -> AppleImageCodec-64.efi
  -> AppleUITheme-64.efi
  -> AppleKeyAggregator-64.efi
  -> FirmwareVolume-64.efi
  -> DataHubDxe-64.efi
  -> SMCHelper-64.efi
  -> VBoxHfs-64.efi
  -> GrubEXFAT-64.efi
  -> GrubISO9660-64.efi
  -> GrubNTFS-64.efi
  -> GrubUDF-64.efi
  -> AptioMemoryFix.efi
  -> AptioInputFix.efi
  -> ApfsDriverLoader.efi
  -> ApfsDriverLoader-64.efi
  -> CsmVideoDxe-64.efi
  -> EnglishDxe-64.efi
  -> EmuVariableUefi-64.efi
  -> Fat-64.efi
  -> HashServiceFix-64.efi
  -> NvmExpressDxe-64.efi
  -> OsxAptioFix2Drv-64.efi
  -> OsxAptioFixDrv-64.efi
  -> OsxFatBinaryDrv-64.efi
  -> OsxLowMemFixDrv-64.efi
  -> PartitionDxe-64.efi
  -> Ps2MouseDxe-64.efi
  -> UsbKbDxe-64.efi
  -> UsbMouseDxe-64.efi
  -> VBoxExt2-64.efi
  -> VBoxExt4-64.efi
  -> VBoxIso9600-64.efi
Copy Applications:
  -> bdmesg.efi
  -> Shell64U.efi
Done!

Generating BootSectors
make: Entering directory '/home/badruzeus/src/edk2/Clover/BootHFS'
make: Nothing to be done for 'all'.
make: Leaving directory '/home/badruzeus/src/edk2/Clover/BootHFS'
Done!
================================================================================
build started at:
Fri Jun 22 15:50:28 WIB 2018
finished at
Fri Jun 22 15:54:23 WIB 2018

Done!

                             <--------------------------------------------------
Clover was built successfully!
Press any key to continue...

 

 

Edited by Badruzeus

Share this post


Link to post
Share on other sites

Same error here

Share this post


Link to post
Share on other sites
3 hours ago, Slice said:

There are no errors. They are before this text.

The problem is that imported headers now have conflicting types, e.g. in utils.c:

// Determines if a Unicode character is a hexadecimal digit.
int IsHexDigit (unsigned char *Digit, char Char);

IsHexDigit is already defined somewhere else. Il take a look after the job, but I think that a simple rename of that function it's enough!

Share this post


Link to post
Share on other sites
1 hour ago, vector sigma said:

The problem is that imported headers now have conflicting types, e.g. in utils.c:


// Determines if a Unicode character is a hexadecimal digit.
int IsHexDigit (unsigned char *Digit, char Char);

IsHexDigit is already defined somewhere else. Il take a look after the job, but I think that a simple rename of that function it's enough!

Thanks!

It is here

https://sourceforge.net/p/cloverefiboot/code/HEAD/tree/rEFIt_UEFI/refit/IO.h#l209

Yes, renaming. We can't share body but we can copy to be the same or rename to be different.

Share this post


Link to post
Share on other sites

I'm trying Build_Clover.command 4.8.8 on Mojave and Xcode 9.4.1 and the script he is stuck with this error:

 

Running from: macOS 10.14

Xcode 9.4.1

Build version 9F2000

                             <--------------------------------------------------

================================================================================

Compiler settings

                             <--------------------------------------------------

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1

Apple LLVM version 9.1.0 (clang-902.0.39.2)

Target: x86_64-apple-darwin18.0.0

Thread model: posix

InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

                             <--------------------------------------------------

================================================================================

BUILDTOOL is XCODE8

                             <--------------------------------------------------

 

/Users/mick3lson/Desktop/Build_Clover.command: line 1145: mkdir: command not found

logout

Saving session...

...copying shared history...

...saving history...truncating history files...

...completed.

Share this post


Link to post
Share on other sites
6 minutes ago, mick3lson said:

I'm trying Build_Clover.command 4.8.8 on Mojave and Xcode 9.4.1 and the script he is stuck with this error:

 

Running from: macOS 10.14

Xcode 9.4.1

Build version 9F2000

                             <--------------------------------------------------

================================================================================

Compiler settings

                             <--------------------------------------------------

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1

Apple LLVM version 9.1.0 (clang-902.0.39.2)

Target: x86_64-apple-darwin18.0.0

Thread model: posix

InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

                             <--------------------------------------------------

================================================================================

BUILDTOOL is XCODE8

                             <--------------------------------------------------

 

/Users/mick3lson/Desktop/Build_Clover.command: line 1145: mkdir: command not found

logout

Saving session...

...copying shared history...

...saving history...truncating history files...

...completed.

 

The script work well on Mojave, with Xcode 10 Beta. Why do you use Xcode 9.4.1?

 

Sorry for my bad english

Share this post


Link to post
Share on other sites
1 hour ago, Slice said:

Thanks!

It is here

https://sourceforge.net/p/cloverefiboot/code/HEAD/tree/rEFIt_UEFI/refit/IO.h#l209

Yes, renaming. We can't share body but we can copy to be the same or rename to be different.

Thanks @Slice I rename "BOOLEAN     IsHexDigit (CHAR8 c);" to "BOOLEAN     IsHexDigit1 (CHAR8 c);" in IO.h, now it works, but will next version fix it? Whether i need rename it again?

Share this post


Link to post
Share on other sites
1 hour ago, mick3lson said:

I'm trying Build_Clover.command 4.8.8 on Mojave and Xcode 9.4.1 and the script he is stuck with this error:

 

Running from: macOS 10.14

Xcode 9.4.1

Build version 9F2000

                             <--------------------------------------------------

================================================================================

Compiler settings

                             <--------------------------------------------------

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1

Apple LLVM version 9.1.0 (clang-902.0.39.2)

Target: x86_64-apple-darwin18.0.0

Thread model: posix

InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

                             <--------------------------------------------------

================================================================================

BUILDTOOL is XCODE8

                             <--------------------------------------------------

 

/Users/mick3lson/Desktop/Build_Clover.command: line 1145: mkdir: command not found

logout

Saving session...

...copying shared history...

...saving history...truncating history files...

...completed.

That doesn't make any sense. mkdir is built-in command for bash, so there is no such case "command not found".

 

50 minutes ago, Matgen84 said:

 

The script work well on Mojave, with Xcode 10 Beta. Why do you use Xcode 9.4.1?

 

Sorry for my bad english

This error has nothing to do with Xcode. It's shell-related error.

Share this post


Link to post
Share on other sites
59 minutes ago, Matgen84 said:

 

The script work well on Mojave, with Xcode 10 Beta. Why do you use Xcode 9.4.1?

 

Sorry for my bad english

 

8 minutes ago, Philip Petev said:

That doesn't make any sense. mkdir is built-in command for bash, so there is no such case "command not found".

 

This error has nothing to do with Xcode. It's shell-related error. 

So what should I do for solve this issue update xcode to 10 beta,

eventually where can I download Xcode 10.

Share this post


Link to post
Share on other sites

The same error on High Sierra Xcode 9.3.1 and Mojave and Xcode-beta 10.0

Spoiler

 

The following build commands failed:

CompileC /Users/cyberdevs/src/edk2/Clover/CloverPackage/sym/build/clover-genconfig/clover-genconfig.build/Release/clover-genconfig.build/Objects-normal/x86_64/clover-genconfig.o /Users/cyberdevs/src/edk2/Clover/CloverPackage/utils/clover-genconfig/clover-genconfig.c normal x86_64 c com.apple.compilers.llvm.clang.1_0.compiler

(1 failure)

make[2]: *** [/Users/cyberdevs/src/edk2/Clover/CloverPackage/sym/utils/clover-genconfig] Error 65

make[1]: *** [all-recursive] Error 1

make: *** [pkg] Error 2

 

o_Ops, MAKE PKG exited with error(s), aborting..

logout

Saving session...

...copying shared history...

...saving history...truncating history files...

...completed.

 

[Process completed]

 

 

Share this post


Link to post
Share on other sites
36 minutes ago, mick3lson said:

 

So what should I do for solve this issue update xcode to 10 beta,

 

eventually where can I download Xcode 10.

Eventually, if you want to download Xcode 10 Beta: you have to connect to developer.apple.com with your appleid and password.

 

Xcode can't be update from 9.4.1 to 10. So  you have to uninstall previous version.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By fusion71au
      Run Vanilla OS X El Capitan, Sierra, High Sierra or Mojave in VirtualBox 5.x.x on a Windows Host
      Following on from my previous guide on how to create a VMware virtual machine running Vanilla OS X El Capitan in Windows, I’ve decided to write a similar guide for creating a VirtualBox El Capitan VM. 
       
      The virtual machine should be useful for testing El Capitan and also for creating installers for use on a real machine/hackintosh.
       
      There are other tutorials and videos on the net about running OS X on Windows machines using pre-made VMDK disk images but you can never guarantee what else is in there….
       
      I’ve gathered info for this guide from several threads in the Multibooting and Virtualisation section of this forum and also the wider internet eg
       
      @colt2 HOW TO: Create a bootable El Capitan ISO for VMware
      @dsmccombs comment on faking Ivybridge Processor
      @E:V:A http://forum.xda-developers.com/showpost.php?p=55572430&postcount=6
      @Tech Reviews video tutorial https://www.youtube.com/watch?v=t7X07U63lwg.
      VirtualBox Forum: Status of OSX on OSX
       
      Requirements
         Intel PC with four or more CPU cores running Windows 7 X64 or later OS (2 or more cores needed for OS X)    4GB or more RAM (2GB or more will be needed for OS X)    Hard Disk with at least 40GB free for Virtual Machine    Oracle VM VirtualBox v 5.0.34    Install OS X El Capitan app and Mac or Hack to prepare installation iso <-- Now, no longer necessary to have previous access to a Mac or Hack by building the Installer.app from scratch - see post#75    16GB or larger exFAT formatted USB stick to transfer El Capitan iso from Mac/Hack to Host PC  
      Prepare Installation ISO on your Mac or Hack
      1.  On your Mac or Hack, download "Install OS X El Capitan.app" from the App Store into your Applications folder.
      2.  Download and unzip the CECI.tool (attached to this post) into your ~/Downloads folder. The commands in this executable script are shown below for informational purposes.  Note: you will need approx 16GB of free space on your hard disk for the script to complete.
       
       
       
      3.  Open OS X terminal, then run the following commands to execute the script:
      cd downloads chmod +x CECI.tool ./CECI.tool 4.  At the end of the process, you will have an El Capitan iso on your desktop - copy this onto an exFAT formatted USB for use on the PC Host later.
       
       
      Create an El Capitan Virtual Machine in VirtualBox
      1.  Open the VirtualBox program and click the "New" button to create a new VM.
       

       
      2.  Select Mac OS X and Mac OS X 10.11 El Capitan (64 -bit) for Operating System type and version.  I named my Virtual Machine "El_Capitan", then clicked next...
       

       
      3.  Leave the Memory size at the recommended 2048 MB, then click next.
       

       
      4.  Choose to "Create a virtual hard disk now", then click the create button.
       

       
      5.  For the hard disk file type, the default is VDI (VirtualBox Disk Image) but I have selected VMDK for inter-operability with VMWare.  Click next...
       

       
      6.  For Storage on physical hard disk, I have chosen the default Dynamically allocated (grows larger to a set limit as you need more disk space).
       

       
      7.  On the File location and size screen, you can set the location of the new virtual hard disk and its size - I recommend changing disk size to 40GB or larger.  When you click the create button, you will now see your new VM in the VirtualBox main GUI.
       

       
      8.  Click the settings button on the Main Menu to tweak a few settings....
         a.  On the System/Motherboard tab in Boot Order, you can uncheck the Floppy Drive (who has these now?)
       

       
         b.  On the System/Processor tab, you can increase the allocated CPU cores to 2
       

       
         c.  On the Display tab, you can increase the allocated Video Memory to 128MB
       

       
         d.  On the Storage tab, click on the icon of the Optical Drive and select "Choose Virtual Optical Disk File". 
       

       
      Navigate and select the El Capitan ISO we created earlier...
       

       
         e.  Click the OK button to finalise the VM settings.
       
       
      Patch El Capitan vbox configuration file with DMI Settings from a Mac
      1.  From the start menu, type cmd and click run as administrator to open an administrative command prompt. 
       

       
      2.  Choose a Mac Model similar to your host system, then type the following lines, followed by <enter>  after each line.  Make sure you first close all VirtualBox Windows and the VirtualBox program, otherwise any changes you make won't stick...
       
      Eg iMac11,3
      cd "C:\Program Files\Oracle\VirtualBox\" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-F2238BAE" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1 MacBookPro11,3
      cd "C:\Program Files\Oracle\VirtualBox\" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "MacBookPro11,3" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-2BD1B31983FE1663" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1 Macmini6,2
      cd "C:\Program Files\Oracle\VirtualBox\" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "Macmini6,2" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-F65AE981FFA204ED" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1 3.  Optional- For some host systems eg those with Haswell and newer CPUs, you might have to spoof an older CPU to avoid VirtualBox errors.  You can try from one of the following if this happens:

      To spoof Lynnfield i5 750 CPU
      VBoxManage.exe modifyvm "El_Capitan" --cpuidset 00000001 000106e5 06100800 0098e3fd bfebfbff To spoof IvyBridge CPU
      VBoxManage.exe modifyvm "El_Capitan" --cpuidset 00000001 000306a9 04100800 7fbae3ff bfebfbff or
      VBoxManage.exe modifyvm "El_Capitan" --cpuidset 00000001 000306a9 00020800 80000201 178bfbff 4.  Close the command prompt window.
       
       
      Installation of El Capitan
      We are now ready to start the El_Capitan Virtual Machine....
       



       
      Installation should be relatively straight forward, just following the prompts of the OS X installer:
      1.  Select language, agree to legal terms
       

       
      2.  Use Disk Utility from the Utilities Menu to erase and format the virtual hard drive as a single partition GUID Mac OS X Extended.  I named my drive "Macintosh HD" but you can enter whatever you like eg El_Capitan.
       

       
      3.  Quit DU and choose Macintosh HD to install El Capitan on.
      4.  After 20-30 min (depending on how fast your system is), the installation will complete.  At this point, unmount the El Capitan ISO by clicking the Devices menu from the VM window, click Optical Drives, then choose Remove disk from virtual drive.  The VM is now ready to reboot into OS X from the virtual hard drive.
      5.  At the welcome screen, choose your country and keyboard layout.  You can skip transfer information, location services and logging in with your Apple ID if you wish…
      6.  Create a User Account and select your Time Zone.  You can skip sending diagnostics and usage data to Apple….
      7.  Finally, you will arrive at the El Capitan Desktop.
       

       
      8.  Network/internet and audio should work OOB but on my system, the sounds were distorted.  Unfortunately, there is no QE/CI and the VM resolution will be fixed without the ability to dynamically resize the VM window (no VirtualBox additions for OS X guests atm). 
       
       
      Customization with VBoxManage
      1.  You can change the default resolution of 1024*768 (after shutting down the VM) with the VBoxManage command from the Windows Administrative Command Prompt:
      cd "C:\Program Files\Oracle\VirtualBox\" VBoxManage setextradata "El_Capitan" VBoxInternal2/EfiGopMode N (Where N can be one of 0,1,2,3,4,5) referring to the 640x480, 800x600, 1024x768, 1280x1024, 1440x900, 1920x1200 screen resolution respectively.
       
      Update:  For VirtualBox 5.2.x, the command for changing screen resolution has changed...
       
      VBoxManage setextradata "<MyVM>" VBoxInternal2/EfiGraphicsResolution XxY (where X=Horizontal screen resolution, Y=Vertical screen resolution)
      eg
      VBoxManage setextradata "<MyVM>" VBoxInternal2/EfiGraphicsResolution 1280x1024 2.  Adding serials and other SMBIOS details for the System Information Screen
      VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "W8#######B6" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiBoardSerial" "W8#########1A" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemVendor" "Apple Inc." VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiSystemFamily" "iMac" VBoxManage setextradata "El_Capitan" "VBoxInternal/Devices/efi/0/Config/DmiBIOSVersion" "IM112.0057.03B" A listing of known issues with Mac OS X guests can be found in the VirtualBox Manual - link https://www.virtualbox.org/manual/ch14.html.
       
      Vanilla Mavericks and Yosemite, Snow Leopard from Retail DVD
      The same VM settings for El Capitan will also boot and run vanilla installations of OS X Mavericks and Yosemite .  Attached to this post are installer scripts to create bootable Mavericks (CMI.tool) and Yosemite (CYI.tool) ISOs for VirtualBox and VMware.
       
      With the respective OS X installer apps in the Applications folder, download and run the installer tools using terminal ie
       
      To create a Mavericks ISO on your desktop
      cd downloads chmod +x CMI.tool ./CMI.tool To create a Yosemite ISO on your desktop
      cd downloads chmod +x CYI.tool ./CYI.tool Here is a screenshot of the VM running Mavericks 10.9.5...
       

       
      Finally, those without a Mac/Hack to prepare the install media can purchase a retail Snow Leopard DVD directly from Apple and install OSX 10.6.3 on their virtual machines (Snow Leopard, Lion and Mountain Lion run quite happily in VirtualBox with 1 CPU, 1-2 GB of RAM and the rest of the settings unchanged from above).  Once you update by combo update to SL 10.6.8, you can directly download El Capitan from the App Store for free .
       

       
      UPDATE macOS Sierra 10.12 to 10.12.6: For macOS Sierra, use CSI.tool in post#51.
      UPDATE macOS High Sierra 17A365:  For macOS High Sierra, use CHSI.tool in post#73.
      UPDATE macOS Mojave Beta:  For macOS Mojave Beta, use CMJI.tool on page 4 of thread.
       
      Good luck and enjoy
      CECI.tool.zip
      CYI.tool.zip
      CMI.tool.zip
    • By fantomas1
      -----------------------------
      Mise à jour 12/07/2018
      -----------------------------
       
      La sortie de macOS 10.14 Beta m'oblige à mettre ce topic à jour. Plus de détails dans ce post.
       

       

       
      -----------------------------
      Mise à jour 09/06/2017
       
      -----------------------------
       
      La sortie de macOS 10.13 Beta m'oblige à mettre ce topic à jour. Plus de détails dans ce post.
       

       
       
       
      -----------------------------
      Mise à jour 15/06/2016
      -----------------------------
       
      Une petite mise à jour du topic pour confirmer le bon fonctionnement du patch à la volé de Clover (r3561) avec macOS Sierra.
       

       
       
       
      -----------------------------
      Mise à jour 24/08/2015
      -----------------------------
       
      ok, très bien,
       
      comme pour la HD6770, la nouvelle méthode du patch à la volé est de nouveau fonctionnel et avec les dernières versions de Clover.
       
      pour ma part, je suis sur El Capitan DB7 et Clover r3259
       

       
       
      par contre, je suis toujours obligé de m’aider de l’astuce avec FakeSMC pour que mes kexts soient toujours chargés, mais au moins cela marche.   
       
       
       
       
      et pour config.plist, cela donne ça :
       

       
       
      ceci est juste un exemple avec ma HD4830, il va de soi que vous devez mettre Device-ID de votre carte graphique !!!
       
       
       
       
       
      Salut à tou(te)s
       
      Comme certain(e)s le savent, les cartes graphiques dites "Exotiques" ne sont pas supportés par le système d'exploitation d'Apple.
      En sus d'ajouter l'identifient de la carte graphique (Device ID) dans l'Info.plist du ou des kexts concernés, il faut aussi interagir sur la partie "binaire" du kext par le biais du "patching".
       
      Dans notre cas, les cartes graphiques exotiques sont les cartes AMD (anciennement ATI) de la série HD 48xx, et plus précisément les HD 4830, HD4850, HD4870x2 et HD4890.*
       
      Donc le but est de faire fonctionner ces cartes graphiques de manière stable et fluide en activant QE_CI, chose nécessaire pour en profiter pleinement du système d'exploitation.
       
      * Juste avant de commencer, vous l'avez peut-être remarqué, la HD4870 n'est pas sur la liste suscitée et pour cause c'est que cette carte graphique est nativement supportée par le système d'exploitation d'Apple. Son Device ID est 0x94401002 que vous pouvez trouvé dans l'Info.plist des kexts concernés et c'est celui-ci que nous allons utiliser afin de le remplacer par le Device ID de notre carte graphique.
       
      ** Ce tuto est fait pour fonctionner sous OS X Mavericks, mais il doit fonctionner aussi avec les autres. La seule chose différente c'est l'adresse binaire à patcher.    
       
       
      Très bien, comme le titre le suggère, nous allons voir comment faire reconnaître ces cartes graphiques sous Clover et obtenir par la même un QE_CI activé et parfaitement fonctionnelle.
       
      Je vais utiliser ma Sapphire HD4830 512 MB GDDR3 PCI-E (comme cobaye    ) pour ce test et qui a pour Device ID 0x944c1002.
       
      Pour que ce test réussisse, nous allons donc utiliser ces 2 kexts, à savoir AMD4800Controller.kext (pour la partie QE) et ATIRadeonX2000.kext (pour la partie CI) et allons ajouter notre Device ID dans l'Info.plist. via le tweak "KernelAndKextPatches"
       
      Donc les valeurs à entrer dans notre config.plist sont celle-ci :
      <key>KernelAndKextPatches</key>     <array>         <dict>             <key>Name</key>             <string>AMD4800Controller</string>             <key>InfoPlistPatch</key>             <string>Yes</string>             <key>Find</key>             <string>0x94401002</string>             <key>Replace</key>             <string>0x944C1002</string>         </dict>         <dict>             <key>Name</key>             <string>ATIRadeonX2000</string>             <key>InfoPlistPatch</key>             <string>Yes</string>             <key>Find</key>             <string>0x94401002</string>             <key>Replace</key>             <string>0x944C1002</string>         </dict>     </array> Comme vous pouvez le voir, la clé "InfoPlistPatch" sert à injecter notre Device ID "uniquement" dans Info.plist, sans y toucher à la partie "binaire" de nos kexts. La clé "Find" a pour fonction de trouver le Device ID que l'on veut remplacer par le notre en utilisant la clé "Replace".
       
      Très bien, maintenant comme nous l'avons dit au début de ce tutoriel, ajouter notre Device ID n'est pas suffisant pour faire fonctionner pleinement notre carte graphique, il faut encore interagir sur la partie "binaire" de nos kexts. Dans notre cas, il va falloir agir uniquement sur un kext, çàd sur ATIRadeonX2000.kext et plus particulièrement sur ATIRadeonX2000.kext/Contents/MacOS/ATIRadeonX2000
       
      Et pour cela, nous allons faire comme ceci :
      <key>KextsToPatch</key> <array> <dict>     <key>Name</key>     <string>ATIRadeonX2000</string>     <key>Find</key>     <data>0F8394010000</data>     <key>Replace</key>     <data>909090909090</data> </dict> </array> Là nous pouvons voir que la clé "InfoPlistPatch" n'est pas utilisée et donc ces valeurs n'auront aucun effet sur l'Info.plist mais agiront uniquement au niveau de la partie "binaire". 
       
      Et voici les valeurs en leur forme complète que vous devrez ajouter dans votre config.plist
      <key>KernelAndKextPatches</key>     <array>         <dict>             <key>Name</key>             <string>AMD4800Controller</string>             <key>InfoPlistPatch</key>             <string>Yes</string>             <key>Find</key>             <string>0x94401002</string>             <key>Replace</key>             <string>0x944C1002</string>         </dict>         <dict>             <key>Name</key>             <string>ATIRadeonX2000</string>             <key>InfoPlistPatch</key>             <string>Yes</string>             <key>Find</key>             <string>0x94401002</string>             <key>Replace</key>             <string>0x944C1002</string>         </dict>         <dict>             <key>Name</key>             <string>ATIRadeonX2000</string>             <key>Find</key>             <data>0F8394010000</data>             <key>Replace</key>             <data>909090909090</data>        </dict>     </array> Très bien, maintenant il ne nous reste plus qu'à autoriser l'injection des kexts, sans quoi le patch ne fonctionnera pas. Et nous allons le faire via le tweak "InjectKexts" comme ceci :
      <key>SystemParameters</key> --> clé principale <dict>       <key>InjectSystemID</key>       <true/>       <key>InjectKexts</key> --> sous clé       <string>Yes</string> </dict>  
       
      Si certain(e)s d'entre vous préfèrent utiliser le logiciel "Clover Configurator" pour plus de facilité, voici comment entrer ces valeurs :
       
      Allez sur l'onglet "Kernel And Kext Patches" et faites comme ceci :
       
       
       
      *Ne faites pas attention sur le majuscule/minuscule, cela ne fait aucune différence
       
       
      Et pour injecter les kexts, aller sur l'onglet "System Parameters" et mettez l'option Inject Kexts sur Yes comme ceci :
       

       
       
      Voilà, vous n'avez plus qu'à enregistrer les ajustements, redémarrer votre pc et apprécier le résultat.
       
       
      MAIS ... seulement voilà ... il y a un problème ... 
       
      Quoi ? 
       
      Initialement, les kexts ne sont pas présents dans le kernelcache à cause de "OSBundleRequired=Safe Boot" (ils ne sont pas chargés en local par défaut mais en mode sans échec) et donc le patchage "à la volé" (on the fly) ne fonctionnera pas.
       
      Donc quoi, tout ça pour rien ?
       
      Non, bien-sûr, voici l'astuce pour remédier à cela :
       
      Dans un premier temps, il vous faut booter l'OS sans kernelcache. Si vous utiliser Clover Configurator, il vous suffit juste de cocher l'option "No Caches" dans l'onglet "System and Parameters" ou bien vous le faites directement dans votre config.plist :
      <key>SystemParameters</key> <dict>       <key>InjectSystemID</key>       <true/>       <key>InjectKexts</key>       <string>Yes</string>       <key>NoCaches</key>       <true/> </dict> Ceci aura donc pour effet de bloquer kernelcache et obliger boot.efi de charger le kernel et les kexts séparément. Clover et FSInject vont ensuite intercepter tous les chargements des kexts par boot.efi et changer "OSBundleRequired=Safe Boot" en "OSBundleRequired=Root" à la volé (on the fly) et forceront boot .efi à charger les kexts. Et ensuite dans un second temps, Clover va patcher l'Info.plist de ces deux kexts et la partie binaire de ATIRadeonX2000, kernel va les charger et ils seront rattachés à votre carte graphique.
       
      Une fois ceci fait (donc les kexts utilisés), il vous suffit de faire sudo touch /System/Library/Extensions. Ceci créera un nouveau kernelcache qui cette fois-ci contiendra vos kexts utilisés. Ensuite il ne vous reste plus qu'à redémarrer normalement (en décochant l'option No Caches dans Clover Configurator) et le patch fonctionnera à merveille.
       
       
      Oui, mais ... là aussi ...
       
      Quoi encore ?
       
      Seulement voilà, pour une raison ou une autre, il peut arriver que kernelcache se reconstruit tout seul et le patch "à la volé" ne fonctionne plus.
       
      Alors je fais quoi moi en attendant ?
       
      L'astuce la plus efficace pour le moment est d'injecter les infos de vos kexts à l'intérieur de l'Info.plist de FakeSMC.kext comme des IOKitPersonalities additionnels.
       
      ????Kézako????
       
      Ces infos vous les trouverez dans l'Info.plist de ces 2 kexts, sous IOKitPersonalities. Les voici :
       
      Pour AMD4800Controller.kext
      <key>Controller</key> <dict>         <key>ATY,Cardinal</key>         <dict>                 <key>aty_config</key>                 <dict>                         <key>CFG_NO_PP</key>                         <true/>                 </dict>          </dict>          <key>CFBundleIdentifier</key>          <string>com.apple.kext.AMD4800Controller</string>          <key>IOClass</key>          <string>AMD4800Controller</string>          <key>IOMatchCategory</key>          <string>IOFramebuffer</string>          <key>IOName</key>          <string>AMD4800Controller</string>          <key>IOPCIMatch</key>          <string>0x94401002 0x944a1002</string>          <key>IOProbeScore</key>          <integer>65050</integer>          <key>IOProviderClass</key>          <string>IOPCIDevice</string>         <key>aty_config</key>          <dict>                 <key>CFG_NO_PP</key>                  <false/>                  <key>CFG_PAA</key>                  <integer>0</integer>                  <key>CFG_USE_USCN</key>                  <false/>          </dict>          <key>aty_properties</key>          <dict>                  <key>PP_GFXClockGatingEnabled</key>                  <integer>1</integer>          </dict> </dict> Et pour ATIRadeonX2000.kext
      <key>ATIRadeonX2000</key> <dict>         <key>ATIEnableWideBlitSupport</key>         <true/> <key>ATIUseTearingWideBlit</key> <false/> <key>CFBundleIdentifier</key> <string>com.apple.ATIRadeonX2000</string> <key>GpuDebugPolicy</key> <integer>0</integer> <key>IOCFPlugInTypes</key> <dict> <key>ACCF0000-0000-0000-0000-000a2789904e</key> <string>ATIRadeonX2000GA.plugin</string> </dict> <key>IOClass</key> <string>ATIRadeonX2000</string> <key>IODVDBundleName</key> <string>ATIRadeonX2000VADriver</string> <key>IOKitDebug</key> <integer>0</integer> <key>IOMatchCategory</key> <string>IOAccelerator</string> <key>IOPCIMatch</key> <string>0x94001002 0x94011002 0x94021002 0x94031002 0x95811002 0x95831002 0x95881002 0x94c81002 0x94c91002 0x95001002 0x95011002 0x95051002 0x95071002 0x95041002 0x95061002 0x95981002 0x94881002 0x95991002 0x95911002 0x95931002 0x94401002 0x94421002 0x944A1002 0x945A1002 0x94901002 0x949E1002 0x94801002 0x95401002 0x95411002 0x954E1002 0x954F1002 0x95521002 0x95531002 0x94a01002</string> <key>IOProviderClass</key> <string>IOPCIDevice</string> <key>IOSourceVersion</key> <string>8.24.11</string> <key>IOVARendererID</key> <integer>16908288</integer> <key>sensor-properties</key> <array> <dict> <key>device_type</key> <data> Z3B1LXNlbnNvcg== </data> <key>location</key> <string>GPU</string> <key>name</key> <string>gpu-sensor</string> <key>polling-period</key> <data> AAAAAQAAAAA= </data> <key>reg</key> <data> AAAAAg== </data> <key>sample-period</key> <data> AAAAAACYmAA= </data> <key>sensor-id</key> <data> AAAABg== </data> <key>version</key> <data> AAAAAg== </data> <key>zone</key> <data> AAAAAg== </data> </dict> </array </dict>  
      Et voici donc l'Info.plist de FakeSMC.kext dans son intégrité, vous pouvez jeter un oeil, histoire de voir à quoi cela ressemble :
       
      FakeSMC_Info.plist.zip
       
      Et pour les moins casse-têtes, voici FakeSMC.kext modifié que j'utilise pour charger les 2 kexts :
       
      FakeSMC.kext.zip
       
       
      Voilà, avec ceci, vous n'aurez plus besoin de savoir si oui ou non les kexts sont dans le kernelcache.
       
       
      Crédits attribués à :
       
      netkas  pour son incontournable QE_CI Exotic patch (même s'il n'importe plus son support)
       
      Slice  & co. pour leur bébé nommé Clover
       
      dmazar  pour son astuce avec FakeSMC.kext   (pour plus d'info, voir ici)
       
      duffs (rarement ici, plus sur le site de netkas) pour son astuce de comment patcher la partie binaire avec Clover, ce fût lors de la sortie de OS X Mavericks DP1
       
      nyolc8  pour le support de QE_CI Exotic patch pour Mavericks
       
      fantomas1  pour ......... pour ... quoi déjà ? Ah ben non ... non ... pour rien ...
    • By Slice
      Now I want to add vector graphics support in Clover. See rev 4560 and later.
      It is not working yet but designers may begin to create Vector Themes.
      It supposed to consist of SVG elements and has design size. It will be rendered to any screen size scaled from design size.
       
      What application in macOS can create SVG graphics?
      Inkscape is not working in macOS 10.11+. Pity.
      LibreOffice Draw works with SVG but buggy.
      Boxy SVG cost 10$ but looks good enough. It creates the best in simplicity files and have more then enough features.
      Illustrator is good but expensive.
       
      How to improve SVG file?
      Clover has restricted support for SVG. It is your job to make compatible file and as small as possible to speedup rendering.
      Some helps:
      Help:Inkscape – From invalid to valid SVG Inkscape files
      From invalid to valid SVG Adobe Illustrator files
      From invalid to valid SVG files of other editors: BKchem, ChemDraw and CorelDRAW
      Help:Illustrator – Assistance with creating and saving SVG images in Adobe Illustrator that will pass W3C validation
      User:Quibik/Cleaning up SVG files manually
      Later I will write own instructions specific to Clover abilities.
       
      How to create SVG fonts?
      You can google to find ready-to-use SVG fonts.  I found some problems with too beaty fonts: slow rendering and overflow crash. Be careful.
      You can get ttf or otf fonts and convert them into svg by using online WEB services. Not a problem to google.
      But then I want to find a way to simplify the font to reduce a size and speedup rendering.
      You can create own font by FontForge It is opensource and available for Windows, Mac and GNU+Linux. It creates otf font which you can convert to svg font.
       
       
×