Jump to content

[Guide] OpenCore Catalina Build Guild Levono ThinkCentre M93P Tower


David Boswell
 Share

2 posts in this topic

Recommended Posts

This Guild is for the Levono M93P Tower System.. (not a tiny).. Why a M93P Tower.

Pro's Its very cheep can easily bought on eBay for $200 or less. (I would recommend the i7 but i5 work well) It as 6 USB 3 ports, 2 USB 2 ports, 2 Display ports, Ethernet, 4 SATA ports 4 pci express ports lots of room for expansion..

Con's  Proprietary Case, Standard DVD drives will only fit in it. You will have to cut the front cover. Proprietary power supply and motherboard. SO power supply is not easily replaceable but is doable (google it)

 

Build Instruction

To write this guild I have to assume some things. (1) You have a working system with Windows, Mac or Linux installed. (2) If you are doing this on a new empty system.You will need to install Windows or Linux. (If you install Linux you can skip the Live USB Step)

I am creating a new USB thumb drive as I am typing this to make sure I didn't miss anything.  Linux Terminal Command are Case Sensitive So Type them as I have shown

 

What works on this build that I have tested

Both Display ports, All USB ports, Ethernet, WiFi, BlueTooth, Sleep and Wake, Air Drop, iMessage, FaceTime, system updates.

 

What you will need

Levovo M93P Tower i7 will run a little quicker but i5 is OK. Link is just so you can see what you are looking for https://www.lenovo.com/hk/en/desktops-and-all-in-ones/thinkcentre/m-series-tower/ThinkCentre-M93P/p/11TC1TMM93P

SSD 256gb or better. (This build I used 4 x 2tb because I installed 4 OS's Windows, Mac, Linux x 2 distro's ) If you are installing 2 OS's. Windows and Mac then only 2 drives are needed.. PLEASE NOTE THIS GUILD IS FOR INSTALLS ON SEPARATE DRIVES ONLY

I recommend SSD's because (1) They are faster (2) The stock power supply is only 280W and to many spinning rush (HDD) may over tax the supply.

 

  1. WiFi Bluetooth card. This card works well - MQUPIN T919 Wireless PCI Wifi BCM94360CD  802.11ac
  2. 3 x 16GB USB thumb drives. 1 to create a live linux USB. 1 For saving download files, and 1 to create your Opencore boot drive.

 

Optional

  1. SSD Drive Bay x 2: ICY DOCK MB732SPO-B
  2. DVD/Blu-ray Drive: OSGEAR Internal 12.7mm Slim SATA
  3. Pci Express Sata Card (if all 4 on board sata ports are used. You will need it to add dvd drives and extra SSD's) - Ziyituod SATA Card
  4. PCI Express USB Hub (because why not) - ELUTENG PCIE USB 3.0 Card
  5. Webcam for Face Time - eMeet C960

 

Bios

First you will need to set the BIOS. Press F1 to enter BIOS

To make things easier. All setting are enabled unless its listed here to change. First load default setting.. Save and exit. Reenter the BIOS (F1)  Now get a pen and paper. On the Main screen you will see Ethernet MAC Address  XX-XX-XX-XX-XX-XX copy it down we will need it later.

Under Devices > USB Setup > USB Debug Support Disabled  ATA Drive Setup > Configure SATA as AHCI   Hard Disk Per-dely Disabled  Video setup > Select Active Video IGD  > Pre-Allocated Memory Size 64MB > Total Graphics Memory Maximum

Multi-Monitor Support Enabled Audio Enabled Network setup Boot Agent Disabled

Advanced > CPU setup VT-d and TxT Both Disabled Intel Manageability Control Disabled Intel Smart Connect technology Disabled.. Security > Secure Boot Disabled  Startup > Primary Boot (1) USB KEY (2) USB HDD (3) SATA 1,2,3, eSata   CSM (must be) Enabled

Boot Mode (must be) UEFI Only Save and exit...

Linux Live Boot Drive

Install balena Etcher and create your Linux Mint Live USD from the Mint iso you downloaded. Once that is finished.  Extract and copy all the files you downloaded to another USB Drive.

Power down your system.

This Next step is not necessary but I do recommend it. Unplug your system and remove/unplug your windows/Linux drive. unplugging the sata cable is fine.

You should only have the empty SSD Drive that you intend to install Mac OS on. Plugged in.

Now reboot your system with the Linux Mint thumb drive. You should now be in the Linus Mint Live desktop. Do not remove the linux mint thumb drive. Plug all other thumb drives plug into other ports.

Now plug in your saved files drive and copy them files to your desktop. ( Warning the files you copied to the desktop will not be saved if you reboot your computer so don't delete then from your save drive)

Now open Terminal. In the window type these commands just as I have done here. 

  sudo apt install python and hit enter. Hit Y when prompted. Now type sudo apt install python-tk and hit enter. Hit Y when prompted.

 

 

Create your USB OpenCore Boot Drive..   

 

Plug in the thumb drive you intend to use for OpenCore. Now in terminal type lsblk and hit enter. You will see a list of drives for eg sda, sdb, sdc. You will need to know which drive is your OpenCore drive. So remove it and type lsblk again. Now look for the drive that is missing for the first list..Thats your drive. make a note of it. eg sdb we are not interested in the numbers right now. For eg sdb, sdb1, sdb2 we just want the root sdb. For the rest of this guild I am going to use sdb as a example. Your drive may be different depending on the port you have it plugged into and the number of drives you have plugged in.

Plug your thumb drive back in. Now in terminal type sudo gdisk /dev/<your USB block> for example sudo gdisk /dev/sdb. hit enter. You will see your drive info.

Type p and hit enter.

Now type o and hit enter. Confirm with Y enter. 

Now type n and hit enter

Now you will need to press enter for the first 3 prompts then type 0700 for the last one and hit enter.

Now type w and hit enter. confirm with Y enter.

Now type lsblk again. you should see your drive sdb and under it sdb1

Now type and hit enter:

sudo mkfs.vfat -F 32 -n "OPENCORE" /dev/<your USB partition block>  For example  sudo mkfs.vfat -F 32 -n "OPENCORE" /dev/ sdb1

You should now see a USB drive on your desktop called OPENCORE. If not remove your drive and re-plug it in. This will remount it. Now open your OpenCore drive and make a new folder called.  com.apple.recovery.boot   with the dots.

now copy my EFI folder to the drive. You should end up with 2 folders. com.apple.recovery.boot and EFI

 

My EFI

In my EFI folder. You will find 2 folder Boot and OC and a text file of this guild. You can leave the boot folder alone there's no need to touch that unless you are updating OpenCore.

I have left my .aml files in the EFI > OC >  ACPI folder. (they may work for you) But I recommend you create your own as I can't guarantee Lenovo didn't change the hardware in anyway.. Its also best practice.. The Drivers folder and Kexts folder should work fine as is. The Resources folded just contains OpenCore's themes (which work just fine. Thanks to lots of help from menbers on this site). You can change then if you like. The Tool folder as Openshell.efi which we will need later. My config.plist will need some editing and WILL NOT WORK AS IS. I have removed the smbios info. As it is unique to each system Also my boot entries will need editing for your system.

 

Mac recovery files

Copy the OpenCore folder you download to your desktop. Open the Utilities folder and drag the macrecovery folder to your desktop. Close OpenCore folder.

Open macrecovery folded. You will see a recovery_urls.txt file. Double click on it to open it. Now right click in the folder and open in terminal. In the terminal window type. (for Cataline)

Note the url list dose not have the word python or download on it you need to add them as below.

python ./macrecovery.py -b Mac-CFF7D910A743CAAF -m 00000000000PHCD00 download and hit enter. (Please Note The url's in the text file are missing the word python from the front and the work download from the end. You will have to add them if you copy the link from the file into terminal.)

Note the url list as lots of url's for different OS's. I have only tested this on High Sierra, Mojave, and Catalina. Any other OS may not work.

It will now start to download the files. This can take some time even with a high speed internet connection. Once it as finished you will have 2 more files in the macrecovery folder. BaseSystem.chunklist and Basesystem.dmg  Copy these files to your OpenCore USB thumb drive com.apple.recovery.boot folder. Done.

 

  Create SSDT.aml files

So to create your own .aml files. Copy and extract SSDTTime to your desktop. Open the folder and right click in an empty space not on a icon. Select open in terminal. In terminal type python ./SSDTTime.py and hit enter.

SSDT Time should now be running with a list of options.

Now press 8 and hit enter.

You will see a Results Folder appear in your SSDTTime folder. 

In the terminal window you should see Current DSDT with a file path next to it.. If there is no file path you are running the program from the USB Drive not your desktop.. Check and run it again.

 

If the path is there we are good. Now we only need 2 .aml file for this build. As we have a Haswell chipset. SSDT-EC.aml to create this press 2 and hit enter. And SSDT-Plug.aml to create this press 4 and hit enter..  We are done with that. Close Terminal. In the Results folder you will find your files. NOTE WE ONLY NEED THE 2 .aml files Copy both file to your USB OpenCore drive in the EFI > OC > ACPI folder. Done

Generate SMBIOS

Copy the GenSMBIOS folder to your desktop. Open the folder. Right click in the folder and open in terminal. Type this command python ./GenSMBIOS.command  and hit enter.

Press 1 and hit enter and hit enter again. Current plist: and Plist type say vNone.

Press 2 and hit enter Now open your OpenCore thumb drive and goto EFI >OC and drag the config.plist into the terminal window and click in the window to make terminal active. Now press enter.

You should now see the Current plist and Plist type filled in with a file path and OpenCore.

(If you don't see this. You could be running the program from your thumb drive and not your desktop. Check it and start it again.)

Now press 3 and hit enter. My EFI and config.plist is using iMac14,1. So this is what we will use here. (if you want to change it I will go over that later) Type iMac14,1 5 and hit enter. This will generate 5 sets of codes.

On your desktop right click and Create New Document. Now go back to the terminal window and select all and copy and paste it into the new doc you just made. Save doc and exit. Done

 

Config.plist and ProperTree

Copy ProperTree to your desktop. Open the folder. Right click and open in terminal. Now Type python ./ProperTree.command and hit enter. The ProperTree window will open.

Go to File and open. (Note ProperTree as a bug. The dialog window opens behind the main window. So you will need to move the window to one side of your desktop to see it)

 

In the top right you well see the back folded icon. click it till in the Directory path you see just a / . Now click on media, then mint (or the name of your computer If you are running on a installed linux) the click on OPENCORE then EFI then OC then config.plist and then open.

(If you are using my EFI as is. You will not need to do this. But if you have added drivers or kexts for say a different WiFi card or web cam)  you well need to SnapShot your OC Folder. To load those files into the config.plist. Go to File and SnapShot OC.

 

Right click on the line at Root and Collapse all. Now Click on the arrow at the side of Root.

now the arrow at PlatformInfo  now Generic. You should see all the fields filled in with the serial numbers generated by SMBIOS. (If they are all zero's SMBIOS didn't save to your config.plist.)  You will have to add them its not hard just copy and paste from the document you saved to your desktop.  MLB = Board Serial   SystemSerialNumber = Serial   SystemUUID = SmUUID. (Tip middle mouse button paste's in Linux)

We will need to change the ROM  field. This is your PC's mac address (The 1 I told you to write down when we set the BIOS) In the field under Value type your mac address. Just the numbers and letters. so 11:2a:3b:c4:f5:10 becomes 112A3BC4F510.

 

Now go up to Misc > Boot change HideAuxiliary  to False.  We will be changing this back later. Under Entries > 0, 1, 2,  Change Enabled to False  (The path's will be wrong for your system. We don't want to delete these entries as we can edit them later) Just disabled them for now. (Unless you are only installing Mac OS. Then right click on 0 and delete it the same for 1 and 2.)

Now save and exit.

Now for some final checks. On your desktop you should see your USB thumb drive called OPENCORE. In there you should have 2 folders com.apple.recovery.boot  and EFI. In the com.apple.recovery.boot folder there should be 2 files you downloaded. BaseSystem.chunklist and BaseSystem.dmg .  In the EFI folder there should be 2 folders BOOT and OC .

In the OC folder there should be 5 Folders and 2 files. Folders are ACPI, Drivers, Kexts, Resources, Tools Files config.plist and OpenCore.efi In the ACPI folder there should be the 2 files you created with SSDTTime.  SSDT-EC.aml and SSDT-PLUG.aml. These 2 files are the only files we have added or changed in my EFI so the rest should be good.

REMEMBER THE FILES ON YOUR DESKTOP WILL NOT BE SAVED. SO BE SURE YOU HAVE A COPY OF THEM SAVED ON ANOTHER THUMB DRIVE

Now shut down your system. Remove all thumb drives except your OPENCORE drive.  Make sure the only SSD you have plugged in is the drive you intend to install Mac OS on

Now reboot and install Mac OS

Congratulations You should now have a working system. If you don't intend to install another OS you can skip to the end to copy your EFI to you mac OS EFI

 

 Multi Booting

If like me. You want the best of every world. Mac, Windows and Linux. We still have some work it do. Now Opencore is very good at detecting other OS's. But it detects everything including HDD with just saved files on it. Also other partitions on drives. These show as NONAME drives. So the purpose of this step is to clean up the OpenCore boot menu. All we want to see is the icons for Windows, Mac OS, and Linux. A nice clean boot screen!!!

 

Make sure ALL your SSD's are unplugged except the one you are installing to. As stated at the start of this guild. This is to install on separate drive ONLY

Install Windows, Linux as you would normally. Each on there own drive. Make sure they will boot from BIOS by pressing F12 and booting them from the boot menu.. If they all boot we are good.

 

Now shut down your system and make sure ALL drives are now plugged in. That includes DVD\BluRay drives and any other drive you have in your system. As leaving even 1 unplugged and plugging it in later could affect the drive mapping

There is a excellent guild on this site by miliuco. On how to do this step. I will link it in below. In case you get confused.

Once all your drive are plugged back in. Put your OpenCore USB drive back in and boot from it. When you are at the Boot screen press the space bar.

Select OpenShell.efi and press enter

This next step will take some time and patience. 

Type map and hit enter. Your drive map will scroll up the screen. We are only interested in the one's that have FSx  x is a number FS0:,FS1:, FS2: and so on.

First thing we need to do is find your USB Drive. It helps to have a pen and paper handy to make notes

Type FS0: don't forget the colon's : Press enter You are now in that drive.

Type DIR or LS if dir dose not work.

If that is your USB Drive you will see 2 folders com.apple.recovery.boot and EFI. If it is a DVD or a ROOT partition you will see nothing or a long number. We can ignore that drive and move on.

Type the next drive FS1: and hit enter. Then dir and hit enter. Keep going 1 at a time till you find all the drives you are looking for.

The drives we are looking for will have:-

USD thumb Drive = com.apple.recovery.boot and EFI

Windows = EFI 

Linux = EFI

When you find a drive with just EFI on it type CD EFI and enter then DIR and enter If it as BOOT and Microsoft that's your windows drive Make a note of the drive letters and move on to the next. 

When you find your thumb drive. You well need to type this as it is here  map > map-table-linux.txt  This will create a text file on your usb drive which we can use to edit your config.plist.

Your Linux drive will have in the EFI folder BOOT and Ubuntu /arch depending on your distro.

When you have gone through all your drive and identified your OS's its time to go back to your config.plist and edit it..

Exit Openshell by typing exit and hit enter. Now shutdown your system. Remove your OpenCore thumb drive.

Insert your Linux mint live USB and reboot. (You can just boot into linux if you installed it.)

Open Terminal we have to install python again. Type sudo apt install python and hit enter hit Y when prompted.  Now type sudo apt install python-tk and hit enter Y when prompted. Close Terminal.

Insert your Opencore USB thumb drive into another USB port. Open it and you will see a text file map-table-linux.txt open it.

Insert your USB drive with your downloaded files.

Copy ProperTree to your desktop. Open the folded and right click. Open in Terminal.

In terminal type python ./ ProperTree.command and hit enter. Open your config.plist

Collapse all. Then under Misc >Boot > HideAuxiliary change to True.

 

Under Entries > 0, 1, 2 If you only have Mac OS and Windows. Then delete entries 1 and 2 Right click on 2 and Remove 2. (tip pressing Esc will close the right click menu if you open it be mistake)

The number of entries you need. Is the number of OS's you have installed. -1 as mac OS doesn't need a entry.

Open entry 0. Change Enabled to True,  Flavour Change to your version of windows (Windows10:Windows). Name again your windows version. Keep the same format.(Windows10)

If you have 2 versions of windows or Linux installed. Then no one can tell you which path belongs to which version of windows or Linux. So you will just have to boot it and if you select window 7 If windows 10 boots come back into your config.plist and swap the names over. Same goes for Linux.

 

Now Path You will need to change it to. The corresponding  path in your text file. For example lets say your windows drive is FS4: Look in your text file for FS4: and select that line and paste it into the path on your config.plist  It will look like this   PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0,0xFFFF,0x0)/HD(1,GPT,5FA6240C-4939-42B5-AA8A-9AB1A308E698,0x28,0x64000) Then at the end of it you well need to add the EFI path like this  /\EFI\Microsoft\Boot\bootmgfw.efi. (This is the same for all windows from 7 up)

The full path should look something like this

PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0,0xFFFF,0x0)/HD(1,GPT,5FA6240C-4939-42B5-AA8A-9AB1A308E698,0x28,0x64000)/\EFI\Microsoft\Boot\bootmgfw.efi 

 

Repeat this for each entry.  Change Enabled to True, Flavour to your OS and so on.

For Linux the end of the path will be different. /\EFI\ubuntu\grubx64.efi  (for ubuntu based distro's) /\EFI\arch\grubx64.efi  (for arch based distro's) So the full path will look something like this

PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x3,0xFFFF,0x0)/HD(1,GPT,CBC2C225-BB9E-41CC-83B0-8A3B1DF32106,0x800,0x100000)/\EFIubuntu\grubx64.efi 

When you have finished changing the entries. Delete any unused entries. (just to keep you config.plist clean) save and exit Propertree.

Reboot your system using your OpenCore USB drive.

You should now only see your OS's with the names under the icons. Boot into each one to check they all work. If the names are wrong go back into Propertree and swap them. If all is ok Then

we just have 1 more step to do.

 

Finishing your install

There is 2 ways to do this.

(1) You can just keep your USB thumb drive in the back of your system and boot from that.. Just make a backup of your drive if you do this..

This is the way I personally do it. Why? Because I sometimes want to try new Linux distro's. If I want to update OpenCore, drivers, Kexts or even add new  themes. Its just a matter of editing it and then rebooting.. If I do something wrong and my system won't boot. I can just go back into my thumb drive,  Find what is wrong and fix it.

If you edit your EFI in Mac OS and it goes wrong and the system won't boot. Then you have to try fix it from another OS. The only down side to this way is. You have 1 less USB port and your OS's well always show your thumb drive on there desktops.

 

(2) The right way. First boot into Mac OS. Download and run MountEFI https://github.com/corpnewt/MountEFI 

To run it. You have to right click on it and press open.. then open again. Enter your password. Then you will see a list of drives. Press the number relating to your Mac OS drive.

Then in Finder go to your EFI drive and open it.  It should be empty. Open your Opencore drive from your desktop. Now drag the EFI folder into the Mac OS EFI partition.  Close it and reboot.

Now go into your BIOS (press F1) under startup make sure your Mac drive is the first boot. Save and exit.

Remove all usb drives. Your system should now boot from the Mac Drive and show the OpenCore Menu.

Congratulations we are all done enjoy your new system.

Thanks

I would just like to thank everyone on this site who help me get this system up and running. I honestly could not of done it without your help. So thank you all for taking the time to answer my posts and making this build possible.. 

 

miliuco's guild here in case you got confused.

 

 

 

 

 

MYEFI.zip

Edited by Allan
Amazon links removed - We're not affiliate to promote Amazon links
  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...