Jump to content

How to update to and work with Chameleon 2.0


  • Please log in to reply
14 replies to this topic

#1
Beerkex'd

Beerkex'd

    Content Provider

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,000 posts
  • Gender:Male
  • Location:Belo Horizonte - Brazil
If you’ve installed OS X Leopard 10.5 x on your PC via a hacked installation DVD like Kalyway, iATKOS, iDeneb, Leo4All, Zephyroth, JaS or iPC and whatever else is out there, you’re probably using an old version of the Chameleon boot loader or Netkas’ PCI_EFI.

The purpose of this guide is to help you upgrade to Chameleon 2.0 so that you can take advantage of all the new features it offers.
It is primarily aimed at those of you with an Intel CPU and chipset – I have no experience with AMD systems at all and I don’t know enough about the issues that AMD users run into. However, AMD peeps are encouraged to read along and pick up whatever useful info you can find. I can say for sure that at least the first two parts apply 100% to you as well.

All of the old distros (such as Kalyway 10.5.2 that many still use) offer, during the "customize" phase before installing, some obsolete ways to fool OS X into believing that it’s being installed on a real Mac, along with several patches to make various PC hardware work in OS X. Some of these may make updating to a later version of Leopard more difficult than necessary:

-SMBIOS Injectors and System Profiler hacks
-Various obsolete, patched kernels with various features
-Patched Apple kernel extensions that fix issues with hard drive icons being orange, power management and network
-Patched Apple kernel extensions that make your hardware work - drivers for sound, chipset (drive controllers and USB) video and network.
-Other stuff that might get installed/patched (or not installed!) without your knowledge

When you run an Apple 10.5.x system update on this type of installation, you will lose the patched kernel and the patched extensions that you depend on, when the update replaces them with original Apple ones. This will effectively brick your Hackintosh.

Thankfully, the Chameleon 2.0 boot loader, and, for those who can’t use Vanilla, the Voodoo kernel, was cleverly designed with overcoming these issues in mind. You will still need many of the patches that you are using now, but Chameleon 2.0 comes with its own sets of convenient fixes and enhancements that are a lot easier to apply and manage.

Chameleon allows you to place (ideally) all the kernel extensions and other fixes that you need in a separate folder (even on a separate partition or drive) away from the OS installation itself. If you’ve ever seen a reference to /EFI/Extra or /Extra, then that’s the folder I’m talking about.
This is, among other clever tricks, what allows us to run retail, unmodified "vanilla" installations of OS X on our PCs. When you run an Apple system update on such a configuration, any patches and fixes that you use will stay intact and will still work, because the updater only updates files that are located in system folders.

Unfortunately, many newer 2009 distros that use the Chameleon 2.0 boot loader (such as iATKOS v7) do not fully take advantage of this significant advance in Hackintosh technology, and still install the patches and fixes that you select in "Customize" in system folders. You might see a folder named 'Extra' at the root of your system drive but this folder is usually empty.

WARNING: Do not follow my installation guide if you have a multi-boot system with a single hard drive. OS X must be the only OS installed on the drive. I'm not saying that it WILL eat your Windows partition for breakfast but I didn't have a multi-OS setup in mind while writing this guide.

We’re going to manually install the latest official version of Chameleon 2.0, verify that it’s working correctly, kick the tires a bit and go over some of the neat things it can do.

Visit the Chameleon website or the VoodooProjects forum and download Chameleon-2.0-RC4-r684-bin.tar.gz.
Extract the archive to somewhere, and copy the folder named i386 to your desktop.

Fire up Terminal.app and type
Diskutil list
If you see GUID_partition_scheme and a partition labeled EFI in the output from Diskutil, this is where we will install Chameleon 2.0.
Installing Chameleon to a separate partition is preferred to installing it on the same partition as your OS install. Real Macs use the GUID partition scheme; it is more flexible in terms of partition manipulation via Disk Utility and other tools, not to mention that installing Chameleon to the EFI partition will allow you to reinstall the whole system and boot it too, without losing your patches and modifications. More on that later.

Make a note of where your EFI partition is. The install steps below assume disk0s1 – if it’s somewhere else, modify the commands accordingly.

Before proceeding with the install, use Terminal.app to navigate to the root of your system drive and make sure to delete a file named boot if you see one. If you find a folder named Extra as well, move it to the desktop for now:
sudo -s (type your password)

cd / ← places you at root
ls ← shows what’s in the current directory, including hidden folders
rm /boot ← deletes the file
mv /Extra ~/Desktop ← moves the extra folder and its contents to the desktop
exit
If you don’t see "GUID_partition_scheme" in the diskutil output, then your drive is MBR formatted and we will install Chameleon 2.0 and the Extra folder to the root of your system drive, overwriting the existing boot loader. If you already have an Extra folder there, move it to the desktop for later use (hold the command/Apple key while dragging to move a folder or file).

Pay attention to the commands, especially where they differ according to what partition scheme you are using. Don’t come crying to me if you accidentally wipe out your entire porn storage partition.

Terminal.app will remember all of the following commands between reboots, so you don’t have to type them more than once. You can use the up and down arrow keys to cycle through commands you have already typed.

Open Terminal.app if it’s not already running and type
cd ~/desktop/i386 ← navigate to the i386 folder you copied to the desktop earlier (and don't leave this directory during installation!)

sudo -s (and your password)
If you’re on a GUID partition scheme, do this:
diskutil eraseVolume "HFS+" "EFI" /dev/disk0s1 ← formats the EFI partition with HFS+
(note; the above command is different on Snow Leopard – this guide is for upgrading the boot loader on installations made with 10.5.x distribution DVDs!)
mkdir /Volumes/EFI ← creates a mount point

mount_hfs /dev/disk0s1 /Volumes/EFI ← mounts the EFI partition
Start here if you’re on an MBR drive (if diskutil list shows "FDisk_partition_scheme" your drive is MBR formatted) if you’re on GPT, continue:
./fdisk -f boot0 -u -y /dev/rdisk0 ← install boot0 to the hard drive’s MBR

dd if=boot1h of=/dev/rdisk0s1 ← install boot1h to the boot sector
If you’re on a GPT drive, do this:
cp boot /Volumes/EFI ← copy the file ‘boot’ to the EFI partition
If you’re on an MBR drive, just do
cp boot / ← copy the file ‘boot’ to the root of your system drive
Make your OSX (or EFI) partition "active" – type each command and press return.
1) ./fdisk -e /dev/rdisk0 
(Ignore any "fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory" error)

2) f 1

3) w

4) q
If you’re on an MBR drive you’re done, your boot loader has been upgraded.

If you’re on a GPT drive, continue:
killall Finder ← with a capital F.
This restarts the finder, and the EFI partition appears on your desktop (if you have show drives on desktop enabled in Finder preferences).

Leave the EFI partition mounted for now – we’re going to add some files to it.

When you’re done, don’t forget to unmount the EFI partition and delete the mount point (If you’re following this guide step by step, don’t do this now!):
umount /Volumes/EFI ← yes it’s umount, not unmount!

rm -rf /Volumes/EFI

exit
Tip 1: In order to prevent the File System Events Daemon (fseventsd) from logging on the EFI partition, which can cause it to become unmountable, type (while the EFI partition is mounted):
touch /Volumes/EFI/.fseventsd/no_log
Tip 2: If you ever get “mount_hfs: Invalid argument” when trying to mount the EFI partition, do this to fix it (again assuming the EFI partition is on Disk0):
fsck_hfs /dev/disk0s1
Don’t reboot, we’re not done yet.

Create a folder at the root of your system drive (or, if you’re on GPT, at the root of the EFI partition) and name it ‘Extra’.

Inside Extra, create a folder named ‘Themes’.

Open the folder where you extracted Chameleon-2.0-RC4-r684-bin.tar.gz, find the themes folder inside and copy the folder named ‘Default’ to the themes folder you created in /Extra.

Go to /Library/Preferences/SystemConfiguration and copy the file named com.apple.Boot.plist to /Extra

Now overwrite the com.apple.Boot.plist in /Library/Preferences/SystemConfiguration with the unmodified com.apple.Boot.plist attached here: Attached File  com.apple.Boot.plist.zip   381bytes   342 downloads
Download it and extract it to the desktop, open Terminal.app and type
sudo mv ~/Desktop/com.apple.Boot.plist /Library/Preferences/SystemConfiguration
(type your password when prompted)
Congratulations, that’s your first ‘vanilla’ file restored!

Let’s edit /Extra/com.apple.Boot.plist and configure Chameleon.

Install a plist editor. You can install Apple Xcode to get one (you can find it on a 10.5.x DVD or download it for free from the Apple Developer site). You can also try Google and see if you can find a free or shareware plist editor.

You can also use a standard text editor but make sure you don’t mess up the formatting in the plist.

Open /Extra/com.apple.Boot.plist in your editor. Maybe you already have a device properties string for your video card, a resolution and color depth set, loading a renamed Voodoo Kernel and some kernel flags here. That’s okay, whatever is in there, keep it the way it is.

Click ‘root’ inside the plist, then click ‘add child’ (if you’re using a normal text or xml editor just follow the <key> and <string> syntax). A blank line appears. Move it down below the line that says Kernel Flags, name it Graphics Mode and add a string value with your display’s native resolution in the format widthxheightxbitdepth – 1280x1024x32 for example. If you have this line there already, just leave it.
If you're using the Voodoo Kernel, it is highly recommended that you make the modifications outlined here:
http://www.insanelym...howtopic=209192

Below the Graphics Mode key Add a key Theme with the string value Default.

Add a Timeout key with a string value 4.
If you want the boot GUI to appear and wait for you to manually select a boot volume instead, add a key named Instant Menu with the string value y.

Chameleon also supports hiding partitions, and you can set the default partition that Chameleon will boot after the timeout. This is useful on hard drives with multiple OS X installations, or if you want to boot a partition on another hard drive by default. As an example, To boot the first partition on the same drive that Chameleon is installed on, you would add a key Default Partition with a string value hd(0,1) (if Chameleon was installed to the EFI partition, this would be hd(0,2) because 0,1 is the EFI partition). The syntax for the key Hide Partition is the same. To hide multiple partitions just add them to the string value with a space between them, like this: hd(0,3) (hd 1,2).

Open the folder where you extracted Chameleon-2.0-RC4-r684-bin.tar.gz and open doc/boothelp.txt. You can see most of the settings you can apply in com.apple.Boot.plist here. There are some advanced, hardware related settings available (GraphicsEnabler and related options, the USB fixes, and EthernetBuiltIn) but we will get back to those later. For now, save the plist in /Extra.

Open Theme.plist inside the ‘Default’ folder in /Extra/Themes. There are two places in this plist where theme resolution is set. Change at least boot width and height to match your native resolution and save the plist. Feel free to experiment with the contents of this plist.

If you have a DSDT.aml at root (or in the Extra folder you moved to the desktop earlier), move it to /Extra.

If there is a folder named Extensions in the extra folder you copied to the desktop, move it to /Extra as well. If you find a com.apple.Boot.plist in it, compare it to your new one in /Extra and edit the new one accordingly. If you see an smbios.plist, move that to /Extra as well. We’ll get back to smbios.plist later.

It’s time to reboot and cross your fingers. If you’re on GPT, don’t forget to unmount the EFI partition first, as detailed above.

If you didn’t set InstantGUI=y, you should be looking at a countdown bar now. Press a key to get to the boot selector GUI. You can use the arrow keys to move around, and press return to boot from the selected drive or partition. Try pressing the down arrow when a drive is highlighted - here’s a little menu with frequently used boot flags, boot help, and a list of VESA modes available at boot. Press ESC to leave the drop-down menu. If you start typing something, the command line will appear at the bottom of the screen. Just like in older versions you can type -s if you want to boot in single user mode, –x if you want to boot in safe mode, specify a kernel to use - besides the standard Apple kernel flags, basically anything you can do via /Extra/com.apple.Boot.plist (refer to boothelp.txt) you can also do from the command line.

Pick your system drive in the Chameleon GUI and boot back in to OS X.

When installed to a hard drive or USB stick, Chameleon does not support booting from DVDs or CDs, so even if you have a disc in your optical drive it will not appear in the GUI.

If you want to use Chameleon to boot from CD or DVD (a retail OS X installation DVD for example) you must build your own Chameleon Boot CD.
Here's Sonotone's original how-to from when 2.0 was first released: http://www.insanelym...howtopic=160234
You can also use a Boot CD to boot your main OS X installation. I like to keep a Chameleon boot CD-RW with a working configuration in case I screw up something and can’t boot anymore. It has saved my butt many times.

#2
Beerkex'd

Beerkex'd

    Content Provider

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,000 posts
  • Gender:Male
  • Location:Belo Horizonte - Brazil
SMBIOS injection is a way to present information about some of your hardware and some of Apple's hardware (!) to OS X. We use it to fake or "spoof" an actual Macintosh computer, a Mac Pro, an iMac or a Mac Book for example, which greatly improves compatibility. Many applications and core system components query this information and not having this handled correctly causes various problems.
Besides the deeper stuff, it also fixes the "About This Mac" dialog and System Profiler, where you'll have your CPU- RAM- and base clock frequencies and other information displayed correctly, like on a real Mac.
As of Chameleon 2.0 RC4, you can even fake (or correctly identify - this is sometimes necessary) your CPU type. This is very important for compatibility, some apps (Microsoft Silverlight, Popcap games, Maya) will not install or even refuse to run if they don't detect a CPU type that Apple actually use.

Before this feature was added to Chameleon, SMBIOS injection was done with a Kernel Extension in /System/Library/Extensions - either via direct modifications to AppleSMBIOS.kext (netkas, ToH, paulicat, mac.nub, AnV), or via an SMBIOS Injector .kext such as SMBIOSEnabler.kext (Kabyl) SMBIOSResolver.kext (Superhai) or AppleSMBIOSEFI.kext (eureka/chun-nan). Chameleon 2.0 has made all of those obsolete.
If you're running one of those Hackintosh 10.5.x distros that nobody knows how to spell the name of (iDeb, Kalway or iAKTOS), you're using one of the above.

Chameleon 2.0 handles SMBIOS injection via /Extra/smbios.plist.
Open the folder where you extracted the archive Chameleon-2.0.RC4-r684-bin.tar.gz previously, and look in the folder named 'Optional Extras'. It contains an example smbios.plist that spoofs a MacPro3,1 - this one is actually incomplete, but open it in your plist editor anyway just to get an idea.

As you can see, the example smbios.plist is injecting Boot ROM version, manufacturer, Mac model, version and an 11-character serial number. But you can also inject motherboard model and some other stuff that isn't included in the example. The missing keys from the included smbios.plist are as follows:

SMbiosvendor (typically "Apple Inc." or "Apple Computer Inc.")
SMbiosdate ("MM/DD/YY") - This seems to be the release date of the Boot ROM
SMfamily -"Mac" for an iMac, "MacPro" for a Mac Pro, "MacBook Pro" for a... There are other strings for other models - I'll leave you to Google those.
SMboardmanufacter - same as SMbiosvendor - note odd spelling
SMboardproduct - Motherboard model number - "Mac-F2218FA9" for a 2009 model iMac for example
SMbustype - spoofs or correctly identifies your CPU. If for example your "About this Mac" dialog and System Profiler shows 'Processor Unknown', or you're having trouble installing the Microsoft Silverlight browser plug-in, then this is the right way to fix it.

0103 = Core 2 Duo (use with any Dual Core CPU)
0105 = Quad Core Xeon (use this with any Quad Core CPU)
1537 = Core i5 (use this if you have a Core i5 CPU..duh)
1793 = Core i7/9 (I've seen conflicting information - try this if you have a Core i9 or i7. Will edit later if I see something definitive)

I'll add more codes here as I come across them.

If you're on hardware that can't run the Vanilla kernel you should use the Voodoo Kernel, which automatically injects the appropriate CPU type. If you're on a Pentium 4 or single core AMD system and see "Core Solo" in the About This Mac dialog, then that's the Voodoo Kernel injecting this for you, so there's no need to do this via smbios.plist.
See this post for more information on the Voodoo Kernel: http://www.insanelym...howtopic=209192

If you have previously used a tool to change the 'About This Mac' information, such as ~PCWiz' OSX86Tools (may it rest in peace), you need to undo this fix. Thankfully, OSX86Tools lets you do this too. The problem with OSX86Tools is that it didn't really fix anything, all it did was modify /System/Library/SystemProfiler/SPPlatformReporter.spreporter, which stores the text strings in the 'About this Mac' box.

Most of the string values in the example smbios.plist are specific for the MacPro3,1. Spoofing other models, like a Mac Book or an iMac requires, as I hinted at previously, different string values, and you should obviously not mix DMI data from different models because then, what's the point. So try to obtain as much info as you can from the Mac model you're going to spoof - use Google and search the scene forums.

A quick way to get most of the info with google is to search for "iMac7,1 DMI" (no quotation marks - obviously replacing iMac7,1 with the model identifier you want to use). Most hits on this particular search will be Linux bug reports and they usually contain all the smbios info except the serial number.
Follow this excellent guide by Prasys to create your own "real" serial number:
http://prasys.co.cc/...-serial-number/

You can find collections of smbios information from various Mac models scattered around on Insanelymac and other Hackintosh forums and blogs. Another useful resource is the GeekBench result browser at the GeekBench website - but be careful if you use information from there, because it might come from an incorrectly configured Hackintosh (iMac9,1 with MacPro3,1 boot ROM for example). So verify your findings in several places.

Try to find a Mac model to spoof that is more or less in line with the specs of your PC, like CPU type and/or number of CPU cores and, if possible, chipset and even video card manufacturer (Macs use Intel GMA, ATI and nVidia video). Spoofing a Mac Pro with an 8-core Xeon CPU does not make much sense if you're on a laptop with a Core 2 Duo, likewise spoofing a MacPro4,1 doesn't make sense (and sometimes will not work at all) if you don't have a Nehalem-architecture CPU. Conversely, if your PC has the Nvidia MCP79 chipset, spoof a Mac model that uses it, like the iMac10,1.

A general guideline could be something like this; spoof a Mac Book if you're on a laptop, Mac Pro if you have a desktop PC with 4- or 8-core CPU and an iMac if you have a desktop PC with dual core CPU (though the iMac is technically a laptop).
Don't waste your time visiting Apple's website looking for specs, the information you can find there isn't detailed enough for our purposes.

SMexternalclock is your non-quad pumped FSB clock. Take your FSB (if you don't know what your FSB clock is, you can see it in your BIOS) divide it by four and set this value here. On Pentium M/4/D/Celeron systems with 533 and 800MHz FSB use 133 and 200 respectively, on 1333 MHz FSB systems use 333, and so on. First time you put your smbios.plist together, try rebooting without adding the CPU and RAM information, then check System Profiler first thing. Sometimes it's not necessary to override all the information. If some CPU/RAM information is missing or plain wrong, then go back to your smbios.plist and fill in the missing or inaccurate data.

SMmaximalclock is your maximum CPU frequency in MHz. For example, if you have a 3,16 GHz CPU, put 3166.

SMmemtype is 18, 19 and 24 for DDR1, 2 and 3 respectively.

SMmemspeed is your memory clock frequency. This one is easy - for DDR 800 put 800, and so on.

SMmemmanufacter (again note odd spelling) and friends - manufacturer, serial and part numbers for your RAM sticks can be found with tools like CPU-Z and Lavalys Everest on Windows, but you can put anything you want there, they are there solely for the purpose of looking cool in System Profiler. The 1, 2, 3 and 4 denotes each memory slot on your motherboard - if you don't have four sticks of RAM, just omit the info for the slots that are empty.

Before you can start using your new smbios.plist, you will need an original, unmodified AppleSMBIOS.kext from the version of 10.5.x you are running, that you can install in /Library/System/Extensions, replacing the modified one you are using now.

You can try googling for one, but remember it has to be unmodified; otherwise it's pointless to use it.

If you have access to a 10.5.x installation DVD, it is easy to extract a vanilla AppleSMBIOS.kext from it using an app called Pacifist:
http://www.charlessoft.com/
I'm not going to go into details on how to use Pacifist as it comes with its own excellent documentation. But basically, you run Pacifist with the DVD inserted or with an image of it mounted, and click the "Open Apple Install Discs" button. Then you locate the Extensions folder in the directory tree (it's in BaseSystem.pkg - again, refer to the documentation) and extract AppleSMBIOS.kext from there - or you can have Pacifist install it for you in S/L/E on your Hackintosh if you want to.

Now, use Pacifist to install (or, if you know what you're doing, extract and manually copy) your vanilla AppleSMBIOS.kext to /S/L/E.
Make sure that you don't have any SMBIOS injector kexts installed. Look through the extensions folder, and if you see anything besides AppleSMBIOS.kext with SMBIOS in the name (refer to list of SMBIOS injector kexts above), trash it.

If your Apple 10.5.x DVD is older than the system you have installed, you can update the AppleSMBIOS.kext manually after installing it in the same way - use Pacifist to extract the update from a manually downloaded Apple 10.5.x Combo Update that matches your current system version, and install it right on top.

If your Apple 10.5.x DVD is older than your existing system version, then keep the combo update on your HD - we will need it for the purpose of restoring other unmodified kernel extensions later.

Here's an unmodified AppleSMBIOS.kext from 10.5.8: Attached File  AppleSMBIOS_10.5.8.zip   18.87KB   63 downloads
Now fix permissions on your extensions - open Terminal.app and type (again, this is for 10.5.x users, some commands differ on Snow Leopard)
sudo -s (and your password)
chown -R root:wheel /System/Library/Extensions
chmod -R go=u-w /System/Library/Extensions
touch /System/Library/Extensions/
rm -rf /System/Library/Extensions.mkext
exit
Always do the above when you're done doing stuff in /System/Library/Extensions.
Sometimes it's not enough to fix permissions in Disk Utility - it will not fix permissions on kexts that it doesn't recognize.

Drop your new, personalized smbios.plist in /Extra and reboot.

Go to the Apple menu, click 'About This Mac', and admire your work.
Click 'more info' to open System Profiler, and check that all your modifications are in effect. Click 'Memory', check each slot and verify that the information is correct there as well.

This is the iMac9,1 smbios.plist that I use on the first Hackintosh in my sig. Don't use it as-is, it has my RAM and CPU info in it.
Attached File  iMac9_1_smbios.plist.zip   1KB   127 downloads
This is the MacPro1,1 smbios.plist that I use on the second Hackintosh in my sig.
Attached File  MacPro1_1_smbios.plist.zip   509bytes   48 downloads
A MacPro3,1 smbios.plist: Attached File  MacPro3_1_smbios.plist.zip   828bytes   133 downloads
MacPro 3,1 updated Sept. 2010 - latest MacPro3,1 SMC firmware version is 1.25f4. I still haven't managed to fool Geekbench with this one. Maybe it'll only work right on a PC with Quad Core CPU.

A MacBookPro1,1 smbios.plist: Attached File  MacBookPro1_1_smbios.plist.zip   702bytes   57 downloads

(old) News:
Chameleon RC5 will have built-in memory detection and then we will only need to fill in the Macintosh-spoofing stuff in smbios.plist.
AsereBLN 1.19 is based on Chameleon RC4 and has (among other neat features) memory and CPU type detection built-in:
http://www.efixusers...hread.php?t=644

#3
Beerkex'd

Beerkex'd

    Content Provider

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,000 posts
  • Gender:Male
  • Location:Belo Horizonte - Brazil
Placeholder - LAN and Video related com.apple.Boot.plist settings

#4
Beerkex'd

Beerkex'd

    Content Provider

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,000 posts
  • Gender:Male
  • Location:Belo Horizonte - Brazil
Placeholder - Working with Kernel Extensions and the /Extra/Extensions folder

If you spot any errors or important information missing from the completed parts of the guide, please let me know via PM, rather than posting in the thread.

If you reply here, please don't quote the entire post, it's pointless, and besides I will be updating the guide from time to time. When I do, your quote will contain obsolete info.

#5
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,838 posts
  • Gender:Male
  • Location:Brazil
Hi Beerkex'd, very nice guide!

I was reading this topic and found this

Guys, the fdisk bundled with the binary releases contain a modified fdisk command. We modded it to update only the first 440 bytes in the MBR.

So if in the command
fdisk -f boot0 -u -y /dev/rdisk0 ← install boot0 to the hard drive’s MBR
you use ./fdisk instead, it should not mess with Windows 7 boot.

I didn't test it (don't use Windows 7) and know you didn't have a multi-OS setup in mind while writing this guide, but just in case.

#6
Beerkex'd

Beerkex'd

    Content Provider

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,000 posts
  • Gender:Male
  • Location:Belo Horizonte - Brazil
Thanks, you're right of course. I corrected the guide. If you have any other suggestions please let me know, just edit your post if you want to add something. Looks like the modified fdisk will be renamed to fdisk440 in upcoming Chameleon releases.

#7
Mustang Sally

Mustang Sally

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 109 posts
Beerkex'd

after folling your excellent guide, geekbench now reports it as a real mac.



thanks

Attached Files



#8
audio geek

audio geek

    InsanelyMac Protégé

  • Members
  • Pip
  • 30 posts
Great guide. It saved my but. but now I have an disk labeled EFI on my desktop :) :wacko:

Any advice?

Attached Files



#9
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,098 posts
  • Gender:Male
  • Location:Brazil
That happens if the EFI partition was not initialized correctly (for example if you used the command that initializes it on Leopard on Snow Leopard).

Leopard:
diskutil eraseVolume "HFS+" "EFI" /dev/diskXs1
Snow Leopard:
newfs_hfs -v EFI /dev/diskXs1

I don't know if there's a way to get it back to normal. When it happened to me I reformatted the whole drive because I couldn't be arsed to find if there's a way to fix it.
At this point re-initializing the EFI partition with the correct command doesn't help, if you do something wrong then the EFI partition seems to lose its magic and turn into a normal partition. It doesn't affect functionality though but it's annoying, I prefer it to be invisible like it's supposed to be.

#10
audio geek

audio geek

    InsanelyMac Protégé

  • Members
  • Pip
  • 30 posts
I guess I could erase and repartition the HD. Then do I just need to make sure that I don't enter in those commands?

#11
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,098 posts
  • Gender:Male
  • Location:Brazil
You must initialize the EFI partition if you want to use it. Make sure you use the right command according to which OS you're running - see post #9.

#12
audio geek

audio geek

    InsanelyMac Protégé

  • Members
  • Pip
  • 30 posts
Thanks for your help. Honestly I can't remember which commands I used, but I do recall doing the process twice and realizing the second time around there were subsections for MBR and GUID.

#13
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,098 posts
  • Gender:Male
  • Location:Brazil
Yeah the guide gets a little confusing when it deals with MBR and GUID at the same time. It's a good idea to read ahead a few steps before doing anything. :rolleyes:

If you happen to find a way to correctly re-initialize the EFI partition (so that it doesn't auto-mount like a "normal" partition) without having to reformat please post here, it would be a very useful addition to the guide.

I was wondering if we're doing things The Right Way™ - apparently the EFI partition on a real Mac has FAT32 filesystem, not HFS - but, the only time the EFI partition is used for anything on a real Mac, is when you install a firmware update....but because we can never do that on PC running OS X I'm thinking it doesn't matter what filesystem it has. Who knows.

I heard that on some Hackintoshes you'll be offered a firmware update when running Software Update. Of course it will not install on a PC. The way to "fix" this is to edit fakesmc.kext's info.plist and set the firmware version in there so that it matches the latest SMC firmware version that's available for the Mac model you're spoofing in smbios.plist. There's a tutorial on how to do this over on Prasys' blog - google search 'Prasys fakesmc' to find it.

Some more info here: http://www.insanelym...p...t&p=1554993
If the EFI partition keeps auto-mounting itself because it was initialized incorrectly, maybe gdisk (follow the link above) can be used to fix it. I have not seen any confirmation of this, it would be nice if someone with this problem could try it and report back.

#14
stidrvr

stidrvr

    InsanelyMac Protégé

  • Members
  • Pip
  • 19 posts
I followed the guide and got everything set. Although its a little past my level, so how do I remove the EFI Partion?

I have tried everything. "diskutil list" still shows it?

#15
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,098 posts
  • Gender:Male
  • Location:Brazil
I don't understand, why would you want to remove the EFI partition?

You're not supposed to remove it - if you remove it you will lose everything you just did!

Unmount it when you're done working with it.

If you mean that you can't unmount it, first make sure you're typing umount instead of unmount!

If that doesn't work, then you have used the wrong command to initialize it - as I said earlier (post #9) the command that worked on Leopard does not work on Snow Leopard, the EFI partition loses it's magic and becomes a regular partition if you don't use the Snow Leopard-specific command when you initialize it. The guide in post #1 even mentions it. Remember, this is the 10.5.x post installation sub forum.

So.. pay attention next time, never blindly follow guides, always read ahead..!

The only way I've been able to fix this (that was a long time ago when I didn't know anything, and I still don't know much!) was reformatting and reinstalling. But see my post above yours for additional ideas - try changing the partition type with gdisk - and don't forget to let us know if it works.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy