Tuesday, May 15, 2007

How to make a triple-boot service drive

I found this post via a link from the Micromat forum. I'll have to give this a whirl with my "extra" 120 GB drive.
I work at a school in the morning, supporting about 200 computers, mostly mac. The coming of the intel means more work for me, because now I have to be able to support the intel platform in addition to the powerpc platform.

During the summer we create "base images" - default hard drive images that we can quickly deploy ("image") to workstations that are having problems. The users have their homes on the network so we can blow away their hard drive without too much disruption. (aside from installing scanner and special printer drivers anyway)

I can normally image any machine with a firewire port. (we are desperately trying to phase out the tray load imacs!) I can image TO any computer I need to via firewire, but this requires another machine such as my laptop or another mac. I can image from any machine to any machine but the requirement of another free machine is inconvenient.

I have been using a little 80gb 2.5" firewire drive for imaging so far. This drive not only has the base images on it, but it is a bootable 10.4 OS as well. So I can boot the machine to be imaged off my service drive, and image it, all with only the handheld drive and a firewire cable. (isight cables fit nicely in your pocket! Get one from your Apple store, they work fine for HDs, no data corruption as I had initially watched for)

Now enter Intel. My service drive won't boot off that. If I format it GUID and install intel tiger, then I can't boot any of the older machines. We have about 200 ppc macs right now and we just got in 14 macbooks and a pro, with more imacs to come I'm sure. So I need to find a way to make this drive boot both platforms. It's either that or get another drive, and I hate to lug any more gear around than I am already carrying.

After much googling and finding a surprising amount of untested and inaccurate information, I have completed my mission and thought I'd share the CORRECT how-to of making a dual (and in this case, triple) booting drive.

First off. GUID. No. Just don't. It won't work. I know, they all say that's how it has to be done to boot intel but they're wrong. Yes, the installer won't install to APS (Apple Partition Scheme) but that's how we have to do it anyway. The reason is that there is NO way to boot from a GUID partition on any but the very newest G4 and G5 macs. This is because only the newest machines with the latest firmware can read GUID. A GUID partitioned hard drive cannot boot from an older mac, end of story. In case you're thinking "can't we have both?", no you can't. The partition scheme is the way the partitions are described by the disk drive. Just as there is only one table of contents in a book, there is only one partition table on a hard drive. There is no way to hybridize the table so that it is legal in both GUID and APS, so you have to pick one or the other. Since we know that you cannot boot from a GUID drive on most of the PPC macs, that's out.

So APS it is. Reformat your service drive as apple partition scheme, this is the default. Plan carefully when you set up the partitions, as this is very difficult to change your mind on later. If you have a larger drive this is easier because you are not so tight on space. Here I set up an 80 thusly:

Service Classic - 1.5gb
Service PPC - 6.0 gb
Service Intel - 8.0 gb
Service Users - 6.0 gb
Service Data - 59 gb (the rest of the space)

Yes, classic is there. I intend to boot up the drive as 9 as well. Not because I need it, but because it may come in handy and 1.5gb is not a lot to waste. And because "triple boot" sounds cooler than "dual boot".

I set the size of the PPC, Intel, and Users partitions to have about 2 gb of space left on them when I was done. This is playing it a little cagey, but this is only an 80gb HD and I have about 35gb of base images to fit onto the remaining data volume so I can't squander my space.

First is classic. Drag and drop from an existing machine. Very easy. After you drop, you will want to check and see what you don't need, and delete it to save space. All you really need is System Folder and Applications (Mac OS 9). Though since this is its own partition you won't be adding to usable space elsewhere but I like to keep a clean drive. After you are through cleaning it up, and while still attached to the OS 9 containing mac, select the Classic volume as your startup, and then select back to your normal boot drive. This "blesses" the classic installation and will make it be able to appear in the boot-picker when you hold Alt at startup. This requires a machine that can boot OS 9. You can bless classic from a machine that cannot boot it, but it requires some terminal magic that I can't recall offhand. ("man bless")

Next is PPC. Just grab your tiger installer and go to town. Run updates. Create a user account that is somewhat generic, you'll see why in a bit. Pick a single word short name for simplicity sake. (see further down for suggestions) I'll assume it is blessed since you installed it and ran software updates. You can also use "ditto" in terminal or netrestore to clone from an existing installation. More importantly now, remove anything you don't need. Space is tighter here and OS X is less forgiving of low disk space than classic ever was. Try to have at least 1gb of free space, 2 is better.

OK now the fun one. As stated earlier you cannot run the intel installer. If you select this drive in the installer, it will say "you cannot install Mac OS on this volume. You cannot start up from this hard drive". it's lying! Unfortunately it's a pain to force the issue. So install it onto a GUID formatted volume, or find another one that's already installed. Now hack it down to a manageable size, try to get it to 5gb of used disk space. Then use Disk Utility and do a "new disk image from disk0sxx" and make a disk image of the intel drive. Save the image somewhere else of course. (maybe on the Data partition if you made one?) Then use disk utility to restore the disk image to the intel partition you made. Again you will need to select the intel volume as your startup once to "bless" it so it shows up in the boot picker. It's interesting that they will allow you to restore to it but not to install to it. It would be a good idea for you to use the short name that is the primary admin account on the installed intel drive above where you created the account for the PPC side. If these names are the same the next step is easier. Intel's binaries are about 30% larger than their PPC counterparts, so this tiger will take up more space than the PPC version, which is why I allocated 2gb more space for the Intel tiger partition.

OK almost done! You should now be able to boot the HD on all three volumes, on the appropriate macs of course. Test them all to make sure they are working fine. Make a folder on your Users volume, call it.. Users! Make sure permissions is enabled on this volume and both of the tiger volumes. Drag and drop your home folder into Users. No I have not lost my mind.

OK, open Netinfo Manager and authenticate. Now find Users, and find your user. Find Home folder. It might be:

/Users/JoeMac

Change it to

/Volumes/Users/Users/JoeMac (mine is more like "/Volumes/Service Users/Users/JoeMac")

"Users" is the name of the volume that you made the Users folder on. Include spaces, this is not terminal and spaces/symbols should NOT be escaped if you have them in the username or volume name. Type them as they are.

Now restart local netinfo domains with NetInfo Manager. Now logout, and log back in again. Go... Home. Your home and house icon should now be in the Users folder you made. Congrats, you just moved your home folder! Feel free to blow away the home on your tiger volume, you don't need it anymore and it's just eating up space.

Now on a mac of the other architecture, repeat the maneuver of moving the home folder. (no need to copy it, skip that step) This time when you log out and back in again, you will see the exact same home folder you had on the other platform. The two are now sharing the one home folder. Changes made on one architecture will occur for the other as well. PPC apps installed under the PPC boot will work fine (via rosetta) when you are booted Intel.

There. You now have a triple booting service drive with shared home folder. Note that if you create another account you will have to create it on the other side and move both of them as well - we did not change the default home location, only the location of that one user's home. If you are using the drive to image, this would be a good time to load up the Data partition with your base images and get NetRestore installed. (only once! works for both!) I have not tried netrestore on the Intel side but I expect it will work, though it may run slower. I haven't ran across an Intel-native netrestore yet.

You might want to adjust permissions etc on the folders at the root of the users folder you copied, since just being dragged they didn't maintain the special permissions of the files at the root of your users folder. If this is just your personal service drive though I doubt this matters much.

Followup note. When installing applications to the shared user folder, you would be advised to check them and see if they work ok on both architectures. Installers for applications like Stuffit Expander will check your machine architecture when you install, and will not install universal binaries. They will instead install the binary for the architecture that you are running on now. If that is PPC, then not so bad, it will work in rosetta. But if you are booted to Intel when running the installer, you may get an Intel-only binary that you cannot run when booted to PPC. You can use finder and get info on an application to see which architecture(s) it will run under.

Get info on AddressBook on my powerbook: "Application (PowerPC)"

Get info on AddressBook on my intel partition: "Application (Universal)"

Get info on Stuffit Expander: "Application (Intel)" (iirc)

The Intel ones are the only ones you really need to worry about for now I think. They will not work on PPC and should have a slash through their icon in the finder, same as the classic apps do on an intel machine.

No comments: