[Guide]Tips For How To Create An SMBIOS - Installation guides - Hackintosh Zone Jump to content
  • 0
Sign in to follow this  
Deepak

[Guide]Tips For How To Create An SMBIOS

Question

Deepak    1,701

Everyday ,I do get questions on how to fix RAM detection of OSX , how to fix CPU Detection of OSX , etc. Most of the people who have asked this question aren’t aware that its purely cosmetic/asthetic. If OSX shows you that it sees your 800Mhz DDR2 RAM as 667Mhz. It doesn’t mean that your RAMs are clocked at 667Mhz when you’re in OSX. But still some insist on fixing it right so that they would make themselves proud. Anyhow , this guide explains the fundementals on building your own Apple SMBIOS.plist (more after the jump)
 
To get started , you must be using Chameleon VR RC1/RC2/RC3 boot loader. This trick doesn’t work with earlier version of Chameleon as it doesn’t support SMBIOS injection. If you’re wondering what SMBIOS stands for – Its System Management BIOS. You could read more about it here. Lets take a look on how we could build our own SMBIOS. You can make it to feel like a real macintosh by altering its value to match with a real Mac , or alternatively you may use your own values. Its up to you. Remember that its purely cosmetic. Its has no impact on performance
This is an example of SMBIOS.plist (I’ve attached one here so that you can take a look at modify it).



 

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict> <key>SMbiosvendor</key> <string>Apple Inc.</string> <key>SMbiosversion</key> <string>MP21.88Z.005C.B01.0608221120</string> <key>SMbiosdate</key> <string>04/01/2008</string> <key>SMboardmanufacturer</key> <string>Apple Computer, Inc.</string> <key>SMboardproduct</key> <string>Mac-F4208DC8</string> <key>SMfamily</key> <string>MacBookAir</string> <key>SMmanufacturer</key> <string>Apple Inc.</string> <key>SMproductname</key> <string>MacBookAir1,1</string> <key>SMserial</key> <string>W88033AKY51</string> <key>SMsystemversion</key> <string>1.0</string> <key>SMUUID</key> <string>00000000-0000-1000-8000-000000000000</string> <key>SMmemtype</key> <string>24</string> <key>SMmemspeed</key> <string>1600</string> <key>SMmemmanufacter</key> <string>Apple Computer Inc.</string><key>SMmempart_1</key>   <string>0x48594D503131325336344350362D59352020</string>   <key>SMmempart_2</key>   <string>0x48594D503131325336344350362D59352020</string>   <key>SMmemserial_1</key>   <string>0x00001020</string>   <key>SMmemserial_2</key>   <string>0x00003021</string> <key>SMexternalclock</key> <string></string> <key>SMmaximalclock</key> <string></string></dict></plist> 

 
You don’t have to key in all the details , if you wish. For instance if you would like Chameleon to use default memory part number for your RAM. Feel free to remove the entire string and key corresponds to it. Its that simple. Now lets take a look at what these key means and how to get the values .
 
 


 

  • [*]
    • [*] [*]
      • [*] [*]
        [*] [*] [*]SMfamily : The Mac Model Family . For instance if you want to emulate as a MacPro , the Family would be “MacPro†(without quotes) , as for a Mac Mini it would be “MacMini†(without quotes) . [*]SMproductname : The model , for instance you can call yours as “MacPro0,1″ , or “MacPro1,5″ or even follow a real Mac Model. Its up to you  [*]SMbiosdate : Date when the firmware was released. This is optional , you could actually skip this.  [*]SMbiosversion : Its used when fakeSMC is not being used. But since we have fakeSMC , you can easily skip this part. Only use this if you plan to stick with dsmos or if you want SMC Version to be like a RealMac . [*]SMmanufacter : The manufacturer of the Computer. Default its Apple , but then if you want to put your own OEM branding. Feel free to edit it . [*]SMsystemversion : The boot rom (aka BIOS version). You can take this data from a real mac or from Apple’s site (which I would describe on how to get information on a particular Boot ROM for a particular mac)  [*]SMbiosvendor : As the name suggests it reflects the company who made the BIOS. By default its Apple , but if you want to use any other name or branding. Feel free to adjust it  [*]SMserial : Serial Number of your Hackint0sh [*]SMexternalclock : Frequency of your FSB (measured in Mhz)  [*]SMmaximalclock : Your computer clock speed (i.e Intel Pentium D 830 is a 3.00Ghz processor) . Therefore it would be 3000 (Measured in Mhz) (whereby 1Ghz = 1000Mhz)  [*]SMmemtype : Memory type. Use  18 for DDR / 19 for DDR2 / 20 for  DDR2 FB-DIMM / 24 for DDR3 – You can get the whole list for SMmemtype by reading Chameleon’s documentation or grabbing the source code. [*]SMmemspeed : Memory clock speed (i.e 533Mhz , 667Mhz) . Its measured in Mhz  [*]SMmemmanufacter_1 : Manufacturer of your RAM (i.e Kingston , Apple , etc)  [*]SMmemserial_1 : Serial number of your RAM [*]SMmempart_1 : part number of your RAM [*]SMUUID : Enter your UUID here if you’re having issues with UUID . [*] 
        If you have plans on fixing your CPU being recognised as Unknown , then do check out this post on patched version of Chameleon. Generally you’ll be needing it if you want to get certain program such as Silverlight , etc to work properly  
         
         
         
         
        Well thats about it. Now you may want to use TextEdit or nano or plist editor  to create a new file (or modify my existing SMBIOS.plist)  and call it as SMBIOS.plist. Place it in your /Extra folder. If you have an EFI partition , then place it in the /Extra folder of your EFI partition. Now as for finding the right values (i.e Product name , BIOS version). You may get the data directly from Apple’s website . For instance if you wish to mimic a MacMini Early 2006. Your SMProductName would be “MacMini1,1″ and your SMBiosversion would be
“MM11.0055.B08†. You can find out the generation of Mac by simply looking at EFI Boot ROM version in Apple’s Web site. 
 
Thats how its done. Save it . Place it in /Extra – Reboot and then check out your system profiler. You should have the correct values !
 
If you want to deepen your understanding and broaden your knowledge , read the white papers on SMBIOS. Its a complex PDF which gives you better understanding and deeper understanding if you plan to customize yours. Highly recommended for advanced OSX86 users . You may download it from here  [*] 
Best Regards... [*] [*]


Edited by Deepak
  • Like 7

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

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
Sign in to follow this  

  • Download Hackintosh

  • Files

  • Posts

    • Im trying to install MacOSierra on Alienware 15 r2,  512ssd nvme 951 and 120gb intel sataIII samsung, i6820 hk 980m, intel 530. Ofter many attempts i solved a lot of erros during the installation, and finnaly i found out that macOs does not suport SSD. I created a patch for my ssds but now, i have this error: ACPI ERROR; and last: AppleNVMe Assert failed;  2 SSD: // Inject bogus class-code for NVMe SSD to prevent IONVMeFamily.kext from loading
      DefinitionBlock("", "SSDT", 2, "hack", "NVMe-Pcc", 0)
      {
          External(_SB.PCI0.PEG0, DeviceObj)
          Method(_SB.PCI0.PEG0._DSM, 4)
          {
              If (!Arg2) { Return (Buffer() { 0x03 } ) }
              Return(Package()
              {
                  "class-code", Buffer() { 0xff, 0x08, 0x01, 0x00 },
                  "built-in", Buffer() { 0 },
              })
          }
          External(_SB.PCI0.SAT0, DeviceObj)
          Method(_SB.PCI0.SAT0._DSM, 4)
          {
              If (!Arg2) { Return (Buffer() { 0x03 } ) }
              Return(Package()
              {
                  "class-code", Buffer() { 0xff, 0x08, 0x01, 0x00 },
                  "built-in", Buffer() { 0 },
              })
          }
      }
      //EOF   I did the patch in virtual machine as they instructed. but still nothing.
    • Hey!  I successfully installed macOS Sierra with the Version SierraAMD v3 on my AMD Pc.  But after setting up the PostInstall via Terminal, the OS stops booting at this line : ioconsoleusers: gioscreenlockstate 3, hs 0, bs 0, now 0, sm 0x0 Any solutions?    My System Specs: Mainboard: Asrock 970 Pro3 r2.0 Processor: AMD FX-6300 Graphics: Sapphire Radeon RX460 4GB   Thanks!
    • Ok, so I built a new hackintosh with Niresh Mavericks 10.9.0 on a modified Dell Precision T7400 and mostly everything seems to be working correctly except for two things: Sound (The obvious one), and Online video content (Youtube, Facebook videos, etc) play at lower than 1 fps, frozen speed, after 10 seconds of playback it reaches 4 seconds of elapsed time and I have found no other forums explaining this or talking about this so I decided to bring it up here. As for the sound situation, I already bought a new card to replace the X-FI, so yes, I am aware of the Sound Blaster Audigy X-FI Xtreme Audio not being supported, but what caught my attention is that the sound was working and video playback problem was gone temporarily, I happened to hear the sound from my headphones sitting on my desk and put them on, and sound. I decided to test a video on youtube, the problem with the videos, gone. But after a reboot, they were back. However I have the logs from today and can give them to whoever wants/needs them to figure out what may have caused the sound to kick in on the X-FI and maybe add support for this sound card. I copied as far back in the time that the system was on while sound was working that I could up to the shutdown event. I know it's pretty large but I am not sure where to look, I am simply handing this out to whoever wants to see what may have given me audio on this card for the session. From what I can see that looked to be the most closely related to my issue is something to do with bluetooth (I don't have bluetooth, btw), it says in console: "9/20/17 6:49:55.785 PM com.apple.audio.DriverHelper[200]: The plug-in named BluetoothAudioPlugIn.driver requires extending the sandbox for the mach service named com.apple.bluetoothaudiod." repeatedly many times. This could be completely unrelated.   The only recent actions I made that I personally can think of that may have triggered this would be: I installed several different versions of a music player through Winebottler and it failed to start, more and likely because of the lack of .net framework 2.0 and 4.0, this is my highest suspicion of being the likeliest cause, but I could be wrong. I installed Crossover and installed the music player in it, which it ran in and is where I discovered that you need .net 2.0 and 4.0 (It had the player in it's database and installed .net automatically) Ran Discord (It uses output/input, so may as well add that in) The player was MusicBee, and when it crashed, it also left a log that I could probably try to reproduce if needed.   Specs: Dell Precision T7400, 1x Intel Xeon x5482 Nvidia Geforce GTX 660 16GB ddr2 ram 667mhz (Tested to be working correctly, please don't ask me to run a mem test I am impatient enough as it is)
    • 980m+intel 530, 6820hk 512ssd+120ssd+1TB im trying to install macOsierra, and i tried a lot of combinations of arguments and configuration, nothing seems to work, i got the same problem every time ofter i start the installation! Is saying: System uptime in  nanoseconds: some random numbers.
    • Hello guys!


      Today I tried to install macOS High Sierra from a bootable usb, but my pc froze during the booting process.
      I need help. Can you help me?

      Here I attached a demo with the problem.
      https://goo.gl/cp5E8M


      Thanks in advance!
  • Download Statistics

    • Files
      842
    • Comments
      2,129
    • Reviews
      2,532

×