Jump to content
Kogen Mantis

Lenovo ThinkPad T420 with UEFI Only

4,616 posts in this topic

Recommended Posts

Advertisement

Hi there!

 

Since you guys are using EmuVariableUefi driver when using Clover, please test new version. Details here: http://www.projectos...indpost&p=28411

 

Thanks.

 

Hi there,

 

The EmuVariableUefi driver seems to be working alright on my X220 but the CLOVERX64 driver made the whole boot really slow with lots of error messages. I couldn't get passed a white screen at the end after some fatal error related to SuperIODevice (I couldn't copy).

 

So I'm keeping only the EmuVariableUefi and discarding the other. UPDATE: this file is also causing the same problems as the cloverx64 driver; slow boot, lots of errors and the trackpad doesn't work after completing the boot (around 5 minutes...).

 

My system is now working more or less properly :thumbsup_anim: I have to recognise my utter dumbness: I wasn't placing the modified DSDT on the Patched folder but on the ACPI one, so nothing made sense and none of the changes applied on the dsdt worked.

 

The internal WWAN card is recognised and works with a valid SIM card on 3G networks, very fast and convenient. To connect I use this script:

http://www.mydellmin...module-osx.html

The setup is pretty straightforward if you know your service provider settings.

 

USB 3.0 works perfectly with the code added to the info.plist file suggested by Kogen Mantis on post #70.

 

I have sound working with the latest kext used by tluck (previous post). I have a slight sound distortion on higher volume outputs not present in Linux. Any idea of what values can be modified so I can play a little?

 

Bluetooth does not work because it is associated to the WLAN card. I'm still thinking about flashing the BIOS, I'm scared I'll brick my system :worried_anim: Do you need windows running to flash the BIOS? at the moment I only have OS X.

 

In my case the two finger scroll was working in the opposite direction, that can be changed setting the MultiFingerVerticalDivisor line to -1 found on the VoodooPS2Controller.kext->Contents->Plugins->VoodoooPS2Trackpad.kext->Contents->Info.plist

 

Brightness works adding the PNLF code on the DSDT. But it is too high :thumbsdown_anim: , the minimum setting is way higher than the minimum in Linux and it kills the battery. It's particularly annoying in a very dark room. Any ideas? I can't find the BNC, BNL and BNQ methods in my dsdt, where would you place them? Should I modify something on the info.plist?

 

The fingerprint reader works perfectly using the TrueSuite software from Authentec (http://support.authe.../TrueSuite.aspx).

Share this post


Link to post
Share on other sites

i just switched over to Clover yesterday. i have dual boot osx and win7 (native uefi).

there is a learning curve for sure!!!

 

i am currently using b1208. i tried the b1316 (with the new directory layout ) but shows 12 GB of memory instead of 8GB so i backed off. + the b1316 shell crashes.

 

btw, what does emuvariableuefi do exactly?! - i have in place but was just curious as to what it fixes.

definitely needs the osxaptioFixDrv or the boot just hung after reading the kernel cache!

 

@k0gen - thanks!

Share this post


Link to post
Share on other sites

It's been awhile since my last post. Just wanted to let everyone know that thanks to cayspekko's donation I'm back and running with my T420 LCD screen replaced to a new one. Thank You again cayspekko!

 

It is good to see that people are progressing with the UEFI setup. Because I have lost all my previous work with the mSATA that is waiting to be found in my house - somewhere :) - I'll start from the beginning using my internal HDD. I'm not sure yet if I want to keep the windows by preparing dualboot setup but for sure I'll experiment a bit on my new motherboard original/older UEFI Bios (83ET65WW - 1.35 - no whitelist).

 

... btw, what does emuvariableuefi do exactly?! - i have in place but was just curious as to what it fixes.

definitely needs the osxaptioFixDrv or the boot just hung after reading the kernel cache!

 

@k0gen - thanks!

 

 

I'm not an expert - I guess dmazar should answer that - but if I understand it correctly the EmuVariableRuntimeDxe is essential for us (Phoenix UEFI users) to avoid long bootup time because of no runtime services are being present.

So instead of real NVRAM variables from the firmware we use emulated runtime variables from the memory to speed up the boot up time proces.

Share this post


Link to post
Share on other sites

I'm using clover 1344

tluck's dsdt.aml & AppleIntelSNBGraphicsFB.kext

DualLink to 0

i've 4 screens on my LCD (like i use to had in the past before using DualLink to 0)

 

CAN someone help please

issue is gone when AppleIntelSNBGraphicsFB.kext is get out /S/L/E but no acceleration and resolution is 1024x768 only

Share this post


Link to post
Share on other sites

I'm using clover 1344

tluck's dsdt.aml & AppleIntelSNBGraphicsFB.kext

DualLink to 0

i've 4 screens on my LCD (like i use to had in the past before using DualLink to 0)

 

CAN someone help please

issue is gone when AppleIntelSNBGraphicsFB.kext is get out /S/L/E but no acceleration and resolution is 1024x768 only

Change tluck dsdt.aml to DualLink 0 aswell

Share this post


Link to post
Share on other sites

hmm. for a 1600x900 resolution LCD (like mine) it needs DualLink 1 (default now apparently in clover now) otherwise it's very wide.

AppleInteSNBGraphicsFB.kext must be in /S/L/E (or put the patched ones in /EFI/Clover/kexts.) otherwise you wont get any display buffers.

 

i'm on clover 1208 currently. will try 1344 later today. Note: i had problems with 1316 - memory was reported as 12GB and the shell was crashing.

 

i think i figured out the sleep issue for some using clover - dont set AsusAICPUPM in the config.plist. i am using a patched AppleIntelCPUPowerManagement.kext and the rollback v1.3.5 (aka snowleopard) AppleACPIPlatform.kext instead. will report other findings as they crop up. To keep it simple and backward compatible, kept all the patched kexts as with chameleon. just booting with clover efi.

Share this post


Link to post
Share on other sites

@k0gen - glad you are back up and running.

 

i tried b1344 and it still reports 12GB of memory instead of 8GB. and the Shell crashes. not sure where to report these bugs/issues? i will stay on b1208 until i see this items fixed.

Share this post


Link to post
Share on other sites

@k0gen - glad you are back up and running.

 

i tried b1344 and it still reports 12GB of memory instead of 8GB. and the Shell crashes. not sure where to report these bugs/issues? i will stay on b1208 until i see this items fixed.

I'm under 1344, no issue with my 4Gb here. but the 2 last releases gave me a lot of work in fact.

Everything is ok now, but now i'll wait a bit to see if the next release are stables or not lol

Share this post


Link to post
Share on other sites

@k0gen - glad you are back up and running.

 

i tried b1344 and it still reports 12GB of memory instead of 8GB. and the Shell crashes. not sure where to report these bugs/issues? i will stay on b1208 until i see this items fixed.

Yes I have same thing on b1346:

post-112035-0-44147000-1366505497_thumb.png

I see apianti is doing all the memory changes, try contacting him on projectosx.

Share this post


Link to post
Share on other sites

@tetonne - that dsdt snippet is for a different codec than in my - some T420s may have cx20672 vs cs20590 codec. i dont know how different the pinouts. but it seems like someone had a x220 with that codec and got AppleHDA working now. dont really understand how the cached kexts loose sound? weird.

you are welcome.

 

@k0gen - well glad its not just me with the memory report of 12 vs 8GB.

 

clock question. i am still learning and adjusting to Clover... but i have a question for you and others:

 

does your box lose time? my date clock is off - it runs slow. after a few hours its off by several minutes when i boot with Clover. When i boot the same disk with Chameleon the clock stays accurate? i created a clean installation and ran it for a few hours and it was off by a lot.

Share this post


Link to post
Share on other sites

@tetonne - that dsdt snippet is for a different codec than in my - some T420s may have cx20672 vs cs20590 codec. i dont know how different the pinouts. but it seems like someone had a x220 with that codec and got AppleHDA working now. dont really understand how the cached kexts loose sound? weird.

you are welcome.

 

@k0gen - well glad its not just me with the memory report of 12 vs 8GB.

 

clock question. i am still learning and adjusting to Clover... but i have a question for you and others:

 

does your box lose time? my date clock is off - it runs slow. after a few hours its off by several minutes when i boot with Clover. When i boot the same disk with Chameleon the clock stays accurate? i created a clean installation and ran it for a few hours and it was off by a lot.

 

tluck can you try adding:


<key>SMBIOS</key>
<dict>
<key>Trust</key>
<string>No</string>
</dict>

to your Clover config.plist and test out if the memory is still reporting 12GB?

I don't have a access to my t420 at the moment to test it out, but I guess this will fix the problem.

Also do share your working EFI folder - I'll start from the point your in, cause I still use 1050 that works best for me.

As for time I'm just guessing this might be the TSC sync causing all the mess - is your CPU reporting 2.51GHz or 2.5GHz?

Share this post


Link to post
Share on other sites

@k0gen

here is my /EFI that i am using with b1597 - the config.plist is the key to making it all work!!! i had to specify CpuFrequencyMhz and BusSpeedkHz as clover does not compute a speed of 2.50 GHz and the clock would not stay accurate - BusSpeed is key to getting my clock to stay on track.
 

<key>ACPI</key>
  <dict>
  <key>DropOemSSDT</key>
  <string>Yes</string>
  <key>FixDsdtMask</key>
  <string>0x0000</string>
  <key>GenerateCStates</key>
  <string>No</string>
  <key>GeneratePStates</key>
  <string>No</string>
</dict>

<key>CPU</key>
  <dict>
  <key>BusSpeedkHz</key>
  <string>99700</string>
  <key>CpuFrequencyMHz</key>
  <string>2500</string>
  <key>Turbo</key>
  <string>Yes</string>
</dict>

Note: I added the Microsoft EFI boot loader and can directly boot the Windows7 with EFI - did not have to reinstall. just had to fiddle with BCD to find the windows volume.

UPDATED: May-10-2013 - revised zip to include ssdt.aml from verleihnix (thanks!) and updated config.plist to NOT generate P/C states. (this fixed some wake from sleep issues for me)

 

UPDATED: see #202 for newer bundle for newer Clover.

Share this post


Link to post
Share on other sites

@tluck

Yes the config.plist customization is the key to perfect setup. But right now I'm trying to make a solution for all Lenovo UEFI users to have a easy way of installing the system. Then point them in the right direction to tweak their Clover config for a specific lenovo model and share their OEM folders here for others to follow.

 

You can use my Clover custom build based on 1229 - the last one that was not broken by the SMBIOS memory detection and alocation changes. I have also regressed the CPU TSC Sync calculation, so try it without defining the CpuFrequencyMHz and BusSpeedkHz.

The package will install all the necessary efi drivers, FakeSMC, ethernet and PS2 devices kexts. The config file is also fine tuned to run without any DSDT. So if anybody needs easy way to make recovery pen-drive just point the installer to correct media and you are ready to boot.

 

NOTE: Users with low resolution should edit config.plist and change DualLink from 1 to 0

post-112035-0-80583800-1366765469_thumb.png

Share this post


Link to post
Share on other sites

I'm on 1306 on my T420, it's working great for me (apart from the sleep problem mentioned at: http://www.insanelymac.com/forum/topic/268280-guide-thinkpad-t420-with-mountain-lion/page__st__280#entry1910057, which also happened with old Clover) with the correct amount of memory reported with the SMBIOS Trust=No config setting mentioned above (I've got 8Gb and I was also getting 12Gb reported without that setting).

 

My config.plist is at:

https://www.dropbox.com/s/1wwwk3tvi6tp41a/config.plist

Share this post


Link to post
Share on other sites

@k0gen

Thank you for this guide. I have followed your instructions for my T420. I had to change model number to mine which is 4180AF6 Running stock BIOS version 1.44 and screen is 1600x900. Hard disk is OCZ-AGILITY3 (60GB SSD) which is recognised correctly with link speed of 6 Gigabit (SATA III) which I'm very happy about.

 

My main issue is that I have no sound. Please confirm that your set-up supports sound? and advise what might be wrong? Do I have to install VoodooHDA. Another issue is that I am still booting off USB - I did copy UFI folder to primary disk using your instructions but system does not even start to boot beyond Lenovo BIOS. I can select primary disk to boot but just comes flashes and returns to same UEFI/BIOS screen.

 

Regarding your post #117 should I install Clover_v2_r1229k0.zip?

 

Please forgive any mistakes in this my first post.

 

Enjoying OS X 10.8.3 so far on my T420 and hope I can get sound and WiFi in due course. (Have Dell DW1510 but think I need BIOS with no whitelist for it to work)

 

Now booting off primary!

 

Just double checked EFI partition and I had copied files into a sub EFI folder so moved them up one level. (there is already an APPLE folder here too)

 

Anyway now able to boot off system - USB stick not required. :-)

 

Now onto SOUND - please advise what logs I can review to try and determine issue or post here.

 

thanks

Share this post


Link to post
Share on other sites

Now onto SOUND - please advise what logs I can review to try and determine issue or post here.

 

thanks

 

AppleHDA.kext should work. You don't need VodooHDA. Which DSDT file are you using? Try placing the attached AppleHDA kext on the Extras folder, repair permissions, and check you have this lines on your dsdt file. You also have to remove the original AppleHDA kext placed on System/Library/Extensions/

 

Device (HDEF)
				 {
						 Name (_ADR, 0x001B0000)
						 Name (_S3D, 0x03)
						 Name (RID, Zero)
						 Name (_PRW, Package (0x02)
						 {
								 0x0D,
								 0x04
						 })
						 Method (_PSW, 1, NotSerialized)
						 {
								 Noop
						 }
					 Method (_DSM, 4, NotSerialized)
						 {
								 Store (Package (0x0A)
										 {
												 "codec-id",
												 Buffer (0x04)
												 {
													 0x6E, 0x50, 0xF1, 0x14
												 },
												 "layout-id",
												 Buffer (0x04)
												 {
												 // for 10.8.x use layout12
													 0x0C, 0x00, 0x00, 0x00
												 // 0x6E, 0x50, 0x00, 0x00
												 },
												 "PinConfigurations",
												 Buffer (Zero) {},
												 "hda-gfx",
												 Buffer (0x0A)
												 {
														 "onboard-1"
												 },
												 "device-type",
												 Buffer (0x11)
												 {
														 "Conexant CX20590"
												 }
										 }, Local0)
								 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
								 Return (Local0)
						 }
				 }

 

Credit for this goes to tluck (http://www.insanelym...n/page__st__160) I'm just pasting ^_^

AppleHDA.kext.zip

Share this post


Link to post
Share on other sites

@espamac - thanks! - btw, what laptop/codec do you have?

 

@wavelets - if you are on 10.8.3, then there is a slightly newer kext pack that has an updated 10.8.3 AppleHDA patched for CX20590.

what sound codec do you have - some T420s might have a different chip now.

 

see post #238 - just replace all the kexts in /S/L/E - but you know that!

 

i have a copy of these in my /EFI/kexts also. Note: the dsdt.aml goes in /EFI/CLOVER/ACPI/patched

and the HDEF section (per above) needs to match for ID 12.

 

@kogen

i am on Clover B1360 now... will try your package on my test disk later today. pretty cool.

so what do you mean exactly by regressing the TSC calculation? the logs show it calculates 2507 or 2508 MHz and then bus speed is around 100270 kHz. (which does not work for my system)

 

i need to use this to lower the bus speed or i get a lot of time drift:

 

 

<key>CPU</key>
<dict>
<key>BusSpeedkHz</key>
<string>99700</string>
<key>CpuFrequencyMHz</key>
<string>2500</string>
<key>Turbo</key>
<string>Yes</string>
</dict>

Share this post


Link to post
Share on other sites

@wavelets - Yes my setup supports sound but I admit that the first post is a bit outdated and needs some clarifications about getting the sound to work + extra knowledge from wonderful people like tluck, espamac, Tetonne and others. I'll try to find some free time this weekend and update the first post. (suggestions are welcomed)

1. You need whitelist to use Dell DW1510

2. Sure you can update to newer Clover but this won't fix the sound issue. Just folow Espamacs and tlucks instructions.

 

@tluck - by regressing I mean reverting to method used in Clover r1059 and earlier. Cause I have observed that in r1060 and newer my CPU is reported as 2.51GHz (out of sync) causing AppleHDA to behave strange - the sound after one second was flaky (rendering strange noise). I have never observed the actual clock time (there is no space for time within your mind :)) - but I guess this will also be out of sync. Just try my custom build and report if you still need to define the CPU parameters in config.plist

 

To all: I recommend using OEM folder when mastering your Clover config.plist, dsdt.aml, kexts whatever. This way you always have a minimal config that will let you boot to the system and fix things you have messed up in the OEM setup specific for your model. In that case you only need to boot to the EFI Shell and rename your OEM folder to someting else, for example:

EFI\OEM\4180A32 to EFI\OEM\4180A32-bad

or in new world Clover

EFI\CLOVER\OEM\4180A32 to EFI\CLOVER\OEM\4180A32-bad

This way Clover will ignore your OEM folder and boot from the main/default config.

Share this post


Link to post
Share on other sites

@espamac, @tluck, @kogen

 

Thanks for the feedback. I did manage to get sound working just fine but no mic? Then I tried a few other things and managed to break sound.

 

@kogen My sound codec is Conexant 20672

 

Still on a steep learning curve with regards UEFI, Clover, kexts, dsdt etc. please bear with me - lots more reading/researching required!

 

@kogen if you do manage to find time to update guide I would really appreciate it and will be happy to test it out for you and feedback any results. Happy to start from scratch on my system as using as a learning exercise. I have spare disks so can re-test install if needed.

 

cheers

Share this post


Link to post
Share on other sites

@kogen - gotcha. i tested your package and it works fine. i put OEM/4236AT9 for my model specific stuff dsdt.aml and config.plist. clover will find this and use it over he generic top level config.plist (which i set up for running the OS installer - added kexts and options that wont kp!)

 

but the problem remained around clock speed - it set the bus to 100000 kHz and this causes problems for me. (these values can been seen in the Clover GUI by going to the Options/CPU tuning sub-menu). so i will continue to set the CPU values specifically to 2500/99700.

 

Anyway, i went ahead with and installed the more recent b1378 and that works fine too.

 

since the shell in these newer builds crashes, i copy over the b1208 shell. i put all the custom kexts in EFI so i can load them when needed for installation etc.

Share this post


Link to post
Share on other sites

...

but the problem remained around clock speed - it set the bus to 100000 kHz and this causes problems for me. (these values can been seen in the Clover GUI by going to the Options/CPU tuning sub-menu). so i will continue to set the CPU values specifically to 2500/99700.

 

Anyway, i went ahead with and installed the more recent b1378 and that works fine too.

...

Strange. Am I the only one that can't use newer Clover builds? The system is booting and hangs on:

macx_swapon SUCCESS

All works excelent on builds 1229 and earlyer. We share almost identical configuration (I don't have fingerprint reader) and I don't suffer the clock problems you describe on my build 1229. Any extra steps to replicate it?

Share this post


Link to post
Share on other sites

@kogen -

 

thats odd. i am using all the same kexts and dsdt.aml that I used to use for chameleon - no changes so i can still boot with a usb i-boot for emergency.

you can see my config.plist above - did you try that? although your config.plist its almost identical except for kext patching and graphics injection?

 

here are efi drivers i have in place

 

 

tluck@mac /EFI/CLOVER

 

Update: removed this first folder.

 

$ ls -1 drivers*

drivers64:

FSInject-64.efi

Ps2MouseDxe-64.efi

UsbMouseDxe-64.efi

 

drivers64UEFI:

EmuVariableUefi-64.efi

FSInject-64.efi

OsxAptioFixDrv-64.efi

OsxFatBinaryDrv-64.efi

VboxHfs-64.efi

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 Pentothal.Z
      Hello all,
      I have a working hackintosh....ok.....but it takes a lot to boot and according to the boot.log there are a few problems.
      One of them is a black screen that stays on for a long time.
      I would like to ask anyone in this community some help to fine tune my machine.
      Boot.log and config.plist attached


      Any help would be appreciated.
      bootlog.txt
      config.plist
    • By metaphysician
      hi folks! i'm just checking for opinions here on a Clover based install of High Sierra. currently i can't boot directly from the internal drive on my hackbook, an ASUS ROG GL502-VS laptop (with the replaced WiFi card), though i can boot from the USB bootloader/installer

      i installed 10.13.6 fine using a prepared vanilla installer on HFS+ (not APFS), but my configuration is somewhat unusual. i have two drives. the first SSD has the Windows system, the second has two partitions with the 2nd partition holding the macOS system. when i ran Clover installer i could not use the UEFI option to copy to the EFI partition because it couldn't find one on that drive. so it installed the EFI folder on the root of the macOS partition instead.
       
      however, after a bit of tinkering around, i found out that there is an existing EFI partition on the primary drive called SYSTEM. it has a EFI folder and underneath that is a Windows folder, a Boot folder, and one called APPLE. i can mount this partition with Clover Configurator and copy files to it, but i don't know if this is a good or risky solution. i was thinking i would manually copy the CLOVER folder and the uefi64.boot file to this partition , making sure not to overwrite anything existing. using the UEFI setup, i can create a boot path from the SYSTEM partition to the Clover boot file, but i'm just curious if this is a useful solution or not, and i don't want to ruin the existing Windows 10 installation for sure. any advice appreciated!
    • By Slice
      OK, 4988 released.
      Now, @vector sigma, what have we do to update translations?
    • By fusion71au
      Clover r4989 ISO compiled with GCC and minimal config.plist compatible for use in VMWare Workstation.
       
      Tested with unlocked Workstation 15 running OSX 10.9 -->10.15 guest in Windows X64 host.
       
      Installation
      1. Download and unzip "EFI_Clover_r4989 for VMware.zip". Mount Clover-v2.4k-4989-X64.iso by double clicking on it.
      2. Mount your VM's EFI System Partition eg in terminal
      sudo diskutil mount disk0s1   3. Copy EFI folder from step 1 into the EFI partition
      4. Shutdown the VM, add bios.bootDelay = "3000" to your VM's vmx file
      5. Reboot your VM, press <F2> to access the VMware Boot Manager and add CLOVERX64.efi to the boot menu.
       
      Substitute your own unique and valid MLB and ROM variables in the /EFI/CLOVER/config.plist (Rt Variables section) to activate iMessage/Facetime on your VM.
    • 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.
      UPDATE macOS Catalina Beta DP3_19A501i:  For Catalina, @jpz4085 has made an automated batch file to create a Catalina VM in Windows with iMac 14,2 SMBIOS.  You can still use my macOS_iso_creator.tool on page 5 to make an installer ISO to attach to the VM.
       
       
       
      Good luck and enjoy
      CECI.tool.zip
      CYI.tool.zip
      CMI.tool.zip
×