PDA

View Full Version : Help: Installed Retail SL On External USB Hard Drive Using MBP: Can Haz Chameleon?


uman
03-04-2010, 02:24 AM
Hi,

I haven't really asked for help before, but have done my best to help others, primarily in the DSDT forum. But now I need some help. (I'm not a noob-- I'm a programmer with lots of UNIX shell experience, so if the help requires commands, no fear). Questions in red, below, thanks in advance.

I'm tying to install a retail DVD of SL that I just bought. When I installed Leopard before it was really just to try it out, as I developed a rare nickel allergy to my MacBook Pro and I gave it off to my son. So I just used iPC, and stuck at 10.5.6, while 10.5.7 & 10.5.8, came & went. Retail seems to hold the promise of easier updating, and I want to do it with a hidden EFI partition.

But I haven't done a retail install before, and the scene changes fast! I followed prasys's guide here (http://prasys.co.cc/2009/08/installing-snow-leopard-for-osx86/) and tried the 1st three methods: (1) manual USB install, (2) simplified USB install, (3) run installer from leopard. All failed at different steps. I tried several fixes, and got impatient.

So I took my destination hard drive (a WD WD6400BEVT 640GB in a USB case), and connected it to the Leopard-based MacBook Pro. I formatted and partitioned the WD using GPT. I then installed SL on that external WD using the MBP.

I'd now like to "convert" the WD to use in my hackbook, a Gateway MX8738, that I upgraded with a Core 2 Duo T5200 off ebay. My goal is to get SL installed on the WD, then use the Migration Assistant to get my data off my currently installed drive. Once done, I'll swap the drives and use the old one as a backup.

Is it??? as simple as :

1. Connect the WD to my hackbook, and install Chameleon (RC4??) on it into the EFI partition.
2. Populate /Volumes/EFI/Extras with necessary kexts (I know I will need ApplePS2Controller or VoodooPS2Controller, VoodooHDA, fakeSMC, PlatformUUID, etc)
3. I'd like to keep /S/L/E straight retail, but I know I need a modified IOATAFamily.kext (presumably just the plugin AppleIntelPIIXATA.kext) because I believe the DVD drive uses PATA. Can the modified one go into /EFI/Extra and it will get loaded first?
4. Rebuild any .mkext caches
5. Pop my DSDT.aml in /EFI/Extra??? Where does Chameleon want it?

Is that sufficient?

Specs: Gateway laptop MX8738, Core 2 Duo T5200, GMA950, ICH7, keyboard/trackpad requiring PS/2, Sigmatel 9250, Intel Pro/100 VE, wireless: AR242x that Airport picks up automatically.

kizwan
03-04-2010, 01:46 PM
............................
Is it??? as simple as :

1. Connect the WD to my hackbook, and install Chameleon (RC4??) on it into the EFI partition.
Correct. Install Chameleon 2 RC4 from leopard. From leopard, the WD disk will be your secondary HDD, so your target disk (WD) will be /dev/disk1 (you can double-check it with diskutil command). This is how you install Chameleon2 RC4 to EFI partition (command-line):-
- location of boot0, boot1h & boot files is in Chameleon-2.0-RC4-r684-bin/i386
1) Install boot0
sudo fdisk -f boot0 -u -y /dev/rdisk1
2) install boot1h to EFI partition bootsector
sudo dd if=boot1h of=/dev/rdisk1s1
3) copy "boot" file to root directory in EFI partition
sudo mkdir /Volumes/EFI
sudo mount_hfs /dev/disk1s1 /Volumes/EFI
sudo cp boot /Volumes/EFI/
4) prevents the File System Events Daemon (fseventsd) from logging on this volume, which can cause the EFI partition to become unmountable.
sudo mkdir /Volumes/EFI/.fseventsd
sudo touch /Volumes/EFI/.fseventsd/no_log
5) preparing directory tree
sudo mkdir -p /Volumes/EFI/Extra/10.6/Extensions

OR you can skip part1, 2 & 5 if you use Chameleon 2 RC2 package installer (I recommend this way). If you use the RC2 installer, you will just need to do part3 & 4 to update to Chameleon 2 RC2 to RC4.

If you can't boot SL with RC4, use boot from PC EFI v10.6 instead. This actually pre-patched RC3 by netkas.
2. Populate /Volumes/EFI/Extras with necessary kexts (I know I will need ApplePS2Controller or VoodooPS2Controller, VoodooHDA, fakeSMC, PlatformUUID, etc)
Correct. The location of the kexts can be like this:-
/Volumes/EFI/Extra/Extensions/
or
/Volumes/EFI/Extra/10.6/Extensions/
3. I'd like to keep /S/L/E straight retail, but I know I need a modified IOATAFamily.kext (presumably just the plugin AppleIntelPIIXATA.kext) because I believe the DVD drive uses PATA. Can the modified one go into /EFI/Extra and it will get loaded first?
Should works in Extra folder.
4. Rebuild any .mkext caches
Correct. If you can't (re)build the mkext file, move Extensions folder to /tmp folder & (re)build mkext there, then move both Extensions folder & Extensions.mkext file back to /Volumes/EFI/Extra/or/Volumes/EFI/Extra/10.6/ folder. You can create script file to simplify the process. Ownership should be root:wheel.
5. Pop my DSDT.aml in /EFI/Extra??? Where does Chameleon want it?
Correct. dsdt.aml is in/Volumes/EFI/Extra/ folder.
Is that sufficient?
Should be sufficient to boot SL.

uman
03-04-2010, 02:00 PM
Thanks! I'll give this a try today. One last question:

Does it make sense to update the WD drive to 10.6.2 on the MBP first, and then do the Chameleon hackbook mods?

kizwan
03-04-2010, 02:44 PM
Thanks! I'll give this a try today. One last question:

Does it make sense to update the WD drive to 10.6.2 on the MBP first, and then do the Chameleon hackbook mods?
It does make sense. You can update to 10.6.2 on MBP if you want to.

kizwan

uman
03-05-2010, 03:54 PM
I'm getting a boot0: error (but without the usual GPT message, then the testing one).

Summary:
I installed 10.6 from a retail DVD on a new drive (a WD WD6400BEVT 640GB in a USB case) connected up to a MacBook Pro running Leopard. I successfully booted from it into SL from the MBP. I then updated the installation to 10.6.2. Now I want to install that drive into my hackbook, and replace the existing Leopard (iPC 10.5.6) installed HD.

I connected the new WD drive via USB to my hackbook (it's rdisk1). I then followed the Chameleon EFI manual install. I used as my baseline, Conti's patch of Chameleon RC4 (Chameleon_v2.0-RC4_AsereBLN_myHack_v1.0-r111).

So yes, I did the mount_hfs of the EFI partition, installed boot0 with fdisk, installed boot1h to the bootsector of the EFI partition, copied boot to /Volumes/EFI, touched /Volumes/EFI/.fseventsd/no_log, made sure the EFI partition is flagged as active with fdisk, made sure that ignore permissions on both the SL partition and EFI partition are unchecked. I then installed my kexts, DSDT, plists, and made my Extensions.mkext. I then finished with the usual chmod -R 755, and chown -R root:wheel.

When I reboot, it's clearly booting from the USB, and I get the boot0 error. I can't think of what I've missed, except:

1. Does Chameleon RC4 get confused if there are other disks with a Chameleon bootloader present? (My main Leopard on the internal hard disk (iPC 10.5.6 uses Chameleon).

Could use some help here. Thanks!!

kizwan
03-05-2010, 04:39 PM
I'm getting a boot0: error (but without the usual GPT message, then the testing one).

Summary:
......................................
So yes, I did the mount_hfs of the EFI partition, installed boot0 with fdisk, installed boot1h to the bootsector of the EFI partition, copied boot to /Volumes/EFI, touched /Volumes/EFI/.fseventsd/no_log, made sure the EFI partition is flagged as active with fdisk, made sure that ignore permissions on both the SL partition and EFI partition are unchecked. I then installed my kexts, DSDT, plists, and made my Extensions.mkext. I then finished with the usual chmod -R 755, and chown -R root:wheel.

When I reboot, it's clearly booting from the USB, and I get the boot0 error. I can't think of what I've missed, except:
....................
Can you explain/show how you set EFI partition active? I think I know what caused the problem. Usually when you run below command,
1) Install boot0
sudo fdisk -f boot0 -u -y /dev/rdisk1
the EFI partition should already set to active.

From your story, it seems you run "fdisk" twice; 1) installing boot0 2) set active. The problem occurs when you "trying" to set EFI partition active for the second time (accidentally overwrite boot0 you installed before). This was the cause for "boot0" error. Mac OS X version of fdisk kinda different than linux version.

kizwan

uman
03-05-2010, 04:56 PM
Great, catch! Thanks again. I'm so used to linux.

I did indeed use fdisk twice, first with sudo fdisk -f boot0 -u -y /dev/rdisk1, then with fdisk -e /dev/rdisk1, followed by > f 1.

I'll try re-doing the sudo fdisk -f boot0 -u -y /dev/rdisk1.

uman
03-05-2010, 11:17 PM
Just an update. Thanks to kizwan, I have SL up and running. Migrating my data now. He was right that the problem was the fdisk being done twice.

I had to fdisk, and rerun dd to put boot0 back. After an initial weirdness where I got a KP, it's been booting just fine.

kizwan
03-06-2010, 03:08 PM
Great to hear your installation is successful. ;)

kizwan