Jump to content
Micky1979

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

1,956 posts in this topic

Recommended Posts

Advertisement
9 hours ago, vector sigma said:

Do you mean that below cmd does'nt work?


cp -R "${DIR_MAIN}"/edk2/Clover/Patches_for_EDK2/* "${DIR_MAIN}"/edk2/

here works good, but this is right from @SavageUS?


The current local EDK2 revision is the suggested one (26300).

should not be r26767 like mentioned by this guy?

Working with Slice's HWMonitor on sf is a pain as well  maybe is just sourceforge.. I also see that Aptiofix is already synced with a git reposytory, maybe you guys can you just do the same with edk2.

Well I just tested it by reverting my local copy of the EDK2 to it's original state and I got those errors that were being posted. I copied Patches_for_EDK2 to EDK2 dir, they disappeared because it built (besides one error that I fixed, unsure how anyone was building but ok). Then I reverted again then updated to the newest EDK2 commit, got build errors again. Recopied the patches, and it built. So yes if you are getting those errors it's because the patches were not copied. Maybe you might want to add the -f flag to copy so that it forcibly overwrites the files, just in case? Or maybe see if the result of the return from cp is an error because it failed? I don't know what you mean about AptioFix being synced, it is not. That is an external dependency just like EDK2, and is basically AptioFix3 with some added stuff that were basically what I had been saying should happen, no one listened and argued with me a bunch. Then decided that it should behave that way and wrote it separately from clover because that was easier to maintain.... I constantly have to remove it to properly build because either the repo can't update because its down (I have way more trouble with most stuff on github than I've ever had at SF, which is why I don't think the problem is truly SF, but then again I live like right by one of the main servers so it may be a proximity/routing thing) or because the code is broken and won't build. Which is why I didn't want it as an external dependency but I was overruled by Slice because I'm assuming he didn't want to have to constantly maintain packporting the fix into clover. Since even though I give anyone who asks and has demonstrated any ability to code the chance to at least have an opportunity to submit commits, I apparently wouldn't allow AptioFix to be updated (with my own ideas, mind you) by anyone else. Which is complete {censored} because no one ever asked to submit code ever, not once. Seems more like an opportunity to steal other people's work and pass it off as there own.... Which whatever, I don't really care. Recognition is like being constantly shot in the face with a fire hose, it's fun for about one millisecond, and then your head is being blasted with a fire hose....

Share this post


Link to post
Share on other sites
Posted (edited)

Hi Sir apianti, I'm sorry but I cannot understand what you mean or referring to AptioFix stories, but me at least, I was only referring on how the script (as per title of the topic) checkout/update AptioFix from github into a svn one and I was wondering if this can be done with edk2 ...and get rid of sourceforge. No some thing else. About the copy of the patches.. how this cannot work? cp in -R mode continue copying even on errors, so that I agree with -f, but errors are printed to the stdout and this is not the case. Those errors only happened to me when patches for edk2 inside Clover aren't good for the local revision of edk2 itself why I showned you this:

The current local EDK2 revision is the suggested one (26300).

Sir Zenith432 committed new patches compatible with newer r26764 but the guy who showned a fail on the log was using 26300.

So, if you revert edk2, don't forget to revert Clover as well, otherwise errors for sure. You know, simply that. 

EDIT
unless you are talking about reverting edk2 to the same revision but untouched:D. Anyway mentioned cp command is inside clover() func, so to apply patches you have to ensure to update clover with an option of that script. So yes if you cannot update Clover because sf is down, patches cannot be applied but anyway are the old one. Speaking by using this script ^_^

EDIT II

maybe you have to move the cp command outside this function, or eventually have this code in ebuild.sh.

Edited by vector sigma
spelling

Share this post


Link to post
Share on other sites
5 hours ago, vector sigma said:

Hi Sir apianti, I'm sorry but I cannot understand what you mean or referring to AptioFix stories, but me at least, I was only referring on how the script (as per title of the topic) checkout/update AptioFix from github into a svn one and I was wondering if this can be done with edk2 ...and get rid of sourceforge. No some thing else. About the copy of the patches.. how this cannot work? cp in -R mode continue copying even on errors, so that I agree with -f, but errors are printed to the stdout and this is not the case. Those errors only happened to me when patches for edk2 inside Clover aren't good for the local revision of edk2 itself why I showned you this:


The current local EDK2 revision is the suggested one (26300).

Sir Zenith432 committed new patches compatible with newer r26764 but the guy who showned a fail on the log was using 26300.

So, if you revert edk2, don't forget to revert Clover as well, otherwise errors for sure. You know, simply that. 

EDIT
unless you are talking about reverting edk2 to the same revision but untouched:D. Anyway mentioned cp command is inside clover() func, so to apply patches you have to ensure to update clover with an option of that script. So yes if you cannot update Clover because sf is down, patches cannot be applied but anyway are the old one. Speaking by using this script ^_^

EDIT II

maybe you have to move the cp command outside this function, or eventually have this code in ebuild.sh.

No, I had the patches copied over and had to revert the EDK2 repo to its original state. The revision actually matters very little, not as much as made out to be, sometimes when there are large changes to one of the headers or something there is an issue but most of the time it's fine because it overwrites the entire file, not just patch it. You only need the patches if you are building the firmware, the GUI alone shouldn't need the patches but then you have to specifically build each module. Which I doubt the script does. The script can definitely be changed to use the git repo, it's not my script, and was my initial point, switch to the github repo of EDK2 and you will probably have less issues.

Share this post


Link to post
Share on other sites

can't the edk repo just be changed in the BuildCloverConfig.txt on line 16

EDK2_REP=svn://svn.code.sf.net/p/edk2/code/trunk/edk2

or is there more to it then just that?

Share this post


Link to post
Share on other sites
27 minutes ago, bronxteck said:

can't the edk repo just be changed in the BuildCloverConfig.txt on line 16

EDK2_REP=svn://svn.code.sf.net/p/edk2/code/trunk/edk2

or is there more to it then just that?

No it's more than that as the commands would need to be switched to use git instead of subversion. It would also require removing any working copy.

Share this post


Link to post
Share on other sites
Posted (edited)
8 hours ago, bronxteck said:

can't the edk repo just be changed in the BuildCloverConfig.txt on line 16

EDK2_REP=svn://svn.code.sf.net/p/edk2/code/trunk/edk2

or is there more to it then just that?

 

7 hours ago, apianti said:

No it's more than that as the commands would need to be switched to use git instead of subversion. It would also require removing any working copy.

I'm confident that this:

EDK2_REP=https://github.com/tianocore/edk2/trunk

in BuildCloverConfig.txt will work as expected :D. Just need a clean src the first time. Bye bye sourceforge... now we need Clover on github..

Edited by vector sigma

Share this post


Link to post
Share on other sites
Posted (edited)

I suspected such sync issues may occur.

Migrating all the repos to git would require a major change in the source code versioning and I think that's up to @Slice to decide.

Edited by Philip Petev

Share this post


Link to post
Share on other sites

Hi Sir Philip Petev, of course yes. About the revision,by calling:

Build_Clover.command --edk2rev 36852

everything went fine, but can we assume that differences is always the same?? 

Share this post


Link to post
Share on other sites
Posted (edited)
4 minutes ago, vector sigma said:

Hi Sir Philip Petev, of course yes. About the revision,by calling:


Build_Clover.command --edk2rev 36852

everything went fine, but can we assume that differences is always the same?? 

The only way to be sure is to svn-checkout both the git and the SF repos in different folders and compare them with visual diff tool like Kaleidoscope. If they are identical, you won't see any occurrences when you load them in the app.

Edited by Philip Petev

Share this post


Link to post
Share on other sites
Posted (edited)
10 minutes ago, Philip Petev said:

The only way to be sure is to checkout both the git and the SF repos in different folders and compare them with visual diff tool like Kalleidoscope.

IMHO, is just the revision that comes with sf that is missleading, main repo is on github. I mean that if Slice will decide to use:

https://github.com/tianocore/edk2/trunk

instead of 

svn://svn.code.sf.net/p/edk2/code/trunk/edk2

then the rivision will be just the latest he wants to be ha ha. He just need to checkout new modules with new url. Is always a svn repo and have to do this only once and syntax He's using will be always the same (i.e. He can continue to use ~/src/edk2/Clover/update.sh)

Edited by vector sigma
spelling

Share this post


Link to post
Share on other sites
Posted (edited)

There is no reason to need to continue with any revision for EDK2, it is only used to update the patches, which is why at some point there is a "suggested" revision. However, the git and svn repos are identical, except that the svn repo constantly syncs with the git repo. Clover v2 repo won't be changing git, just the script using git for EDK2, it still would need to use subversion for Clover. And if you do switch to git for the EDK2 repo you'll have to make sure the entire working copy is erased to pull from the git repo or you'll run into issues.

EDIT: Also I switched to the git EDK2 repo a long time ago when the svn repo switched to syncing instead of direct commits. Never had an issue.

Edited by apianti

Share this post


Link to post
Share on other sites
25 minutes ago, apianti said:

make sure the entire working copy is erased to pull from the git repo or you'll run into issues

yeah, just compare each packages by doing the following (in this case BaseTools):

cd ~/src/edk2/BaseTools
svn info . | grep '^URL'

then if the output is not "URL: ${EDK2_REP}/BaseTools" you'll have delete it and checkout it again.

 

Share this post


Link to post
Share on other sites
Posted (edited)

SF is out for lunch... again.

Edit: guys, take a look at this:

Spoiler

================================================================================
boot6
                             <--------------------------------------------------
TOOLCHAIN_DIR: /Users/philip/src/opt/local
MTOC_PREFIX: /Users/philip/src/opt/local/bin/
NASM_PREFIX: /Users/philip/src/opt/local/bin/
NASM_VER: 2.13.03
Building from: /Users/philip/src/edk2

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

Build environment: Darwin-16.7.0-x86_64-i386-64bit
Build start time: 22:24:40, Apr.02 2018

WORKSPACE        = /Users/philip/src/edk2
ECP_SOURCE       = /Users/philip/src/edk2/EdkCompatibilityPkg
EDK_SOURCE       = /Users/philip/src/edk2/EdkCompatibilityPkg
EFI_SOURCE       = /Users/philip/src/edk2/EdkCompatibilityPkg
EDK_TOOLS_PATH   = /Users/philip/src/edk2/BaseTools
CONF_PATH        = /Users/philip/src/edk2/Conf


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

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

Processing meta-data ..

build.py...
/Users/philip/src/edk2/MdePkg/Library/BaseLib/BaseLib.inf(452): error 000E: File/directory not found in workspace
    /Users/philip/src/edk2/MdePkg/Library/BaseLib/X64/WriteTr.nasm


- Failed -
Build end time: 22:24:44, Apr.02 2018
Build total time: 00:00:04


o_Ops, ./ebuild.sh exited with error(s), aborting..

That's clean source download (no ~/src/edk2) from the GH repo.

Edited by Philip Petev

Share this post


Link to post
Share on other sites
11 hours ago, vector sigma said:

yeah, just compare each packages by doing the following (in this case BaseTools):


cd ~/src/edk2/BaseTools
svn info . | grep '^URL'

then if the output is not "URL: ${EDK2_REP}/BaseTools" you'll have delete it and checkout it again.

 

No, if you switch to a git repo from using subversion repo, you need to erase the entire working copy. They are completely different tools and hold the commits in different ways, they cannot be checked out into the same directory. In fact git usually refuses to checkout into a non empty directory without flags and also if I recall correctly also complains that its already being tracked by subversion. You can however convert it to git but that won't help you because you want to have the remote git repo's commits/history, not create a new one.

7 hours ago, Philip Petev said:

SF is out for lunch... again.

Edit: guys, take a look at this:

  Hide contents

================================================================================
boot6
                             <--------------------------------------------------
TOOLCHAIN_DIR: /Users/philip/src/opt/local
MTOC_PREFIX: /Users/philip/src/opt/local/bin/
NASM_PREFIX: /Users/philip/src/opt/local/bin/
NASM_VER: 2.13.03
Building from: /Users/philip/src/edk2

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

Build environment: Darwin-16.7.0-x86_64-i386-64bit
Build start time: 22:24:40, Apr.02 2018

WORKSPACE        = /Users/philip/src/edk2
ECP_SOURCE       = /Users/philip/src/edk2/EdkCompatibilityPkg
EDK_SOURCE       = /Users/philip/src/edk2/EdkCompatibilityPkg
EFI_SOURCE       = /Users/philip/src/edk2/EdkCompatibilityPkg
EDK_TOOLS_PATH   = /Users/philip/src/edk2/BaseTools
CONF_PATH        = /Users/philip/src/edk2/Conf


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

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

Processing meta-data ..

build.py...
/Users/philip/src/edk2/MdePkg/Library/BaseLib/BaseLib.inf(452): error 000E: File/directory not found in workspace
    /Users/philip/src/edk2/MdePkg/Library/BaseLib/X64/WriteTr.nasm


- Failed -
Build end time: 22:24:44, Apr.02 2018
Build total time: 00:00:04


o_Ops, ./ebuild.sh exited with error(s), aborting..

 

I have been using SF all day and haven't had one problem, lol.

7 hours ago, Philip Petev said:

That's clean source download (no ~/src/edk2) from the GH repo.

What do you mean? I use the GH git repo for EDK2, and the SF svn repo for Clover, in multiple OSes and it works perfectly fine. Just built with newest commits from each repo, works great...?

Share this post


Link to post
Share on other sites
Posted (edited)
8 hours ago, apianti said:

No, if you switch to a git repo from using subversion repo, you need to erase the entire working copy. They are completely different tools and hold the commits in different ways, they cannot be checked out into the same directory. In fact git usually refuses to checkout into a non empty directory without flags and also if I recall correctly also complains that its already being tracked by subversion. You can however convert it to git but that won't help you because you want to have the remote git repo's commits/history, not create a new one.

We are saying a similar thing of Just checking if the repo is not the same, then you can erase it or not. But me I'm talking by using "svn co" on github not git, otherwise you can ignore me :)

16 hours ago, Philip Petev said:

That's clean source download (no ~/src/edk2) from the GH repo.

Wrong revision of edk2 (probably is old), take latest or use r36852 as I already tried. EDIT: just for testing purpose, assuming you're using github.

Edited by vector sigma

Share this post


Link to post
Share on other sites
Posted (edited)

My point was subversion counts the revisions in the git repo the wrong way. Trying to pull out the latest preferred revision (r26764), subversion downloaded unusable copy (probably another revision), so changing the edk2 url with the GH repo doesn't work, at least no as it should be.

And the latest revision works only because nothing has been changed much (or at all) in the files from the Patches_for_edk2 folder.

Edited by Philip Petev

Share this post


Link to post
Share on other sites
Posted (edited)
58 minutes ago, Philip Petev said:

subversion downloaded unusable copy (probably another revision)

there's probably a diferences of 10086:

svn info https://github.com/tianocore/edk2/trunk
Path: trunk
URL: https://github.com/tianocore/edk2/trunk
Relative URL: ^/trunk
Repository Root: https://github.com/tianocore/edk2
Repository UUID: 72af8a33-8d04-ae46-851a-ce57b7db7bff
Revision: 36858
Node Kind: directory
Last Changed Author: carsey..jaben
Last Changed Rev: 36858
Last Changed Date: 2018-04-03 11:39:34 +0200 (Mar, 03 Apr 2018)

vs sourceforge:

svn info svn://svn.code.sf.net/p/edk2/code/trunk/edk2
Path: edk2
URL: svn://svn.code.sf.net/p/edk2/code/trunk/edk2
Relative URL: ^/trunk/edk2
Repository Root: svn://svn.code.sf.net/p/edk2/code
Repository UUID: 6f19259b-4bc3-4df7-8a09-765794883524
Revision: 26772
Node Kind: directory
Last Changed Author: edk2buildsystem
Last Changed Rev: 26768
Last Changed Date: 2018-04-02 11:05:26 +0200 (Lun, 02 Apr 2018)

so by checking out r26764 from github (svn) is like having downloading r16678 from sf :D

EDIT

..but sf is actually one day older. Maybe We can checkout a single BaseTools from both url (r36858 and r26772) and see if the commit message is the same with:

cd .../BaseTools
svn log --revision xxxxx

EDIT II

Anyway git is best, but the big problem is if Slice wants that??

Edited by vector sigma
typo

Share this post


Link to post
Share on other sites
On 1/4/2018 at 8:28 PM, apianti said:

So yes if you are getting those errors it's because the patches were not copied

Got it. I'm playing with Clover to make a customized iso with nvme+apfs drivers for virtualbox. I've entered the called "Developer mode", and this really doesn't copy patches. Don't know if this is a bug or is wanted, unsure.

Good night

Share this post


Link to post
Share on other sites

You need to check out the github URL with git. You did that right? If you only changed the URL and still used svn then it probably did something weird.

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 fagner_sbs
      Hello! Sorry for the way of writing in English, I'm using google translator.
      I am several days trying to make my Mojave hakintosh work perfectly. However, I have reached a point where I can no longer proceed without help.
      Almost all hardawares were installed and recognized (using the clover). However, still have a panic kernel (capture attached). Every time, when connecting the MAC it restarts 2 or 3 times to be able to show the dekstop and to function normal. I also think that having problem with video graphics sometimes freezes the entire display system if video appears on a web page.
      I've attached a file with used files: clover, bios capture, complete hardware information, error capture(https://1drv.ms/u/s!AvhW45_HBY8zgfsySZPWZ-SZXFiMfA). Can someone help me?
       
      Notebook:
      Mobile DualCore Intel Core i7-3537U, 2000 MHz (20 x 100), 4 threads
      Asus K46CB Series Notebook
      Intel Panther Point HM76, Intel Ivy Bridge-MB
      16269 MB  (DDR3 SDRAM)
      BIOS AMI (05/17/2013)
      Vídeo:
      Intel(R) HD Graphics 4000                         10.18.10.4358
      NVIDIA GeForce GT 740M                            25.21.14.1634
    • By MikixIT
      Salve ragazzi, io ho un pc con sopra Windows e Sierra(che ho installato grazie a questo fantastico forum)
      Recenetemte ho avuto problemi con gli aggiornamenti windows 10(Che uso urgentemente per lavoro)
      E girando per i forum di Windows, ho capito che il problema era dato da un "interferenza" di clover di quando windows faceva i soliti riavvi quando aggiorna.
       
      Io volevo chiedere se era possibile selezionare MOMENTANAMENTE Windows come avvio primario e quindi non su clover, una sorta di bypassare clover
      e quindi il pc avvia o riavvia e va subito ad avviare windows senza passare da clover, in modo da fare aggiornare Windows e poi "RIATTIVARE" Clover esattamente come prima
      Esiste un modo di fare ciò senza perdere clover o dati etc? 
      Grazie se risponderete, buona serata ragazzi!
    • By cvad
      Small tool to download, compile and build the latest Clover X64 package.
       
       
       

      The script inside is editable.

       
      Enjoy...
       
      Many thanks to the comrade SunKi for help with creating the script.
       
       
       
       
       
      Best thanks - click "Rate File".
       
    • 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 18A391:  For macOS Mojave or High Sierra, use macOS_iso_creator.tool on page 4 of thread.
       
      Good luck and enjoy
      CECI.tool.zip
      CYI.tool.zip
      CMI.tool.zip
    • By Masha24
      Hi guys, I've been lurking in the shadows for months trying to learn how to hackintosh this laptop.  Perhaps if anyone has the time, I could use some help getting it to install 
       
      Trying to install High Sierra on this Laptop:
       
      Lenovo Ideapad 110-171KB-80VK (2017)
      Intel Core i5 7200U
      Intel HD 620 Graphics
      Resolution: 1600x900
       
      Elan PS2 Track Pad - [ACPI\VEN_ETD&DEV_0675 - system device -PCI\VEN_8086&DEV_9D23&SUBSYS_383117AA&REV_21]
      Realtek Network    - [PCI\VEN_10EC&DEV_8136&SUBSYS_383317AA&REV_07]
      Realtech audio
       
      SATA Controller    - [PCI\VEN_8086&DEV_9D03&SUBSYS_382F17AA&REV_21]
      USB 3.0 XHC        - [PCI\VEN_808
       
      --- Using Clover *
      --- I'll attach it below.
       
      I can't quite get it to install, and i've been going in circles for months now ...
      I'll attach everything I have so far including, verbose pics, clover preboot, Clover folder, etc.
       
      Here are some photos of the verbose text leading up to the installer, if maybe there is something useful in here?
       

       
       
       
      And now photos of the installer
       
       
       

       
       

       
       
      Above is an image of the Installer log, (the main pop up window loads from about 10 mins and stops arbitrarily at 2 minutes left, every time) of the nearly hundred attempts i have made, this is the final screen i get, pretty much no matter what i do.
      Sometimes the the order of what it says is different , but the main things of interest are:
       
      "Target is not convertible to APFS: This volume is not formatted as Mac OS Extended journaled."
      "Warning: Couldn't find Board ID, Chip ID, & ECID in new namespace, falling back"
      "Unable to get fs for null"
      " NO native mechanism to verify Applediagnostics.chunklist"
      " NO native mechanism to verify Installfa.plist"
      " NO native mechanism to verify Basesystem.dmg"
      " NO native mechanism to verify AppleDiagnostics.dmg"
      " NO native mechanism to verify InstallESD.dmg"
      " NO native mechanism to verify Basesystem.chumklist"
       
      I have tried many many ... many .. different combinations of kexts, drivers, copies of clover, forks of clover - different copies of drivers and kexts from different sources.. including from all the official repositories.
       
      * I am not trying to install with APFS - the drive i am using is a spinning HDD - so i don't understand the first line quote above.
      * I am using a usb2 slot - there is only two on this machine - 1- usb2 and 1- usb3
      * As you'll see in the Clover folder i'm using APFSdriverloader. - so the installer should detect the installer-APFS-thing - and see it should be HFS+ ?? no?
       
      I'll detail the procedures:
       
      I wiped the Target HDD drive with a live linux USB.
      i prepair the USB with Createinstallmedia method, install clover to the EFI on usb, load kexts and drivers (I've been recently attempting with the Plist from a 'certain other site' Ton*****86) As it has the dvmt preallocation patch and other bits - i'm of course open to ANY other files/pLists .. this is just the one i've been experimenting with lately.)
      Add ' -v ' in clover options to see the verbose output
      in the installer (acts sketchy sorta, delayed and sluggish) i use DiskUtility to erase the drive 'Macos extended journaled'
      Make initial selections, agree to license and begin install.
      it proceeds to 2 minutes left every time, and hangs. many times i've left it for hours, and even overnight.
      I'm honestly not kidding, it's nearly 100 times ive' tried this, i've downloaded high sierra from the app store 5 times to rule out that, i've used countless combinations of everything .. i'm almost completely burned out.
       
       
      If anyone can shed some light i'll be VERY thankful!... I'm ready to go in a completely new direction...please please please help
       
      I'll put the Clover in the next post because i ran out of space in this one......
       
       
       
       
       
       
       
      Here is the latest clover i've been using, with the preboot, and DSDT/SSDT (F2 & F4) in it.
       
      CLOVER-Oct15.zip
       
      Thank you very much for ANY help you can provide
×