Jump to content
Kogen Mantis

Lenovo ThinkPad T420 with UEFI Only

4,162 posts in this topic

Recommended Posts

Thanks to Clover EFI Bootloader I was able to achieve almost perfect HacBook Pro from my Lenovo T420

This guide is work in progress and I’ll try to update it as often as I can outdated! For more updated guide head to tluck's post #481 (thanks tluck for taking over)

 

Why UEFI Only?
Faster boot time, better hardware detection, native Mac OS X Installation process and Auto create Recovery HD, working iCloud and iMessage to name a few. But in general you will achieve almost perfect Macbook Pro clone that will most likely survive all future System updates.

Note: I’ll be focusing on Mountain Lion but I guess Lion would work equally good.

Lets start by preparing Mac OS X install media.
You will need:
- Working Mac OS X 10.6 or later (Hackintosh, Virtual machine or real Mac)
- 8GB+ USB pen-drive
- Legal copy of Mountain Lion install app
- and an app called Lion Disk Maker
- my custom Clover Package: Clover_v2_r1625k0.pkg.zip

Prepare Mountain Lion install media using Lion DiskMaker.

LDM.png

Making install media bootable on your ThinkPad
Run my custom Clover Package and change the install destination to the Mountain Lion install media you’ve just created using Lion DiskMaker. Generaly you don't have to worry about anything else it is all customized to work best on all ThinkPads.






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

Note (optional): At this point you can use another FAT32 formatted pen-drive to install Clover on to it. This pen-drive needs to be capable of storing at least 25MB+ of data.

System installation
Insert prepared OS X Mountain Lion Install Disk - 10.8 in your ThinkPad and set to boot in UEFI Only mode. And wait for the boot loader. You should be presented with screen like this:






post-112035-0-29088900-1359462540_thumb.jpg

Now start the installation process just like you would on a normal Mac. Partition your drive with GUID table and install.

Adding Extra drivers using myHack
You now should be running vanilla Mac OS X 10.8. Before you start upgrading and instaling software now is a good time to add missing drivers and install them in a clean and proper manner using myHack.
1. Download Extra Folder: Extra.zip
2. Download myHack and place it in your Application folder
3. Run myHack and choose myFix. When asked about Extra folder choose "Use My Own" and point to downloaded Extra folder from step 1. Reboot and check if everything is working fine. By everything, beside AppleACPIPlatform.kext ver 1.3.5, I mean Sound and Battery meter cause these are the only kexts that are in Extra/Extentions

Extra-Extensions.png

Making your custom configuration using OEM folder
... under construction...

Booting Clover EFI Bootloader from system drive
It's time to get rid of the osx pen-drive you've been booting all the time and install my custom Clover to your main disk and boot directly from your hard drive EFI partition. This step is identical to the "Making install media bootable on your ThinkPad" but this time you will be using your main drive. Just make sure your disk drive is selected when installing.

Note: Now You can customize your installation. You have the choice to install Clover Preference Panel and Optional RC scripts.






post-112035-0-29947700-1368404003_thumb.pngpost-112035-0-53522000-1368404018_thumb.pngpost-112035-0-60204500-1368404031_thumb.pngpost-112035-0-56752300-1368404042_thumb.png

Remove pen-drive and reboot. If all went well you should be booting from your hard drives EFI partition now. Good luck!

Software worth mentioning
Clover EFI bootloader (thread) - (source code) - (changelog) - (wiki)
CloverGrower (post) - (source code)
HWMonitor + HWSensors (thread) - (source code)
DSDT Editor (thread)
DarwinDumper (thread)
...

Thanks and credits
@Slice, @dmazar and all Clover thread members, @joshhh and all T510 thread members, @gothic860 and all W520 thread members, @Manwe150 and all T420 thread members

.…. to be continued.

Update 2013-01-20: Flashed latest UEFI Bios version 1.43 + whitelist and started fresh DSDT patching

Update 2013-01-30: Uploaded new LenovoEFI_Pack_Beta2.zip (from now on I'll be attaching latest version to this thread). I've started using the EFI/OEM/4180A32 folder specific for my T420 model and added minimal config in the root that should work for everyone else (testers needed). My latest DSDT.aml in EFI/OEM/4180A32/ACPI/patched and updated ThinkPad theme is included.

Update 2013-05-15: Updated the post to reflect some changes and progress made in this topic. Using custom Clover r1625 that has all the stuff Lenovo UEFI user needs. This one is enabled to install to ESP by default with ThinkPad Theme and RC scripts and example EFI/CLOVER/OEM/4180A32 folder.

Edited by Kogen Mantis

Share this post


Link to post
Share on other sites
Advertisement

Yes and Yes - but you need to patch USB for sleep to work.

dsdt.aml included in clover EFI/ACPI/patched/dsdt.aml does not have this patch. I'll add info about DSDT patching later.

Share this post


Link to post
Share on other sites

i have a dell xps 14 ultrabook and it has UEFI as well, do you know if this guide will work on my laptop?

my specs are

 

BIOS: A13

intel core i5 3317U

intel HD4000

4gb ram

500gb hdd

32 gb ssd

intel centrino wireless card(im assuming this wont work)

im running windows8 pro(legal copy) and i plan to dual boot with mountain lion and win8

Share this post


Link to post
Share on other sites

i have a dell xps 14 ultrabook and it has UEFI as well, do you know if this guide will work on my laptop?

my specs are

 

BIOS: A13

intel core i5 3317U

intel HD4000

4gb ram

500gb hdd

32 gb ssd

intel centrino wireless card(im assuming this wont work)

im running windows8 pro(legal copy) and i plan to dual boot with mountain lion and win8

 

Yes this guide will work but remember that I use kexts (drivers) specific for Lenovo ThinkPad's and as I mentioned before my DSDT.aml that will KP on your machine.

So in your case delete:

EFI/ACPI/patched/dsdt.aml

and try it out.

Share this post


Link to post
Share on other sites

I can't get my hardware monitor to work. Try to run it and I got KP.....

 

Did you use some special kext for the hardware monitor? The one I am using is from iAtkos ML2

Share this post


Link to post
Share on other sites

I can't get my hardware monitor to work. Try to run it and I got KP.....

 

Did you use some special kext for the hardware monitor? The one I am using is from iAtkos ML2

If by hardware monitor you mean HWMonitor.app than you just need the latest FakeSMC.kext and in our case CPUSensors.kext and ACPISensors.kext. You can find them in my "EFI/kexts/10.8" and the minimal readout should look more or less like this:

HWMonitor.png

 

I'm guessing that KP is due to different version of FakeSMC being loaded from iAtkos .

Share this post


Link to post
Share on other sites

Today I've made a display override for my HD+ Panel (1600x900) based on MacbookPro9,1(DisplayVendorID-610/DisplayProductID-9cc7) and named it Lenovo LCD.

The display profile default is warmer using this file and I have added some extra resolution choices in scaled mode.

post-112035-0-95438800-1359552232_thumb.png post-112035-0-26209700-1359552263_thumb.png

Just unzip it and copy entire DisplayVendorID-30e4 folder to:


/System/Library/Displays/Overrides/

DisplayVendorID-30e4.zip

Share this post


Link to post
Share on other sites

200px-DisplayPort_plus_plus.svg.png

 

Today I had the chance to test out the Display Port to Hdmi cable that I've ordered for 7$ from China (free shipping) and I'm happy to report that all is working great.

Dp2Hdmi.png

All testing done on my Samsung 40" FullHD LED TV. Full resolution support. Stable graphics with no artifacts that I keep on hearing here and there. Even done some OpenGL testing to see how much FPS can I get in case of gaming on the big screen. Mirroring works. The HDMI sound output works both in direct mode (sound in TV) and pass through to my Onkyo receiver.

Here are some screenshots:

post-112035-0-32715100-1359663572_thumb.pngpost-112035-0-44821600-1359663605_thumb.pngpost-112035-0-83928700-1359663664_thumb.pngpost-112035-0-51488000-1359663684_thumb.png

Share this post


Link to post
Share on other sites

Hey, it's maybe a little bit off-t, but I have a t420 wich I want to run on OSX. I've been in the hackintosh business for a few years, but since the new Sandy Bridge and further I admit I lost track of the scene a bit.

 

I have tried to install with the "OSX 10.8 bootable usb method", the one you need the raw file and a windows pc for,

I've tried the ##### method, also myHack etc etc.

 

With the bootable usb method I can boot in installation, but osinstall.mpkg failes to load, so there's no custom install option. When I install and reboot, I get stuck after the IOBluetooth succes message, which is the last one before loading graphics. This "freeze" happens while loading ##### etc too. I've tried using all different flags etc but no succes.

 

How did you manage to get your graphics working? Do you have two GPU's or just the Intel graphics?

 

My setup is:

 

T420

i5 2520m vPro

4gb ram

HD3000 graphics

1600x900 screen

 

and the standard stuff as bluetooth 3.0, wan etc.

 

Hope you have some tips for me ;)

 

Greetz

Share this post


Link to post
Share on other sites

Hey, it's maybe a little bit off-t, but I have a t420 wich I want to run on OSX. I've been in the hackintosh business for a few years, but since the new Sandy Bridge and further I admit I lost track of the scene a bit.

 

I have tried to install with the "OSX 10.8 bootable usb method", the one you need the raw file and a windows pc for,

I've tried the ##### method, also myHack etc etc.

 

With the bootable usb method I can boot in installation, but osinstall.mpkg failes to load, so there's no custom install option. When I install and reboot, I get stuck after the IOBluetooth succes message, which is the last one before loading graphics. This "freeze" happens while loading ##### etc too. I've tried using all different flags etc but no succes.

 

How did you manage to get your graphics working? Do you have two GPU's or just the Intel graphics?

 

My setup is:

 

T420

i5 2520m vPro

4gb ram

HD3000 graphics

1600x900 screen

 

and the standard stuff as bluetooth 3.0, wan etc.

 

Hope you have some tips for me ;)

 

Greetz

Try starting from step "Clover installation" - use another FAT32 formatted pen-drive and copy the EFI folder to it and try installing again in UEFI only mode. I won't support other methods.

Also instead of hardware specs I rather you tell my your ThinkPad serial number. Good luck

Share this post


Link to post
Share on other sites

Try starting from step "Clover installation" - use another FAT32 formatted pen-drive and copy the EFI folder to it and try installing again in UEFI only mode. I won't support other methods.

Also instead of hardware specs I rather you tell my your ThinkPad serial number. Good luck

 

My serial number is 4236Z9U.

Thanks for the fast reply, and also my compliments for the work you're doing!

 

 

 

NB: Tried to copy your files from EFI, didn't work OOB. What worked for me is to download latest Clover package installer (v2_rL971), install it to USB and then copy (and replace where needed) your files from "EFI" folder to the EFI folder on the USB. Now I can boot Clover, it's a start haha.

 

 

UPDATE: I have followed your guide, and now I can actually boot into the installer. Only issue is, my display does not work. I noticed that I got a black screen after booting (instead of hanging at bluetooth succes it goes on running to graphics), but when I clicked something my usb did go do something. So I figured my graphics were working now, only my internal LCD did not. I switched to external VGA as default boot screen in my UEFI bios, and that, in fact, works. I guess it tries to go 1600x900x32 on my 1280x1024 screen, but it's working.

 

Do you know what I have to change to make my LCD working, is it something in Clover or in my kexts?

Share this post


Link to post
Share on other sites

My serial number is 4236Z9U.

Thanks for the fast reply, and also my compliments for the work you're doing!

 

 

 

NB: Tried to copy your files from EFI, didn't work OOB. What worked for me is to download latest Clover package installer (v2_rL971), install it to USB and then copy (and replace where needed) your files from "EFI" folder to the EFI folder on the USB. Now I can boot Clover, it's a start haha.

 

 

UPDATE: I have followed your guide, and now I can actually boot into the installer. Only issue is, my display does not work. I noticed that I got a black screen after booting (instead of hanging at bluetooth succes it goes on running to graphics), but when I clicked something my usb did go do something. So I figured my graphics were working now, only my internal LCD did not. I switched to external VGA as default boot screen in my UEFI bios, and that, in fact, works. I guess it tries to go 1600x900x32 on my 1280x1024 screen, but it's working.

 

Do you know what I have to change to make my LCD working, is it something in Clover or in my kexts?

You have almost identical hardware specs to mine so I advice you to rename the 4180A32 folder inside EFI/OEM/ to 4236Z9U and report back.

 

BTW: Are you sure you have the correct UEFI booting settings in your ThinkPad Setup? (Startup > UEFI/Legacy Boot Priority [uEFI First])

Share this post


Link to post
Share on other sites

ThinkPad Setup

 

I still can't make up my mind regarding the best ThinkPad Setup configuration but it seem that some setting are essential for booting Mac OS X:

 

Essential:

Config > Serial ATA (SATA) > SATA Controller Mode Option [AHCI]

Security > Memory Protection > Execution Prevention [Enabled]

Security > Intel ® VT-d Feature [Disabled]

 

My other settings:

Security > Security Chip > Security Chip [Disabled]

Startup > UEFI/Legacy Boot [Both]

Startup > UEFI/Legacy Boot Priority [UEFI First]

Edited by Kogen Mantis

Share this post


Link to post
Share on other sites

You have almost identical hardware specs to mine so I advice you to rename the 4180A32 folder inside EFI/OEM/ to 4236Z9U and report back.

 

BTW: Are you sure you have the correct UEFI booting settings in your ThinkPad Setup? (Startup > UEFI/Legacy Boot Priority [uEFI First])

 

Yeah I have the system up and running now, from my internal screen with right resolution. Sound and ethernet work as well now.

Only issue, I get a KP after a few minutes.

 

panic(cpu 2 caller 0xffffff7f807ff1df): No HPETs available...CPU(s) configured incorrectly
Debugger called: <panic>
Backtrace (CPU2), Frame : Return Adress
and after that a lot of computer language, which probably is the adress of where it got stuck or something.

 

I'm going to try changing stuff in bios first, turning off hypertheading etc, maybe it works maybe not, I'll post updates.

I'm still running original UEFI/BIOS by the way, because I wasn't planning yet on changing my wireless card.

 

I think some things in your DSDT aren't the same after all, but the namechanging thing did work for the rest. Only problem now is that I do not have any knowledge of modifying DSDT's...

Share this post


Link to post
Share on other sites

I think there is my experimental DSDT.aml in the patched folder, try replacing it with the one I'm using right now.

 

Working now without KP, only sound is gone. What did you modify on it? Rest works great without KP's now!

Share this post


Link to post
Share on other sites

Here's a screenshot uploaded from my T420.

Used your latest dsdt from post #21 (for anyone having same issues ;) ) working great now!

 

@Kogen Mantis, you're doing a great job here, thanks very much for the work you have done and what you're doing! Even sleep is working etc etc!

 

2ez22r6.jpg

Share this post


Link to post
Share on other sites

After a day i use I notice that sometimes when I close the lid, it doesn't go to sleep but freezes with a black screen and a flashing sleep indicator. Do you have that as well or would that be specific to my model Thinkpad and it's DSDT now?

Share this post


Link to post
Share on other sites

After a day i use I notice that sometimes when I close the lid, it doesn't go to sleep but freezes with a black screen and a flashing sleep indicator. Do you have that as well or would that be specific to my model Thinkpad and it's DSDT now?

I'm doing so many test with different types of setup and configurations that I've didn't noticed that... I mean sleep doesn't work as expected sometimes but I was always blaming something else than the DSDT. I guess I should look closer into it.

What UEFI Bios version you are at now? And can you write down the steps to reproduce the sleep problem.

Also I have hibernatemode disabled:

sudo pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage

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.
       
       
    • By ErmaC
      Please be advised that this is not a discussion topic.
       

      This topic is a "direct" line of communication between the Developers of Clover (Clover Team).
      Unless a Developer/Coder asks for more information, all the critical information of a post should be contained in the subject and first post.
      Every post will be responded to in some fashion before being locked.
       
       
       
       

      Invalid Posts
      Since we are strictly interested in issue reports on this topic, the following post/reply are likely to be deleted immediately:
      1. Discussion topic aka OFF-TOPIC (What do you all think?)
      2. Invalid issue reports
      3. Feedback / Suggestion threads.
      4. Posts requesting information about the bootloader.
      5. Posts made on other forums (Don't spam.)
      6. "Accomplishment" threads, threads to advertise screenshots unrelated to bug reports.
      7. Posts requesting status updates on existing issues.
       
       
×