PDA

View Full Version : Best way to dual boot Leo & Snow Leo with Chameleon RC3?


thorazine74
09-10-2009, 12:20 PM
I'm testing Snow Leo like mostly everybody else here. I'm currently booting SL from a USB stick, but I would prefer to just use the same chameleon loader I'm using for Leopard, how do you think is the best way to achieve this?
I understand Chameleon RC3 has support for loading a different set of extensions for 10.5 and 10.6 automatically but I tested this and never worked for me, probably because I did it wrong, most likely because that feature (like many of the great chameleon's features) is not documented or explained anywhere.
Did anyone manage to do that succesfully?
Alternatively I could always resort to putting 10.5 extensions in Chameleon's extra and 10.6 extensions in SnowLeo's S/L/E, but how do I go about chameleon's boot.plist? Can Chameleon RC3 read a different boot.plist apart from the one in extra?

My setup for now is like this:

Disk1 (MBR):
BootIt (FAT32)
Vista(NTFS)
Leopard+Chameleon(HFS)
Data(NTFS)
Fedora 11(EXT)

Disk2 (GPT)
TimeMachine+Data (HFS)
SnowLeo (HFS)

mormegil
09-10-2009, 02:12 PM
I don't really see the point in those 10.5/10.6 folders. You can just put your kexts in /E/E folder on each partition. You need to have multiple Extra folders anyway to put your Boot.plist, smbios.plist etc.

Then just have this in your boot plists: rd=diskXsY boot-uuid=XXX

DocShadow
09-10-2009, 05:36 PM
Agree with moremegil ... keep it simple.

I had Leo and SL on different drives. Each drive had the /Extra folder which contained the boot and smbios plists for that install.

I originally had Chame loaded on the Leo drive. At the Chame sceen, I would press a key and select the install (Leo or SL) that I wanted to bootup.

thorazine74
09-11-2009, 08:19 AM
I thought the \Extra folder is always read from the \boot partition. So can I have something like this:

Leopard partition:
\boot
\Extra\boot.plist for 10.5
\Extra\Extensions for 10.5

SnowLeo partition:
\Extra\boot.plist for 10.6
\Extra\Extensions for 10.6

mormegil
09-11-2009, 08:43 AM
Yep.. and don't forget to put the boot flags in your SL boot.plist or else your kexts will be loaded from Leo's /E/E folder instead.

rd=diskXsY in your Leo's boot.plist is optional since it's the boot partition and kexts will be loaded from there by default.

thorazine74
09-11-2009, 12:08 PM
Well it didnt work so I guess I did something wrong, kexts got loaded from both partitions...

This is my disk layout:
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *232.9 Gi disk0
1: EFI 200.0 Mi disk0s1
2: Apple_HFS Data HFS+ 232g 211.6 Gi disk0s2
3: Apple_HFS Snow Leopard 20.9 Gi disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *931.5 Gi disk1
1: Windows_FAT_32 BOOT_FAT32 8.0 Gi disk1s1
2: Apple_HFS Leopard HFS+ 100g 100.0 Gi disk1s2
3: Windows_NTFS Vista NTFS 100g 100.0 Gi disk1s3
4: Windows_NTFS Data NTFS 650g 650.0 Gi disk1s5
5: Linux F11 EXT3 74g 73.5 Gi disk1s6
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *232.9 Gi disk2
1: Windows_NTFS External NTFS 232g 232.9 Gi disk2s1


Chameleon's RC3 boot is in disk1s2.
I put this in disk0s3\Extra\com.apple.Boot.plist
<string>arch=i386 rd=disk0s3 boot-uuid=A39F7118-2705-3C16-9B74-77D5FDF72EFD "Graphics Mode"="1680x1050x32"</string>
disk1s2 Boot.plist is just:
<string>"Graphics Mode"="1680x1050x32"</string>

disk0s3 is Snow, boot-uuid refers to Snow partition.
When booting from disk1s2 (Leo) choosing Snow in Chameleon's menu, Chameleon reads kexts from both Leo & SnowLeo Extra folders, and completely ignores Boot.plist from SnowLeo (i.e. boots in 64 bits).
What do I do wrong?
I dont understand what rd= and boot-uuid= refers to, is it the same or different things?

thorazine74
09-11-2009, 12:08 PM
Well it didnt work so I guess I did something wrong, kexts got loaded from both partitions...

This is my disk layout:
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *232.9 Gi disk0
1: EFI 200.0 Mi disk0s1
2: Apple_HFS Data HFS+ 232g 211.6 Gi disk0s2
3: Apple_HFS Snow Leopard 20.9 Gi disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *931.5 Gi disk1
1: Windows_FAT_32 BOOT_FAT32 8.0 Gi disk1s1
2: Apple_HFS Leopard HFS+ 100g 100.0 Gi disk1s2
3: Windows_NTFS Vista NTFS 100g 100.0 Gi disk1s3
4: Windows_NTFS Data NTFS 650g 650.0 Gi disk1s5
5: Linux F11 EXT3 74g 73.5 Gi disk1s6
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *232.9 Gi disk2
1: Windows_NTFS External NTFS 232g 232.9 Gi disk2s1


Chameleon's RC3 boot is in disk1s2.
I put this in disk0s3\Extra\com.apple.Boot.plist
<string>arch=i386 rd=disk0s3 boot-uuid=A39F7118-2705-3C16-9B74-77D5FDF72EFD "Graphics Mode"="1680x1050x32"</string>
disk1s2 Boot.plist is just:
<string>"Graphics Mode"="1680x1050x32"</string>

disk0s3 is Snow, boot-uuid refers to Snow partition.
When booting from disk1s2 (Leo) choosing Snow in Chameleon's menu, Chameleon reads kexts from both Leo & SnowLeo Extra folders, and completely ignores Boot.plist from SnowLeo (i.e. boots in 64 bits).
What do I do wrong?
I dont understand what rd= and boot-uuid= refers to, is it the same or different things?

mormegil
09-11-2009, 01:46 PM
Think there's a bug in RC3 where boot.plist in /L/P/S takes precedence over /Extra. Try copying your plists there

DocShadow
09-11-2009, 06:59 PM
Think there's a bug in RC3 where boot.plist in /L/P/S takes precedence over /Extra. Try copying your plists there

Hmmmm..... did not know that. :eek:

I have a boot.plist in /Extra on both my Leo and SL. The boot.plist on each drive contains the boot-uuid= the UUID for either the Leo or the SL drive.

My SL drive is my main boot drive, although I have Cham on both drives, and when Cham boots up it goes into SL by default or to the Leo if I choose.

About to delete Leo .... see no need for it now that SL's been stable for a while and I have a SL backup.

thorazine74
09-16-2009, 09:52 AM
I'll try that when I get a chance, but without being able to load a different set of kexts for Leo & SnowLeo we still have to put SnowLeo kexts on /S/L/E instead of on /E/E, not the best cleanest solution...

thorazine74
09-17-2009, 12:15 PM
In case anyone's interested I managed to get a dual boot working with this layout:

/boot
/Extra/com.apple.Boot.plist
/Extra/smbios.plist
/Extra/DSDT.aml
/Extra/Extensions/*.kext ---> These ones loaded only for Leopard
/Extra/10.6/Extensions/*.kext ---> These ones loaded only for Snow Leopard

Thats the partition with Leopard installed, no /Extra in SnowLeo partition.
Currently there is no way I know of to have a different com.apple.Boot.plist for Leopart and Snow Leopard with Chameleon (in Extra).
Now I have to find out why VoodooPS2 stopped working in Leopard, but thats another story...

sk1nhd33t
09-17-2009, 07:42 PM
maybe this could help too.

this is how my backup OS layout looks like on RC3. though it works, my main OS (disk0) is still on RC1+EFI10.1 because of the multiple sound assertion im getting on RC3.

installed on a hidden EFI partiton w/ no Extra folder on both OS/partition.

http://i30.tinypic.com/315gx9y.png

disk0 is my main OS, disk1 is the pictured above.

/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *640.1 GB disk0
1: EFI 209.7 MB disk0s1
2: Apple_HFS SnowLeopard 619.7 GB disk0s2
3: Apple_HFS Backup|OS 20.0 GB disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk1
1: EFI 209.7 MB disk1s1
2: Apple_HFS PowerHack 984.7 GB disk1s2
3: Apple_HFS Leo|Backup 15.0 GB disk1s3

thorazine74
09-18-2009, 09:06 AM
Thanks, I think I understand how it works now.
The published 10.5/10.6 folders work as advertised if you are booting from EFI System Partition (or probably in a separate boot partition, if you have Chameleon installed in the OS partition, the 10.5 or 10.6 folder doesnt work.

mitchde
09-18-2009, 12:08 PM
Can someone explain that rdisk= with boot-uuid= for an dual boot LEO / SNOW

for example:
disk0s1 is Leo , active (standard boot disk), uuid= AAAAA
disk0s2 is Snow Leo, not active (F8>Snow), uuid= BBBBB

What i cant understand is why both are needed, or is rdisk= more urgent for that dual boot problem ?
If from LEO partition is bootet (LEO is active) , does Chameleon loads all of that stuff(/EXTRA) BEFORE i set by F8 booting Snow Leo from other disk ?!

Thanks
I made that dual boot by having noting special (snow leo/leo) in the /EXTRA/Extensions , also no .mkext. All special kext (Leo vs SL) i put the their own System/Extensions

mormegil
09-18-2009, 01:10 PM
I didn't have to use rdisk flag when I was using netkas's 10.1. Just needed boot-uuid that's all.

After RC3, it didn't work. Kexts were only being loaded from active partition. I guess it's due to MBR/GPT difference (I'm using MBR).

mitchde
09-19-2009, 06:37 AM
"Kexts were only being loaded from active partition."
Thats excat what i am thinking.
Can here the rdisk= help ?

Also i get confused by an other .plist entry i seen(never used):
<key>Default Partition</key>
<string>hd(0,2)</string>
Is that the partition which CH will boot from, even if its NOT active ?
What is the depency of Default Partition= and rdisk= ?
I believe, if Cham RC2/3 has not an bug in bootpart, the luck maybe in the correct usage of that two :
rdisk= and Default Partition=

How to use it for that example:
disk0s1 is Leo , active (active boot disk), uuid= AAAAA
disk0s2 is Snow Leo, not active (F8>Snow), uuid= BBBBB
Thanks!

EDIT: I posted this question also on the Chameleon RC3 homepage postings (looking for CH heros ;) )

mormegil
09-19-2009, 09:00 AM
Yeah. rd=diskXsY flag is for those with mbr scheme I think. No such thing as active partition in GPT, am I right?

"Default Partition" is just that: the default partition Chameleon will be set to boot. If it's not set, default will be the active partition. If youre on GPT scheme, the partition Chameleon is installed to will be default? So yes, in your case if you want Snow to boot by default you will need it.

So, boot-uuid flag is for GPT, rd=diskXsY is for MBR I think. Thats only for RC3 anyway. I still use both though.. no harm done.

mitchde
09-19-2009, 02:11 PM
Thanks.
But for what is that 10.5 and 10.6 subfolders in /EXTRA ?
I (will) not use that, becaue Chameleon should use that /EXTRA from active partition (Chameleon boot device menue not used) OR use , after selecting other boot device in Chameleon boot menue , that /EXTRA i selected in the boot menue .

So 10.5 / 10.6 subfolders may an SIGN, that Chameleon cant/does not reload /EXTRA stuff when selecting an different device for booting in the Chameleon main menue.
So maybe wrong /EXTRA content is used - that content from the active partition.

mormegil
09-19-2009, 05:14 PM
Thanks, I think I understand how it works now.
The published 10.5/10.6 folders work as advertised if you are booting from EFI System Partition (or probably in a separate boot partition, if you have Chameleon installed in the OS partition, the 10.5 or 10.6 folder doesnt work.

Think it's this. For those booting off EFI partition or usb drive. Makes for more of a vanilla setup without Extra folder in root. Not really essential to use though.

mitchde
09-20-2009, 11:00 PM
Netkas has released his PC EFI 10.3 (Chameleon RC3 + some features Minus some bugs)
http://netkas.org/?p=224#comments
I will use that (i used 10.1 with success).

thorazine74
09-21-2009, 11:29 AM
I assumed rd=disk1s2 and boot-uuid=xxx referes to the same thing, the partition being booted, but rd is not absolute (will change if you shuffle disks or remove partitions) and boot-uuid is absolute (will never change unless you reformat the partition).
I think the problem in chameleon is that is adapted to booting from EFI and does not take into account other situations like booting from MBR.
The docs says: "The boot: prompt waits for you to type advanced startup options. If you don't type anything, the computer continues starting up normally. It
uses the kernel and configuration files on the startup device, which it also uses as the root device."
Using linux terms as an analogy:
startup device - boot partition - /boot/grub - /Extra/Extensions
root device - system partition - /(root) - /System/Library/*
If you have chameleon installed to EFI System Partition, system partition is always different, but in a typical MBR installation chameleon's boot and root partition are the same, but if you have snow leo and leopard, depending what you select to boot they could be the same and different.

monsieur.d
09-22-2009, 09:24 AM
Thanks for this thread.

I got a working Leo + Snow Leo working.

After I installed Netkas' EFI 10.3, it seems that it is loading the extensions from /Extra/Extensions ONLY from the booted partition, making it easier to dual boot.

That is, on the Leopard partition I have a /Extra/Extensions with Leopard's extensions. On the Snow Leopard partition, there is a different /Extra/Extensions with Snow Leopard's extensions.

If someone is having trouble with Chameleon 2 RC3, try using EFI 10.3 "/boot" file.

mitchde
09-22-2009, 11:57 AM
I also prefer PC EFI 10.x (but its chameleon based, so you will miss nothing, only bugfixed + add features (ATI video rom support added).

lotus260
09-30-2009, 07:54 AM
Can't Netkas pass modifications back to Chameleon?
In this way an unified source tree can be maintained (by them).

PS: I have the same problem with dual boot. I will try "monsieur.d"s way once I go home. and update this.

Update: 2009-10-04
Yes it worked.
Chameleon with Leopard partition
Snow booting with Snow/Extra/Extensions

thorazine74
10-01-2009, 09:10 AM
I tried netkas pcefi 10.3 as suggested by monsieur.d and it worked, it only loads the extensions from the chosen partition.
Now only problem is DSDT and smbios.plist, those files are still always loaded from the boot partition anyway. No big deal with smbios, but my mobo needs a DSDT file for Leo and none for Snow...

monsieur.d
10-01-2009, 09:34 AM
Hi Thorazine,

Have you tried deleting DSDT from /Extra and putting the 2 different versions in the root of each partition (SL, Leo)?

Good luck with that.

I have finally found a stable way to dual-boot Leo and SL and am very happy with my HackPro now.