Jump to content

[Guide] USB Flash Drive-Based Chameleon / Retail Snow Leopard Install


dougaa
 Share

49 posts in this topic

Recommended Posts

USB Flash Drive-Based Chameleon / Retail Snow Leopard Install

 

This tutorial is for installing OS X Snow Leopard on a PC using a USB flash drive. It's an update of my similar tutorial for Leopard at http://www.insanelymac.com/forum/index.php?showtopic=165676 The end result is a flash drive which can be used to boot your PC using Chameleon and do maintenance on OS X (eliminating the need for an extra OS X partition), as well as Chameleon and OS X installed on your hard drive. The flash drive offers several advantages over a DVD. It is easier to set up, boots much faster than a DVD, and makes it easy to try different kexts or other changes. At the time of this writing, the required 8GB USB flash drive is available for less than $20.

 

These steps are based on my experience doing installs using an Intel D975XBX2 motherboard (Bad Axe 2) with a Core 2 Quad Q6600 processor. I've tried to generalize what worked well for me into a tutorial. The information here comes from a variety of sources, but munky's tutorial at http://www.insanelymac.com/forum/index.php?showtopic=127330 was particularly helpful. I've concentrated on the steps to get an initial install of OS X running, even if some hardware, such as sound, may not work initially. These steps and Chameleon are compatible with using EFI, but setting up EFI is not covered.

 

Please let me know about any problems with this tutorial and I'll make updates as needed.

 

Change Log

2009-11-27: Initial version

 

Requirements

 

* The BIOS in your motherboard must support booting from a USB drive

 

* Snow Leopard 10.6 retail DVD

 

* An 8GB or larger USB drive which can be completely erased

I assume most people will use a flash drive, but any drive separate from the drive for the final installation will work.

 

* Access to an existing installation of Snow Leopard. Most of these steps don't require Snow Leopard. However one step, building the initial kernel extensions cache, must be done using Snow Leopard.

 

Before starting you need to know what modifications are needed for OS X to run on your hardware. At a minimum, some number of kernel extensions (kexts) need to be replaced. You may need to add device strings to com.apple.Boot.plist, or add files to the OS X root directory. If you already know what changes need to be made for your hardware this should go very smoothly. If not, check this forum to find out what has worked for others with similar hardware. I'll include what was required for my machine.

 

Partition the USB Drive

 

These steps create a 512MB partition on the USB drive for Chameleon and any files needed to customize your OS X installation. They also create a 6.66 GB or larger partition for a copy of the OS X retail install DVD.

 

1. Connect the USB drive to the OS X machine. If a window comes up that says the disk is not readable, click on Ignore.

 

2. Open Disk Utility (under Utilities in the Finder's Go menu.) Locate the USB drive in the left section of the Disk Utility window and click (once) on the drive itself. The drive is listed immediately above any partitions on it (there may be none.) Info about the drive should appear at the bottom of the window, and you can verify it's the correct drive. BE CAREFUL to select the correct drive, because the next steps will delete all the data on the drive you select.

 

3. Click on Partition to the top right, then under Volume Scheme select 2 Partitions. Click on Options... at the bottom and select GUID Partition Table, then click on OK.

 

4. Click on the Untitled 1 partition, then set its name to usbboot, the Format to Mac OS Extended (Journaled), and the size to .5 GB.

 

5. Click on the Untitled 2 partition and set its name to "OS X Install Image" and the Format to Mac OS Extended (Journaled). Its size should be the remaining space available on the drive. For my 8GB flash drive its size is 6.98 GB in Leopard and 7.57 GB in Snow Leopard. Click on the usbboot partition again and verify its size is 512MB (Leopard) or 500MB (Snow Leopard.)

 

6. Click on Apply. A window will appear asking you to confirm partitioning the disk. Verify that it names the correct disk. Once again, BE CAREFUL. Then click on Partition. When the partitioning is complete, the new partitions, "usbboot" and "OS X Install Image", will appear on the desktop. Quit from Disk Utility.

 

7. For each partition on the USB drive, "usbboot" and "OS X Install Image", right click or control click on it on the desktop and select Get Info. In the info window, if necessary expand Sharing & Permissions by clicking on the arrow at the left. Click on the lock at the bottom and enter your password to unlock it. Then uncheck the box that says "Ignore ownership on this volume" and close the info window. Be sure to do this for both partitions.

 

Copy the Retail Image to the USB Drive

 

These steps copy the contents of the retail DVD to the USB drive partition. To save space, the Optional Installs folder is not copied. After OS X is installed, the retail DVD can be used for the optional installs. Also, the latest version of Xcode Tools (one of the optional installs) can be downloaded from Apple after getting a free ADC membership.

 

8. At this point we need to switch to the command line using the Terminal application. Open Terminal (under Utilities in the Finder's Go menu.) Then enter:

sudo -s

and enter your password. This provides root privileges for commands.

 

9. Use this command to prevent "Optional Installs" from being copied. It creates a file where the "Optional Installs" folder would be copied, and results in saving 760MB. This can be skipped if the USB drive is 9GB or larger, or if you won't be copying large files to the USB drive. Enter:

touch "/Volumes/OS X Install Image/Optional Installs.localized"

 

10. Insert the retail DVD into your DVD drive. "Mac OS X Install DVD" should appear on the desktop. Then copy the contents of the DVD to the USB drive partition. Enter:

ditto -V "/Volumes/Mac OS X Install DVD" "/Volumes/OS X Install Image"

-V is just to show detailed progress information. That's useful, because this takes a long time.

 

Initial Customization of the Retail Image

 

This step is to make any changes to the retail image which are required to get Snow Leopard to boot on your machine. Because Chameleon is being used, normally little or no customization is needed to get Snow Leopard to boot. We'll assume that no kernel extensions must be added or removed in order to get Snow Leopard to boot (because Chameleon will handle that.) For my machine, Chameleon does not handle the kernel extension changes needed to get sound to work, but that's not necessary for booting.

 

For my machine I add dsdt.aml to the OS X root directory. DSDT Patcher was used to create dsdt.aml. To copy dsdt.aml or other files to the USB image root, in the Finder just drag them to OS X Install Image.

 

Add Additional Terminal Commands to the Retail Image

 

The OS X installation disk contains only a subset of all the Terminal commands included in a full install of OS X. This step makes all the commands available when Terminal is run from the installation disk, so it can more easily be used to setup or repair a hard disk installation. For example, this makes the "more", "emacs", and "vi" commands available. These additional commands must be copied from a Snow Leopard installation. While the additional commands can be very useful, they are not required for the other steps listed here.

 

11. Issue this command (optional, requires using Snow Leopard):

cp -npv /usr/bin/* /Volumes/"OS X Install Image"/usr/bin

This copies only the commands not already present.

 

Install Chameleon on the USB Drive

 

12. Download the current version of Chameleon from the Chameleon Boot Loader web site. Download the bin.tar.gz version. As I write this, the current file is Chameleon-2.0-RC3-r658-bin.tar.gz. Double-click on the file to expand it and create a Chameleon folder (if that didn't happen automatically.) Back now in Terminal, make the Chameleon folder the current directory. Enter "cd" followed by a space, then drag the Chameleon folder to the Terminal window to paste the path, and press return. If this worked correctly, the "ls" command output will include "i386". Enter:

cd i386

to switch to the directory with the files to install.

 

13. Determine the device number for the USB drive. Issue the command "diskutil list". The output will show sections beginning with "/dev/diskX", and then the disk partitions. Determine what X is for the USB drive with the usbboot partition. The usbboot partition should be displayed with IDENTIFIER diskXs2, and diskXs3 should be "OS X Install Image". BE CAREFUL to identify the correct disk, because we will be writing to the disk MBR and the boot area of a partition.

 

14. Issue these command to install Chameleon in the MBR and the usbboot partition. Replace X by the number you determined. Enter:

fdisk -f boot0 -u /dev/rdiskX

dd if=boot1h of=/dev/rdiskXs2

cp -p boot boot0 boot1h /Volumes/usbboot

Fdisk will ask you to confirm that you want to write the MBR. Enter "y" after verifying X is correct. The boot0 and boot1h files are copied to /Volumes/usbboot not because they are needed now, but so it will be easy to set up a hard drive with Chameleon later.

 

15. For Snow Leopard, the PC EFI 10.5 boot file from Netkas (netkas.org) replaces the boot file from Chameleon. Rename the boot file from Chameleon in the Finder or in Terminal:

mv /Volumes/usbboot/boot "/Volumes/usbboot/Chameleon boot"

Then download the PC EFI 10.5 boot file and use the Finder to drag it to usbboot.

 

16. (Thanks to munky.) Flag the first MBR partition on the USB drive as active This stage may not be necessary for some motherboards, but it's harmless in any case. Enter the fdisk command and then each line as shown:

fdisk -e /dev/rdiskX (NB: Ignore any fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory error)

f 1

w

q

After the "w" command, respond "y" if you're asked if it's ok that a reboot will be needed. At this point the USB drive is bootable and will run Chameleon, but customization is needed before it can boot OS X successfully.

 

Add Customizations for Chameleon to Load

 

These steps install the kernel extensions and com.apple.Boot.plist needed for your hardware.

 

17. Setup the Extra and Extensions folders. Enter:

install -d /Volumes/usbboot/Extra/Extensions

to create the folders. Using the Finder, copy the kernel extensions your hardware needs into the Extensions folder in usbboot/Extra. Copy com.apple.Boot.plist into usbboot/Extra. If you use smbios.plist, copy it into the Extra folder. The Chameleon Themes folder can also be copied to Extra to allow using different themes. Authenticate to the Finder when asked to.

 

For my machine I used these kernel extensions from Chameleon's Optional Extras:

AHCIPortInjector.kext

Disabler.kext (the 10.6 version)

IOAHCIBlockStorageInjector.kext

Also these from the forum or other web sites:

a patched copy of IOATAFamily.kext with AppleIntelPIIXATA removed

OpenHaltRestart.kext

fakesmc.kext

 

My smbios.plist specifies the memory speed is 800:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>SMmemspeed</key>
	<string>800</string>
</dict>
</plist>

 

com.apple.Boot.plist specifies booting in 32-bit mode and also includes an EFI string generated by OSX86Tools:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>-x32</string>
<key>device-properties</key>
<string>insert your EFI string here</string>
</dict>
</plist>

 

18. Set permissions. Enter:

chown -R root:wheel /Volumes/usbboot/Extra

chmod -R 755 /Volumes/usbboot/Extra

 

19. Chameleon requires that a kernel extension cache be built for the kernel extensions. The cache must be built in Snow Leopard. USING SNOW LEOPARD enter:

kextcache -m /Volumes/usbboot/Extra/Extensions.mkext /Volumes/usbboot/Extra/Extensions

Warning messages are normal for the kextcache command.

 

20. Set permissions for the cache:

chown root:wheel /Volumes/usbboot/Extra/Extensions.mkext

chmod 644 /Volumes/usbboot/Extra/Extensions.mkext

 

Disconnect the USB Drive

 

21. Disconnect the USB drive from the machine used to set it up. Enter:

sync

and if the activity light on the USB drive indicates any activity, wait for it to stop. Then enter:

exit

and quit from Terminal. Drag the two partitions for the USB drive to the trash to eject them. When both no longer appear on the desktop, disconnect the USB drive. If the Finder says the volumes cannot be ejected because they are in use, provided you entered the sync command and waited for disk activity to stop, it's safe to remove the drive. The device removal error that is displayed can be ignored.

 

Boot the USB Drive and Install OS X

 

We're finally ready to boot the USB drive! With the USB drive connected to the PC, boot or reboot it and go into the BIOS settings. Make sure the BIOS is set to allow booting from USB drives, and that the USB drive comes before any hard drives in the boot order. Don't forget to save any changes. If you've carefully followed the above steps, the most likely reason the USB drive won't boot is the BIOS settings. Just getting the USB drive to boot and run Chameleon should work even if it turns out there is a problem getting OS X to run.

 

22. Boot from the USB drive. The Chameleon boot screen should appear. It should have an icon for OS X Install Image, and may have icons for other partitions on hard drive. If necessary, use the left and right arrow keys to select OS X Install Image. To enable verbose boot messages (useful for debugging), type -v, which should appear at the bottom left. Then press return. The install image should then boot. If this hangs or fails in some way, it's likely due to not having the correct kexts or other customization for your hardware.

 

23. Continue to the screen which says "Install Mac OS X", and select the hard drive or partition you want to use for OS X. Notice that there is a Customize button which provides options you may want to use. The Rosetta option is necessary for running PowerPC applications. Also, you can run Disk Utility at this time to partition the drive. To do that, select Disk Utility from the Utilities menu. If you partition a drive for OS X, be sure to select a GUID partition table as in step 3 above. When you quit from Disk Utility you will be back at "Install Mac OS X", and any new partitions you created should be displayed.

 

24. The installation should proceed and take a while. At the end, you may get an "Install Failed" warning message due to not being able to set the startup disk. That can be ignored provided the reason given is setting the startup disk.

 

25. After the installer copies files it will reboot your machine. When the machine reboots, select the icon for the new installation in Chameleon. The installation should complete and run the interactive setup.

 

26. Once the installation is complete, use System Preferences to run Software Update. Install all the updates, rebooting as often as needed. For some system updates and security updates, it's normal for the update to reboot your machine before returning to the desktop again.

 

Finish the Installation

 

If your machine requires kernel extension changes not handled by Chameleon, make then now. Besides making changes to the boot volume, you may also want to make the same changes to "OS X Install Image" for when you boot from the USB drive. The kernel extensions are in /System/Library/Extensions. If you have no kernel extension changes, skip to step 31.

 

While you're making changes to extensions, OS X may warn you that new extensions are unusable. Those warning can be ignored because these commands will fix the extensions.

 

27. Set permissions for any extensions you added to the install image. Enter these commands in terminal:

sudo -s

chown -R root:wheel /Volumes/"OS X Install Image"/System/Library/Extensions/xxxxxx

chmod -R 755 /Volumes/"OS X Install Image"/System/Library/Extensions/xxxxxx

Do these commands for each extension added, with "xxxxxx" replaced by the name of the extension.

 

28. Rebuild the extensions cache for the install image. In Terminal enter:

sudo -s

kextcache -m /Volumes/"OS X Install Image"/System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /Volumes/"OS X Install Image"/System/Library/Extensions

 

29. Set permissions for any extensions you added to the OS X installation. Enter these commands in terminal:

sudo -s

chown -R root:wheel /System/Library/Extensions/xxxxxx

chmod -R 755 /System/Library/Extensions/xxxxxx

Do these commands for each extension added, with "xxxxxx" replaced by the name of the extension.

 

30. Rebuild the extensions cache for the OS X installation. In Terminal enter:

sudo -s

touch /System/Library/Extensions

In this case the kextcache command is not needed because OS X will automatically rebuild the cache of the boot volume when it sees the Extensions folder has been updated.

 

For my machine, I had to make kernel extension changes to get sound to work. I removed AppleHDA.kext, and added the 64-bit version of VoodooHDA.kext.

 

31. If you always want to boot OS X using the USB drive, you're done! When booting just select the OS X you installed on the Chameleon boot screen. After booting, the usbboot and OS X Install Image partitions can be ejected by dragging them to the trash.

 

Install Chameleon on the Hard Drive

 

These steps set up the hard drive so you don't need to boot from the USB drive.

 

WARNING: The directions that follow assume a dedicated hard drive for OS X without any other operating systems. Also, BE VERY CAREFUL if there are any hard drives in the PC with data which needs to be preserved. You should have backups, and not follow these directions unless you are sure you understand the significance of each step.

 

These directions are not for RAID installs. However, Chameleon will work with RAID. That's documented under "RAID Install" in the README file found in the Chameleon doc folder.

 

32. Run Terminal with root privileges. In Terminal enter:

sudo -s

 

33. Chameleon will be installed in the EFI partition that Disk Utility creates when there is a GUID partition table. Similarly to step 14, determine the device number for the hard drive which Chameleon will be installed on. Use "diskutil list" and find the drive number for the drive which contains the partition you installed OS X on.

 

34. The EFI partition must be changed from FAT32 to HFS+ format. Reformat the EFI partition: be CERTAIN you determined the correct device number, then enter:

diskutil eraseVolume "HFS+" "EFI" /dev/diskXs1

where X is the device number. Mount the partition. Enter:

mkdir /Volumes/EFI

mount_hfs /dev/diskXs1 /Volumes/EFI

 

35. Issue these command to install Chameleon in the MBR and the EFI partition. Replace X by the number you determined:

cd /Volumes/usbboot

fdisk -f boot0 -u /dev/rdiskX

dd if=boot1h of=/dev/rdiskXs1

ditto -V /Volumes/usbboot /Volumes/EFI

Fdisk will ask you to confirm that you want to write the MBR. Enter "y" after verifying X is correct.

 

36. As in step 16 flag the first MBR partition on the hard drive as active. Type the fdisk command and then each line as shown:

fdisk -e /dev/rdiskX (NB: Ignore any fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory error)

f 1

w

q

 

37. (Thanks to munky.) Enter this command to prevent the File System Events Daemon (fseventsd) from logging on the EFI partition, which can cause it to become unmountable:

touch /Volumes/EFI/.fseventsd/no_log

 

38. Unmount the EFI partition and delete the directory. Enter:

sync

umount -f /Volumes/EFI

rmdir /Volumes/EFI

 

39. Done! Reboot OS X, and once the system is rebooting remove the USB drive. If necessary, change the BIOS settings so the hard drive with Chameleon will boot first. Booting from the hard drive should result in the Chameleon boot menu, and you can select the partition containing OS X.

 

Set Chameleon Options

 

If desired, you can edit com.apple.Boot.plist to set various Chameleon options. The available options are listed in BootHelp.txt, which is in the Chameleon doc folder. I used the option to set the default partition in the boot menu.

 

40. In the newly-installed OS X, run Terminal and mount the EFI partition. Enter:

sudo -s

mkdir /Volumes/EFI

mount_hfs /dev/diskXs1 /Volumes/EFI

 

41. To set the default boot partition, edit com.apple.Boot.plist. Enter:

diskutil list

In the output from "diskutil list", find the identifier for the partition you want to be the default for booting. Edit /Volumes/EFI/Extra/com.apple.Boot.plist (I used vi), and add the following key/string pair:

<key>Default Partition</key

<string>hd(x,y)</string>

where x and y are the first and second digits from the partition identifier. Add it making sure not to split up an existing key/string pair. Other Chameleon options can be added in the same way.

 

42. Unmount and remove the EFI volume. Enter:

umount /Volumes/EFI

rmdir /Volumes/EFI

When you reboot, the partition you chose should be the one initially selected in the Chameleon boot menu.

 

Good luck!

Link to comment
Share on other sites

  • 3 weeks later...

This worked great on my Bad Axe 2, been waiting in vain for the BuildSmart solution so took the plunge and now have 10.6.2.

 

I used timewise's Extra directory from post 44 http://www.insanelymac.com/forum/index.php...81410&st=40 as I didn't have an SL to make extensions.mkext but other than that followed your guide verbatim. Thanks for your help!

 

btw anyone following this guide, remember to remove SleepEnabler.kext before updating to 10.6.2, you can grab a 10.6.2 specific version from Netkas.

Link to comment
Share on other sites

  • 1 month later...
Is it possible to just use the chameleon bootloader on the usb drive and then put in the retail dvd in the cd rom drive? i read about it but somehow the cd doesnt show up in the bootloader ;)

 

It doesn't work for me either. You can look for tutorials for booting the retail DVD, but it is much slower than booting from a USB drive, and doesn't offer any advantages (except that you could use a smaller USB drive.)

Link to comment
Share on other sites

First off, great tutorial and I thank you greatly for writing it.

 

However, I'm a bit stuck. Chameleon (v2.0-RC4) boots up fine off my USB drive, but I only see my Windows NTFS partitions. The OS X Install Image partition doesn't show however so I cannot start the installation.

 

Is it because my drive is MBR formatted and has Windows 7 installed? I've read that some people suggest formatting and using GPT instead. I'd like to try and avoid that, but it's an option if need be.

 

EDIT: Nevermind. Apparently it got mounted to a different name (had a 1 at the end), so the DVD files didn't copy...

Link to comment
Share on other sites

Thanks for this Guide (and another one at http://www.insanelymac.com/forum/index.php?showtopic=165676 ).

 

Unfortunately when I start up from usbboot stick (bootloader sees all drives) and hit "OS X Install Image", I got message "Can't find mach_kernel".

 

My hardware:

Bad axe 2

Q6600

8 Gb RAM

NVidia Quadro FX3500

SATA drives

DVD drive on IDE

BIOS is the last one. SATA to AHCI mode.

 

Currently this PC has WinXP and Kalyway 10.5.3 on separate disks. I made USB stick from Kalyway 10.5.3.

I repeated all steps, trying to install SL 10.6.0, as well as 10.5.6.

I didn't add Voodoo kernel (Kalyway also uses Vanilla).

 

Since this setup works on virtually the same machine for dougaa, but doesn't work for me, I think I do something wrong.

I don't have, though, a real Intel MAC w/10.5.6. I got old G5 PPC w/10.5.8.

 

I googled "Can't find mach_kernel", but couldn't resolve this problem anyway.

 

Please, any ideas, based on your experience?

Link to comment
Share on other sites

Thanks for this Guide (and another one at http://www.insanelymac.com/forum/index.php?showtopic=165676 ).

 

Unfortunately when I start up from usbboot stick (bootloader sees all drives) and hit "OS X Install Image", I got message "Can't find mach_kernel".

 

My hardware:

Bad axe 2

Q6600

8 Gb RAM

NVidia Quadro FX3500

SATA drives

DVD drive on IDE

BIOS is the last one. SATA to AHCI mode.

 

Currently this PC has WinXP and Kalyway 10.5.3 on separate disks. I made USB stick from Kalyway 10.5.3.

I repeated all steps, trying to install SL 10.6.0, as well as 10.5.6.

I didn't add Voodoo kernel (Kalyway also uses Vanilla).

 

Since this setup works on virtually the same machine for dougaa, but doesn't work for me, I think I do something wrong.

I don't have, though, a real Intel MAC w/10.5.6. I got old G5 PPC w/10.5.8.

 

I googled "Can't find mach_kernel", but couldn't resolve this problem anyway.

 

Please, any ideas, based on your experience?

 

These steps may not work if you use Kalyway instead of a retail Snow Leopard DVD, but maybe I misunderstood you. Did you follow the steps without any changes, including formatting the USB drive and using a retail DVD? It's correct that the vanilla kernel should work. When do you get the "can't find mach_kernel" message? Does that happen when you're trying to install Snow Leopard, or not until you try to boot the newly-installed system?

Link to comment
Share on other sites

post-567669-1265173828_thumb.jpg

 

post-567669-1265173842_thumb.jpg

 

Thnx for the tut. this is actually the closest i've gotten to installing SL on my Self-Built Desktop.

 

But it fails it calls a double panic.

 

I honestly dont know what kext I need. but I followed ur tut word for word

 

and at the bottom it keeps sayin BSD process name corresponding to current thread: Unknown

 

my Hardware:

 

Intel core 2 duo E7400 CPU

 

xfx 750i sli motherboard with chipset NVIDIA nForce 750i SLI SPP

 

NVIDIA GeForce 9600 GSO video card

 

 

 

Here is the full spec from CPUID-Z

 

KCRIM_PC.html

 

can any one help me with this and redirect me to the kext I need TNX

Link to comment
Share on other sites

These steps may not work if you use Kalyway instead of a retail Snow Leopard DVD, but maybe I misunderstood you. Did you follow the steps without any changes, including formatting the USB drive and using a retail DVD? It's correct that the vanilla kernel should work. When do you get the "can't find mach_kernel" message? Does that happen when you're trying to install Snow Leopard, or not until you try to boot the newly-installed system?

 

This message I got just in the start, when chameleon's 1st window appears and you should select either to install OS X, or launch your existing system. I had the same troubles with both chameleon setup, SL and Leo.

Finally, after reading forums, I have decide to install 10.5.6, because SL on Bad Axe 2 still works not flawless.

 

I've found already solution. This solution sounds pretty funny, but it 100% works, thankfully.

 

If you, starting from USB Chameleon stick and hitting option of Chameleon's menu, get a message "can't find mach_kernel", you need to restart again and when Chameleon window appears, before you hit "Install OS X", you need just select (but NOT hit) other options (using arrow key of keyboard), then you can return to "Install OS X" again, and hit it (better type -v before to launch verbose mode). Installation procedure will start perfectly.

 

After googling, I found that this is a strange, but known bag of Chameleon, only when it runs from USB stick.

 

Other important thing: disconnect all your USB/Firewire equipment, keep only keyboard/mouse. Differently Installation could be very slow and could even stack while trying to recognize everything.

 

Once again, thanks to dougaa for a very useful guide.

Additionally, I used NVInject for my Video card and AppleHDApatcher for audio.

 

Everything seems working now. But (!) I didn't test yet real applications (Final Cut Studio, first of all).

Link to comment
Share on other sites

post-567669-1265173828_thumb.jpg

 

post-567669-1265173842_thumb.jpg

 

Thnx for the tut. this is actually the closest i've gotten to installing SL on my Self-Built Desktop.

 

But it fails it calls a double panic.

 

I honestly dont know what kext I need. but I followed ur tut word for word

 

and at the bottom it keeps sayin BSD process name corresponding to current thread: Unknown

 

my Hardware:

 

Intel core 2 duo E7400 CPU

 

xfx 750i sli motherboard with chipset NVIDIA nForce 750i SLI SPP

 

NVIDIA GeForce 9600 GSO video card

 

 

 

Here is the full spec from CPUID-Z

 

KCRIM_PC.html

 

can any one help me with this and redirect me to the kext I need TNX

 

With an E7400 and Nvidia 9600, the motherboard is probably the most significant factor in getting it to work. This is not the best thread to ask about kexts you need. I'd recommend trying to find a thread for other people with your motherboard.

Link to comment
Share on other sites

  • 2 weeks later...

I've followed this twice and another very similar guide (all for the Bad Axe 2) and the system keeps hanging the interesting comments in verbose mode are:

 

 

using 64-bit bootcache playlist

 

Warning - com.apple.driver.InternalModemSupport declares no kernel dependencies; using com.apple.kernel.6.0

ACPI_SMC_PlatformPlugin::start - waitForService(resourceMatching(AppleIntelCPUPowerManagement) timed out

 

 

The ACPI_SMC line is the last line before the system hangs.

 

Any ideas are appreciated.

Link to comment
Share on other sites

I've followed this twice and another very similar guide (all for the Bad Axe 2) and I the system keeps hanging the interesting comments in verbose mode are:

 

 

using 64-bit bootcache playlist

 

Warning - com.apple.driver.InternalModemSupport declares no kernel dependencies; using com.apple.kernel.6.0

ACPI_SMC_PlatformPlugin::start - waitForService(resourceMatching(AppleIntelCPUPowerManagement) timed out

 

 

The ACPI_SMC line is the last line before the system hangs.

 

Any ideas are appreciated.

 

What kexts are you using? Did you build the kernel extension cache in snow leopard?

Link to comment
Share on other sites

What kexts are you using? Did you build the kernel extension cache in snow leopard?

 

I am using Chameleon 2.0 RC4 w/ PCEFI 10.6

 

The following kexts I got from the Chameleon 2.0 RC4 Download:

• Disabler (10.6)

• AHCIPortInjector.kext

• AHCIPortInjector.kext)

 

I am also using

• OpenHaltRestart.kext

• fakesmc.kext

 

and an edited

• IOATAFamily.kext (with AppleIntelPIIXATA removed)

 

I built the MKEXT in my MacBook Pro 3,1 running 10.6.2

Link to comment
Share on other sites

I am using Chameleon 2.0 RC4 w/ PCEFI 10.6

 

The following kexts I got from the Chameleon 2.0 RC4 Download:

• Disabler (10.6)

• AHCIPortInjector.kext

• AHCIPortInjector.kext)

 

I am also using

• OpenHaltRestart.kext

• fakesmc.kext

 

and an edited

• IOATAFamily.kext (with AppleIntelPIIXATA removed)

 

I built the MKEXT in my MacBook Pro 3,1 running 10.6.2

 

Those look good. When you built the mkext, did all the extensions have the correct permissions? Extensions won't be included if the permissions are incorrect. Here's an example of the correct permissions:

drwxr-xr-x  3 root  wheel  102 Aug  1  2009 IOATAFamily.kext

Link to comment
Share on other sites

Those look good. When you built the mkext, did all the extensions have the correct permissions? Extensions won't be included if the permissions are incorrect. Here's an example of the correct permissions:

drwxr-xr-x  3 root  wheel  102 Aug  1  2009 IOATAFamily.kext

 

I ran the command "ls -la" in the directory /Volumes/usbboot/Extra/Extensions and got the following result:

 

drwxr-xr-x@ 3 root wheel 102 Jul 25 2009 AHCIPortInjector.kext

drwxr-xr-x@ 3 root wheel 102 Aug 1 2009 Disabler.kext

drwxr-xr-x@ 3 root wheel 102 Jul 25 2009 IOAHCIBlockStorageInjector.kext

drwxr-xr-x@ 3 root wheel 102 Sep 14 17:31 IOATAFamily.kext

drwxr-xr-x@ 3 root wheel 102 Aug 28 13:10 OpenHaltRestart.kext

drwxr-xr-x@ 3 root wheel 102 Aug 20 14:33 fakesmc.kext

 

 

The only difference I see with your code is the @ symbol. I'm unsure on what that means.

 

When I run the "ls -la" command on the individual files, I get these results:

 

ls -la AHCIPortInjector.kext

total 0

drwxr-xr-x@ 3 root wheel 102 Jul 25 2009 .

drwxr-xr-x 8 root wheel 272 Feb 11 22:43 ..

drwxr-xr-x@ 3 root wheel 102 Jul 25 2009 Contents

 

ls -la Disabler.kext

total 0

drwxr-xr-x@ 3 root wheel 102 Aug 1 2009 .

drwxr-xr-x 8 root wheel 272 Feb 11 22:43 ..

drwxr-xr-x@ 4 root wheel 136 Aug 1 2009 Contents

 

ls -la IOAHCIBlockStorageInjector.kext

total 0

drwxr-xr-x@ 3 root wheel 102 Jul 25 2009 .

drwxr-xr-x 8 root wheel 272 Feb 11 22:43 ..

drwxr-xr-x@ 3 root wheel 102 Jul 25 2009 Contents

 

ls -la IOATAFamily.kext

total 0

drwxr-xr-x@ 3 root wheel 102 Sep 14 17:31 .

drwxr-xr-x 8 root wheel 272 Feb 11 22:43 ..

drwxr-xr-x@ 5 root wheel 170 Feb 11 18:24 Contents

 

ls -la OpenHaltRestart.kext

total 0

drwxr-xr-x@ 3 root wheel 102 Aug 28 13:10 .

drwxr-xr-x 8 root wheel 272 Feb 11 22:43 ..

drwxr-xr-x@ 5 root wheel 170 Feb 11 19:20 Contents

 

ls -la fakesmc.kext

total 0

drwxr-xr-x@ 3 root wheel 102 Aug 20 14:33 .

drwxr-xr-x 8 root wheel 272 Feb 11 22:43 ..

drwxr-xr-x@ 5 root wheel 170 Aug 20 13:28 Contents

 

 

Thank you for taking the time to look at my problems. I appreciate it greatly.

 

Mike

Link to comment
Share on other sites

I ran the command "ls -la" in the directory /Volumes/usbboot/Extra/Extensions and got the following result:

 

drwxr-xr-x@ 3 root wheel 102 Jul 25 2009 AHCIPortInjector.kext

drwxr-xr-x@ 3 root wheel 102 Aug 1 2009 Disabler.kext

drwxr-xr-x@ 3 root wheel 102 Jul 25 2009 IOAHCIBlockStorageInjector.kext

drwxr-xr-x@ 3 root wheel 102 Sep 14 17:31 IOATAFamily.kext

drwxr-xr-x@ 3 root wheel 102 Aug 28 13:10 OpenHaltRestart.kext

drwxr-xr-x@ 3 root wheel 102 Aug 20 14:33 fakesmc.kext

 

 

The only difference I see with your code is the @ symbol. I'm unsure on what that means.

 

When I run the "ls -la" command on the individual files, I get these results:

 

ls -la AHCIPortInjector.kext

total 0

drwxr-xr-x@ 3 root wheel 102 Jul 25 2009 .

drwxr-xr-x 8 root wheel 272 Feb 11 22:43 ..

drwxr-xr-x@ 3 root wheel 102 Jul 25 2009 Contents

 

ls -la Disabler.kext

total 0

drwxr-xr-x@ 3 root wheel 102 Aug 1 2009 .

drwxr-xr-x 8 root wheel 272 Feb 11 22:43 ..

drwxr-xr-x@ 4 root wheel 136 Aug 1 2009 Contents

 

ls -la IOAHCIBlockStorageInjector.kext

total 0

drwxr-xr-x@ 3 root wheel 102 Jul 25 2009 .

drwxr-xr-x 8 root wheel 272 Feb 11 22:43 ..

drwxr-xr-x@ 3 root wheel 102 Jul 25 2009 Contents

 

ls -la IOATAFamily.kext

total 0

drwxr-xr-x@ 3 root wheel 102 Sep 14 17:31 .

drwxr-xr-x 8 root wheel 272 Feb 11 22:43 ..

drwxr-xr-x@ 5 root wheel 170 Feb 11 18:24 Contents

 

ls -la OpenHaltRestart.kext

total 0

drwxr-xr-x@ 3 root wheel 102 Aug 28 13:10 .

drwxr-xr-x 8 root wheel 272 Feb 11 22:43 ..

drwxr-xr-x@ 5 root wheel 170 Feb 11 19:20 Contents

 

ls -la fakesmc.kext

total 0

drwxr-xr-x@ 3 root wheel 102 Aug 20 14:33 .

drwxr-xr-x 8 root wheel 272 Feb 11 22:43 ..

drwxr-xr-x@ 5 root wheel 170 Aug 20 13:28 Contents

 

 

Thank you for taking the time to look at my problems. I appreciate it greatly.

 

Mike

 

The permissions look good too. I'll send you a message with a URL you can use to get a copy of my Chameleon partition, so you can try what I'm using.

Link to comment
Share on other sites

The permissions look good too. I'll send you a message with a URL you can use to get a copy of my Chameleon partition, so you can try what I'm using.

 

Thanks for the files. Unfortunately, my system still hangs. :P

 

I keep seeing messages about 64 bit mode. Isn't it supposed to boot into 32 bit mode via the kernel flag (i've tried manually booting with -32, -x32, and -legacy)?

 

Two particular line of note about the 64-bit mode are:

using 64-bit bootcache playlist

BootCacheControl: could not unlink playlist /var/db/BootCache.playlist: Read-only file system

 

Also, I noticed your IOATAFamily.kext has an AppleIntelPIIXATA.kext in the Plugins folder.

 

Should this line be concerning? Do you know if this is what the Disabler.kext is supposed to prevent?

ACPI_SMC_PlatformPlugin::start - waitForService(resourceMatching(AppleIntelCPUPowerManagement) timed out

 

Another thing is that my SATA mode in the bios is set to ACHI, which I read from another guide. Should this be the way the drives are set?

Link to comment
Share on other sites

Thanks for the files. Unfortunately, my system still hangs. :wacko:

 

I keep seeing messages about 64 bit mode. Isn't it supposed to boot into 32 bit mode via the kernel flag (i've tried manually booting with -32, -x32, and -legacy)?

 

Two particular line of note about the 64-bit mode are:

using 64-bit bootcache playlist

BootCacheControl: could not unlink playlist /var/db/BootCache.playlist: Read-only file system

 

Also, I noticed your IOATAFamily.kext has an AppleIntelPIIXATA.kext in the Plugins folder.

 

Should this line be concerning? Do you know if this is what the Disabler.kext is supposed to prevent?

ACPI_SMC_PlatformPlugin::start - waitForService(resourceMatching(AppleIntelCPUPowerManagement) timed out

 

Another thing is that my SATA mode in the bios is set to ACHI, which I read from another guide. Should this be the way the drives are set?

 

My com.apple.Boot.plist has

	<key>Kernel Flags</key>
<string>-x32</string>

which forces booting in 32-bit mode. But when Snow Leopard boots in 32-bit mode it still runs applications in 64-bit mode when possible. So it's not necessarily a problem to see references to 64 bits.

 

I don't remember the details of how I got that version of IOATAFamily.kext, but it definitely works. Also, I'm not sure whether the timed out message indicates a problem. I also have SATA mode set to AHCI.

 

You never mentioned which processor you're using. With a Bad Axe 2 it's unlikely, but I'm wondering if your processor won't work with the default kernel. That's the only other thing I can think of.

Link to comment
Share on other sites

My com.apple.Boot.plist has

	<key>Kernel Flags</key>
<string>-x32</string>

which forces booting in 32-bit mode. But when Snow Leopard boots in 32-bit mode it still runs applications in 64-bit mode when possible. So it's not necessarily a problem to see references to 64 bits.

 

I don't remember the details of how I got that version of IOATAFamily.kext, but it definitely works. Also, I'm not sure whether the timed out message indicates a problem. I also have SATA mode set to AHCI.

 

You never mentioned which processor you're using. With a Bad Axe 2 it's unlikely, but I'm wondering if your processor won't work with the default kernel. That's the only other thing I can think of.

 

My processor is an Intel Core2Duo E6700 2.67 GHz. I've never had any issues with any installs before this one (deadmoo through 10.5.8).

 

I'm going to keep plugging away with the files you sent me. Hopefully I'll be able to uncover the culprit and report back what it is.

 

My final question is should the dsdt file be on both partitions or just one? You have it in your dmg, but in your guide, it seems to imply that it should be placed on the Install Image ("For my machine I add dsdt.aml to the OS X root directory"). Or does this not matter if it's in both?

 

Thanks again for all your input. Hopefully I can report back success in a few days.

Link to comment
Share on other sites

My processor is an Intel Core2Duo E6700 2.67 GHz. I've never had any issues with any installs before this one (deadmoo through 10.5.8).

 

I'm going to keep plugging away with the files you sent me. Hopefully I'll be able to uncover the culprit and report back what it is.

 

My final question is should the dsdt file be on both partitions or just one? You have it in your dmg, but in your guide, it seems to imply that it should be placed on the Install Image ("For my machine I add dsdt.aml to the OS X root directory"). Or does this not matter if it's in both?

 

Thanks again for all your input. Hopefully I can report back success in a few days.

 

dstd.aml needs to be copied to the root of the installed OS X system. It doesn't matter if it's at the root of the dmg. I have it on the dmg just for my convenience for copying it. Good luck getting your installation to work!

Link to comment
Share on other sites

  • 2 weeks later...

I figured out that it was my EFI strings from 10.5.8 that I was inserting into your com.apple.Boot.plist for graphics and sound that was messing with me. I tried the strings seperately (once with graphics only, once with audio only) with the same outcome. Only when I have no EFI Strings does the system boot up.

 

By the way, the line:

ACPI_SMC_PlatformPlugin::start - waitForService(resourceMatching(AppleIntelCPUPowerManagement) timed out

is the last line in verbose before the screen turns blue and becomes a GUI.

 

Were you able to use your same EFI Strings when upgrading from 10.5.8 to 10.6 ?

Link to comment
Share on other sites

  • 3 weeks later...
If your machine requires kernel extension changes not handled by Chameleon, make then now. Besides making changes to the boot volume, you may also want to make the same changes to "OS X Install Image" for when you boot from the USB drive. The kernel extensions are in /System/Library/Extensions. If you have no kernel extension changes, skip to step 31.

 

Great info!! I have some dumb questions, that would really clarify a lot for me, so if you can answer I'd really appriciate it!!

 

1. What is an example of a kernel extension changes that would not be handled by chameleon? Are you just refering to a specific kext for like a 3rd party network card that I wouldn't want to put in the extra folder or something similiar?

 

2. Anytime I add a kext to a /Extra/Extension folder do I need to rebuild the extensions cache and permissions?

 

3. is there anyway to use programs like the Kext Util automatically put kexts in the Extra/Extension folder rather than the System/Library/Extensions and rebuild, or should/can this program only be used on Kexts not handled by chameleon?

 

4. is there a need for setting the ram speed in the smbios.plist besides for profiler to display correctly?

 

5. Once all items are correctly patched and OS 10.6 is installed using this method, what is the best method to Update to 10.6.2/3 (Software update, or other option).

 

 

I know a lot of my questions are dumb, but I'm a life long PC guy, and have 2 days worth of experiance with macs. I successfully have a working 10.6 sl on my dell inspiron 1520 laptop, but I used a prepatched version that I want to scrap and do the right way (I didn't use any /Extra directory, but rather did direct patches... Yeah I know a big no no, but considering my 2 days of mac experiance and a intense crash course on both linux/osx terminal, I'm kind of proud of myself so far ;) Again any help would be greatly appriciated, and I am aware that my questions might be very obvious, but to me they're causing some headaches.

 

 

 

Thanks again!

Link to comment
Share on other sites

I figured out that it was my EFI strings from 10.5.8 that I was inserting into your com.apple.Boot.plist for graphics and sound that was messing with me. I tried the strings seperately (once with graphics only, once with audio only) with the same outcome. Only when I have no EFI Strings does the system boot up.

 

By the way, the line:

ACPI_SMC_PlatformPlugin::start - waitForService(resourceMatching(AppleIntelCPUPowerManagement) timed out

is the last line in verbose before the screen turns blue and becomes a GUI.

 

Were you able to use your same EFI Strings when upgrading from 10.5.8 to 10.6 ?

 

I didn't test to see if the same EFI string would work with Snow Leopard, so I can't really help you. While working on the Snow Leopard install I found a better string for my graphics card, so I used that instead of the old one. Also, I don't use EFI for sound.

 

Great info!! I have some dumb questions, that would really clarify a lot for me, so if you can answer I'd really appriciate it!!

 

1. What is an example of a kernel extension changes that would not be handled by chameleon? Are you just refering to a specific kext for like a 3rd party network card that I wouldn't want to put in the extra folder or something similiar?

I've found that some kexts are ignored when I put them in the Extra folder, but work when I install them in the system. The kext I need for my sound chip is like that.

 

2. Anytime I add a kext to a /Extra/Extension folder do I need to rebuild the extensions cache and permissions?

Yes, you need to do that in order for them to work. If you add an extension and don't rebuild the cache it won't get loaded.

 

3. is there anyway to use programs like the Kext Util automatically put kexts in the Extra/Extension folder rather than the System/Library/Extensions and rebuild, or should/can this program only be used on Kexts not handled by chameleon?

I've never looked into that, but it's likely there are programs that will do that automatically for you.

 

4. is there a need for setting the ram speed in the smbios.plist besides for profiler to display correctly?

No, I don't think so. The BIOS determines the RAM speed and adjusts the hardware to it.

 

5. Once all items are correctly patched and OS 10.6 is installed using this method, what is the best method to Update to 10.6.2/3 (Software update, or other option).

If all your extensions are in the Extra folder, upgrades should work like on a real Mac, without any special precautions. That was true for me with 10.6.2. If all the extensions needed for booting are in the Extra folder but some others are not, you can still do the upgrade normally. But after the upgrade you may need to re-install the other extensions.

Link to comment
Share on other sites

 Share

×
×
  • Create New...