Tag: Apple

Triple-Booting a Mac Pro: Legacy Edition

Well, it's been a pretty exasperating few days, but I've successfully gotten my old (2006/1,1) Mac Pro set up to triple boot Lion (with a 64-bit kernel), OpenSUSE 12.2, and the Windows 8 Release Preview.

First, I set up Lion. I followed Jabbawok's Mountain Lion guide exactly, with one exception: since I was installing Regular Lion and not Mountain Lion, I didn't need to alter OSInstall.mpkg to skip the motherboard check. (As far as drive bays: I put the installer hard drive in bay 1 and the Lion drive in bay 2.)

After this I found that I could only get the 64-bit kernel if I used Chameleon's flag for Safe Mode (-x). Otherwise I got a blank gray screen on my helper card and a white screen with a frozen mouse pointer on my main card. This fixed itself once I yanked the helper card -- but I'll get to that in a minute. If you've got a helper card and you're following this guide, don't remove it until you've got all 3 OS's installed and get a nice clean GRUB menu when you boot. (Or a stupid-looking light-gray-on-bright-green GRUB menu, as the case may be.)

Anyway, after setting up Lion, I set up Boot Camp and tried to install Win8 (on a drive in Bay 3). I got the ol' "Select CD-ROM Boot Type" prompt where everything froze and failed to recognize any input.

I'd dealt with this years ago when I first set up Windows 7; I had to bootstrap my install disc. I decided I would just as soon not fuck with that procedure ever again, so instead of bootstrapping Win8, I used my already-bootstrapped Win7 disc to install Win7 and then upgraded to the Win8 preview from there.

And then I installed OpenSUSE (over the Lion installer partition in bay 1).

The OpenSUSE install DVD gave me the same "Select CD-ROM Boot Type" prompt freeze, so I tried the OpenSUSE KDE LiveCD -- that one worked just fine.

And after I'd installed OpenSUSE, I found that my computer had set itself up to automatically boot straight to the GRUB boot prompt. And, better still -- it had correctly set up Windows and both 32- and 64-bit kernel boots for OSX. Chameleon was totally redundant and unnecessary by this point.

The trouble? GRUB had the same problem Chameleon had: OSX would lock on boot unless I ran it in safe mode.

So that's when I popped out the helper card.

(Don't know what a helper card is? Then you don't need to know about it. But the gist is this: my Mac Pro came with a GeForce 7300GT graphics card. Last year I upgraded to a GTX 570. While current versions of OSX do recognize the GTX 570, the EFI boot firmware does not -- so I needed to leave the 7300GT plugged in to see the boot menu.)

Once I popped the 7300GT, everything worked great -- the GRUB menu came up, and booted any of the 3 OS's without any trouble. Success!


Or at least, success until earlier today when something got fucked up and broke everything and I spent my entire day trying to fix it. Ultimately it appears to have been a weird fluke -- I think my partition table got corrupted somehow, because I found that even a format/reinstall didn't fix the problem; I had to actually repartition (the Chameleon/OpenSUSE drive) to get it working again.

So that sucked. And is the second time in two days I found myself chasing down help pages for the last line of a boot log only to find it had nothing whatsoever to do with the actual problem I was having. What a damn bummer.

The upshot, though, is that I've got a 64-bit kernel working in OSX, which should let me set up the RAIDZ array I wanted to put together for my grandmother's home movies.

And last night I played Mass Effect 2 for an hour or so without getting a BSOD. Could be just a coincidence, but I'm hoping that removing the helper card and booting from GRUB instead of EFI fixed the constant crashes I'd been having before.

Next I'll try it under WINE -- maybe I won't have to reboot to Windows at all anymore.


As for how I feel about Macs, Windows 8, and OpenSUSE...well, those are all ripe topics for another day.

Reinstallating

Decided that, now that I've got more free time, I may as well give my computer a clean install of everything.

For OSX: Attempting to install Chameleon Bootloader so I can use a 64-bit kernel.

For Windows: Trying out the Win8 Release Preview.

For Linux: Switching to OpenSUSE.

So far it's been rocky. Something's not quite right with Chameleon and I can only boot OSX in 64-bit mode if I do it in safe mode. Haven't been able to determine where the problem is, as the last few lines of verbose boot happen whether it's in safe mode or not. If it's not in safe mode I get a freeze on a white screen, with mouse pointer visible. While I'm considering trying to upgrade from Lion to Mountain Lion to see if that fixes the problem, I've seen people report similar issues in ML and I wouldn't want to spend $20 on discovering I still have the same problem. (Plus if I switch to ML I won't be able to fall back to a regular, non-Chameleon EFI boot like I can with Lion.)

Win8 -- well, it's set up. The parts that look the way they're supposed to look pretty damn good; the icons, tiles, and fonts are all really attractive. A lot of legacy stuff -- like program installers -- looks like blurry hell, but I'll give MS the benefit of the doubt and suggest that maybe that's because I'm using a beta. Not sold on the Start Screen yet, the shit that's moved is not easy to find, and switching between Metro and Oldschool-Style programs is unintuitive as fuck.

As for OpenSUSE, well, haven't had time to install it yet. Stay tuned.

PC Gamer's Dilemma

Well, I finally got me an Xbox 360.

It was free. My fiancée got a new computer with one of those student "comes with a free Xbox" deals.

Here's the thing: I've got a pretty solid gaming rig. And another pretty solid media rig. So I haven't felt much need for Xboxin' up to this point.

The advantages and drawbacks of PC gaming are pretty well-documented. A PC can support crazy high-end hardware, but while the games are cheaper the gear is more expensive and fiddly and there's a whole lot that can go wrong.

Me, I'm something like a niche of a niche of a niche of a niche -- I run Linux on a Mac Pro as my primary OS and keep Windows around for gaming.

This is pretty cool when it works. But here's the thing: even a good Apple makes for a pretty crummy gaming system.

Last year I bought a pretty high-end Nvidia card. ATI has better Mac support, but I've had nothing but headaches trying to get ATI cards working with Linux. Nvidia's always run smoother for me -- galling considering their total lack of cooperation with Linux and the open-source community, but true.

But it's not an officially-supported card. It works under OSX (as of 10.7.3) but it's not entirely reliable under Windows -- when it gets taxed too heavily, I get a bluescreen.

It happened a few times when I played through Witcher 2, but, perversely, it's given me more trouble on Mass Effect 2 -- a game I had no trouble playing through with all the settings maxed out on a lower-end (but officially-Apple-supported) ATI card.

I thought it might be a heating problem but it occurs, consistently, even when I crank up all my system fans with third-party software.

The game worked fine up until Omega, and then started BSoDing randomly. I managed to recruit Garrus in-between crashes, but by the time it came around to Mordin's quest I couldn't get past loading the corridor.

I could just try some other missions, but seriously, you want me to put off getting Mordin? Hell no.

I've found, from searching, that this appears to be a fairly common problem with ME2, even among people not running eccentric hardware configurations such as mine. And I've found a few suggested fixes, but none have worked for me.

I've tried running the game under WINE on both OSX and Ubuntu. Under OSX it plods (I suspect my helper card may be to blame; maybe I'll try disabling it to make sure my higher-end card is the only one the system's putting a load on); under Ubuntu it runs fine up until the menu screen but then doesn't respond to mouse clicks or keystrokes (other than system stuff like Alt-Tab or Alt-F4). I haven't turned up any other reports of this same problem, so I can't find a fix -- maybe one of these days I'll try a full clean install and see if it still does it. Nuke my WINE settings too if I have to. (Or maybe I could set it up on my fiancée's new computer...)

Needless to say, I haven't tried Mass Effect 3 yet.

And that's before we get into all the DRM bullshit plaguing the PC platform.

Never played Batman: Arkham Asylum, largely because of the SecuROM/GFWL/Steamworks Katamari of Sucktitude. Similarly, I gave Dragon Age 2 a miss once I heard reports of people unable to authenticate their legally-purchased games because they'd been banned from BioWare's forums for saying mean things about EA. (Which obviously totally disproves that EA deserves to be called names.)

It's a great damn time to be a PC gamer for a lot of reasons -- a huge indie scene supported by the likes of Steam and the Humble Indie Bundle, with both pushing more gaming on OSX and even Linux -- but it's a lousy time for other reasons.

Anyway. Now I've got an Xbox. All else being equal, I still prefer to play games on the PC, but for cases where the Xbox has less restrictive DRM (like Arkham Asylum) or titles that aren't available on PC (like Red Dead Redemption) or just shit I can get for under five bucks (like a used copy of Gears of War I just picked up), well, it's kinda cool to have one.


Playing: Batman: Arkham Asylum.

Adventures in Home Audio

I'm not what you'd call an audiophile, but I know what I like.

I've got an HTPC I use as my primary media box. And for the past two and a half years, my surround sound speakers have been a set of Creative Inspire 5300's connected to it. They're perfectly good PC speakers (and were $80 when they were new), but as far as home theater, they're a bit lacking.

So, after months of research and scanning for deals, I got me a receiver and a new set of 5.1 speakers.

The receiver is the Onkyo HT-RC360, which Fry's had marked down from $550 to $300 for Presidents' Day. Now, three things:

  1. I have been keeping an eye on Dealzmodo, TechDealDigger, and TechBargains for months looking for a deal like this -- and none of them had this deal listed. This discovery was entirely the result of my deciding, on a whim, to check the Fry's site. Which is even more notable because
  2. I had been at Fry's, looking for a good deal on a receiver, the previous day, and not seen this. I know they had it in stock, because I picked it up in-store, but it hadn't been on display, nor had I seen it listed in the newspaper clippings upfront listing their weekend deals.
  3. Oh, and of course three days later the Sony equivalent got marked down to $215 on Amazon. But that's okay; this is the sort of thing you come to accept as inevitable in any kind of major hardware purchase, and anyway from the reviews the Onkyo sounds like the better device.

Talking of reviews, I couldn't find any professional ones of the RC360, which made me nervous. But I gathered from Cnet that it's roughly equivalent to the TX-NR609. I'd been looking at the 509, but its lack of OSD and HDMI upscaling gave me pause. Those features aren't make-or-break, but with the RC360 marked down to $300, it was only $75 more than the 509 -- plus it's got 7.1 support. For that price, I may as well buy something a little better and more future-proof.

I had also noted that most of the demo rooms at Fry's used NR509 mixers. While I don't always credit Fry's employees as the best judges of what makes a good product demo (the first thing you see when you walk in the front door is an expensive bigscreen plasma TV inexplicably playing a movie at an eye-searing 240Hz), I thought this was probably significant.

And while I was nervous about buying a speaker set I hadn't actually tested in the store, ultimately Cnet's review of the Monoprice 8247 won me over. The short version: you can get better speakers, but only if you pay four times as much. (An aside: I stopped reading news.com.com some time ago after their reporting became indistinguishable from the trolls in the comments section -- I was going to say "except with better spelling", but nevermind -- but their reviews section continues to be pretty great.)

Anyhow, the speakers came in and I wired them up. It's not pretty just yet -- for now the rear speakers are just sitting on end tables, with their cables blue-taped to the wall, but in the next few weeks I plan to get somebody over to run cable through the attic and mount them properly on the wall. (I'd run the cable myself, but asthma tends to limit one's desire for attic-related adventures.)

One minor gripe: the Monoprice page for the speakers recommends pin-type speaker plugs, but the wire-in-back type I ordered from them is too long; it won't fit in a speaker that's lying flat. It should work fine in one that's wall-mounted, and maybe the wire-in-side type will fit. I might try ordering a couple of those the next time I get something from them, though $2 speaker plugs aren't really worth ordering by themselves. So, bare wire for now -- not like I can hear the difference.

Once I got everything hooked up and configured, I fired up Back in the USSR to verify that the speakers were working, and then straight to the Bridge of Khazad-Dûm scene in Fellowship of the Ring. (This was the point at which my fiancée came out of the bedroom to complain that I was making the house shake. I like to think this was her way of saying "Great job on purchasing and setting up an awesome sound system, Honey!")

Image: The remote, with its many and oddly-labeled input buttons From there I hooked up the rest of my various devices. The Onkyo remote has the now-typical problem of a shitload of different inputs with sometimes arbitrary names -- "GAME" works fine for the component switch connected to my Wii and PS2 (another aside: I wish the thing had more component inputs so I wouldn't need a component switch at all -- but obviously analog is on its way out and I'm sure in a few years I'll have enough HDMI devices that I will be grateful for the emphasis on the new input over the old), but, absent anything resembling "HTPC", I have my HTPC connected under "BD/DVD". My seldom-used DVD/VCR combo is under "VCR/DVR", and my TV audio is connected to "TV/CD", which inexplicably is not the same button as "TV"; the "TV" button can't actually be assigned to any audio input. (I guess people connecting the audio output of their TV into an input on the receiver are probably a rarity; most people have cable boxes which they can connect to the receiver and then output to the TV. But I don't have cable TV, and we sometimes watch broadcast TV. Such people do exist!)

Also: this receiver is the only appliance I have ever bought that came with a GPL compliance notice in the box. This is one more piece of good news on future-proofing: my old TV is no longer supported, its firmware is no longer updated, and it has some annoying bugs (namely, every time it can't tune a channel in it drops it, meaning you effectively have to rerun the channel search every time you move the damn antenna -- again, developers just do not even consider people who watch over-the-air TV at this point). The Onkyo receiver not only supports more features and inputs than I need, its use of open-source software means it can continue to be updated even after its official end-of-life (unless, of course, there are some kind of TiVoization shenanigans at work).

Speaking of my 2005-vintage TV, it's probably the next major piece of equipment I'd like to replace, but it does have one feature I like: an "Automatic" zoom that will upsize the picture beyond the standard 4:3/16:9/"super zoom" presets and zoom the picture until there is no black border anywhere. This is especially useful for the PSP, which outputs games at a weird little 480x272 format that appears as a tiny little windowboxed picture even under most zoom presets. Unfortunately, the receiver's upscaling messes with the TV's "Automatic" zoom; it'll resize the PSP picture vertically, but that still leaves it pillarboxed and vertically stretched. That left me back at wiring the component output of the PSP directly to the TV and leaving the audio hooked into the receiver -- this largely defeats the purpose of upscaling since I'm back to switching TV inputs for different devices, but that is, of course, a minor inconvenience.

And that, incidentally, is the draw of upscaling for me -- I don't really expect the filters to increase my picture quality, but it does mean I don't have to switch from HDMI to Component 1 to Component 2 to whatever on my TV. (Actually, talking of quality, there were visible vertical lines on the PS2 picture -- but I couldn't see them from the couch, and I'm not sure if that's the fault of the receiver or the connection. I've had the PS2 and the cable for some time and I think the connection must be worn, as when I first turned the PS2 on I got audio but no picture; I wiggled the connector in the back and that's when I got a picture with faint lines on it.)

Now I've gotta figure out what to do with those Creative speakers. I'd like to hook them up to my desktop, but Apple is allergic to standards, and you can't actually get analog surround to work on a Mac without some kind of adapter.


Playing: Tactics Ogre: Let Us Cling Together. You know what else the receiver has? A shitload of presets for audio levels. It doesn't just have a preset for games, it has different presets for different genres -- RPG, Action, etc.

Reading: The Light Fantastic

Unison: File sync from Ubuntu to Windows 7

Hey, been awhile. Have been ignoring the blog (even my traditional New Year's Eve Post) and many of my other Internet habits in favor of various projects I've been hard at work on. I just pulled off a WordPress update; you're reading this so it looks like it went smoothly.

Anyhow. One of the aforementioned projects (and the thing you came here to read, if you found this page by Googling an error message -- and if you did, you may want to skip my meandering explanation and go straight for the numbered steps at the bottom of this post): I recently decided to set up a file sync system across the computers in my house. It's useful for syncing things like savegames, RSS feeds, and the public-domain ebooks I've been grabbing from Project Gutenberg and MobileRead and comics from Digital Comic Museum across multiple devices.

I'd done some command-line RSS before, and also set up backup systems with Toucan, but figured I'd try something different on this one. I gave Ubuntu One a shot and it seemed promising until I realized it isn't open-source and I can't set up my own server. Canonical is swiftly becoming the Apple of the Linux world -- good at taking open-source software and making it pretty and usable, but not so great at giving back to the open-source community.

Ultimately I settled on Unison, which proved to be a bit of a headache -- frankly if anybody has a better solution I'd be happy to hear it, but here's how I got it to work.

First of all, the Unison GUI requires GTK. Hardly a problem on the Linux side, but under Windows, extracting the binaries from gtk.org and setting the PATH variable didn't work, no matter what I did. Maybe it's a Windows 7 thing, or maybe it's a Unison thing, but either way, Unison threw up "This application has failed to start because libgtk-win32-2.0-0.dll was not found. Re-installing the application may fix this problem." every time I ran it. Sticking it directly in the GTK\bin directory worked but is an ugly solution; multiple sites suggested installing Pidgin, which comes with GTK, but produces the same problem as Unison doesn't find it in the path.

(Actually, let me back up a bit: I couldn't get Unison to work with 64-bit GTK at all. The only Unison binaries I could find were 32-bit; I opted to install a 32-bit version of GTK rather than stick Cygwin on my HTPC and compile Unison from source.)

Ultimately, I found a binary Windows installer for GTK (conveniently the first Google match for gtk windows binary installer); whatever my PATH problem was, this installer fixed it. The Unison GUI was up and running, from its own folder.

Next problem, though: SSH. Unison did not play nice with PuTTy.

Googling the problem, I found a page called Unison-ssh, which includes a wrapper named ssh.exe for download. If you've read this far you've probably already installed PuTTy, but in case you haven't, you'll only need it if you want to use public key authentication -- this ssh.exe will automatically install a copy of PuTTy's command-line SSH utility, plink.exe, if it can't find it. (Well, hypothetically. It tries to stick it in WINDIR and if you're not running it with admin privileges it'll fail.)

Now, I should add that this ssh.exe doesn't work properly under Windows 7; it'll prompt you for a username but only let you type one character and then automatically Enter it. Same problem with the password prompt. The comments thread in the page is filled with people who have the same problem. Maybe a clean compile would fix it, I don't know; again, I didn't want to go to the trouble of setting up compilers on my HTPC.

There's a solution a ways down the comments thread. Unison stores its data in the .unison directory, even under Windows. (That'd be \Users\name\.unison under Win7.) They're simple text files with the .prf extension. And you can add an "sshargs" line to give command-line arguments. If you're comfortable sticking your password in plain text, you can add the line "sshargs = -pw [pass]" and you're done. But if you're not, you can set it up with RSA keys. A later comment links a post on Palin's Technical Blog that runs down how to generate a keypair with puttygen -- the problem is, I couldn't get my Linux server to accept it; I kept getting a "Server refused our key" error.

I found the solution on Andre Molnar's blog: you need to generate the keypair on the Linux server, using ssh-keygen, add the public key to your authorized_keys file, then move the private key over to the Windows machine and use puttygen to import it and then save as a PuTTy .ppk file. From there, add "sshargs = -i [path to private key]" to the appropriate .prf file.

Almost done, but the Unison GUI still has path issues, even if you stick ssh.exe in the same directory as PuTTy and add that to your PATH. I got around it by sticking a shortcut on the desktop with the PuTTy directory as the working directory.

In summary:

  1. Install openssh-server on your Linux server and PuTTy on your Windows client.
  2. Install Unison and its dependencies on your Linux server. (It's offered in the Ubuntu repos; command-line is unison, GUI is unison-gtk.)
  3. Install Unison on the Windows client.
  4. If you want to use Unison's GUI, install GTK on Windows.
  5. Download the ssh.exe wrapper for PuTTy. Stick ssh.exe in the same directory as PuTTy and put that directory in your PATH.
  6. Generate an RSA keypair on your Linux server using ssh-keygen. By default it will put the keys in ~/.ssh/id_rsa and id_rsa.pub.
  7. Copy the contents of the public key (id_rsa.pub) to ~/.ssh/authorized_keys. Remember to set perms on ~/.ssh to 700 and authorized_keys to 600.
  8. Move the private key (id_rsa) to the Windows machine. That's move, not copy; delete it from the Linux side as you don't want to store the same private key in more than one place.
  9. Run puttygen.exe. Import your existing private key, then save the result as a new .ppk file. Delete the original key file. Again, only the owner should have read perms on this file.
  10. At a minimum, your \Users\name\.unison\foo.prf file should contain the following:

    root = [Windows path]
    root = ssh://[user]@[host]//[Linux path]
    sshargs = -i [path to private key]

  11. To get the Unison GUI to run ssh.exe properly, create a shortcut and set its working directory to the PuTTy directory.
  12. You can schedule regular syncs using Windows Task Scheduler; run the command-line Unison executable, with args "-batch [name of pref file]". Don't include path or extension, just the filename ("foo" in my example above).

So there you go: a cross-platform syncing solution. Good for backups, for keeping files consistent between your desktop and your laptop, or for anything else that requires keeping the same files on multiple machines.


Playing: Just finished playing a fan translation of Act Raiser. Maybe a bit more on that soon.

Reading: Blood of the Elves. As I await The Witcher 2.

Security Flaw Found in Door Technology: A Machinist Exclusive

Howdy, folks; it's yer old pal, Crispus T Muzzlewitt!

As you fellers well know, when I ain't writin' fer Salon's Machinist blog, I spend most o' my nights sleepin' on park benches or in boxcars. And as I have so often remarked, it's the good life -- except fer them damnable folk what live in houses. Always yammerin' on about how good they got it. "Hey Crispus," they'll say, "it sure is harder to get rained on with a roof over your head." Or "Hey, bum, you could sure use a shower." Or "Hey there, Mr. Muzzlewitt, it looks like somebody stole your bindle while you were passed out on that park bench."

Smug bastards. I hate them all so very, very much. With their clean clothes and their straight teeth and their "Hey Crispus, you'd probably have a lot fewer headaches in life if you had a bed to sleep in and if you didn't smell like gin and urine."

So it is with no small amount of glee that I announce my recent discovery that houses are actually no more secure than the wide open spaces where I rest these bones. Sit down, young'uns, and let me tell you a tale.

'Tweren't long ago I was approached by the right honorable representative of a local security firm, and he done dropped a bombshell on me: houses don't keep folk out at all!

And my esteemed colleague Battlin' Joe Frickinfrack confirmed he done saw it with his own two eyes: a seedy-lookin' feller walked right up to the front door o' one o' those fancy houses like you see sometimes, and when the owner unlocked the door, let him in, and then wandered off somewheres, why, the seedy-lookin' feller done robbed him blind. So you see, it's just like my bindle -- front doors don't offer you no more protection than a park bench in the moonlight on a mild autumn night.

Another thing: I keep hearin' about folk who keep their valuables in safes, 'cause they think it's safe, on account o' the name maybe. But truth is, safes ain't no safer'n a lady's purse. Sure, you see a lot more purse-snatchin's than safe-crackin's, but that's only 'cause more folk got purses than has safes -- safes just don't make no sense as a target; why crack a safe when it's so much easier to snatch a purse? But it can be done, and easy, too: Battlin' Joe says that there burglar I wuz talkin' 'bout a minute ago also managed to get all the money outta that man's safe, on account o' the man gave him the combination.

I talked with a gentleman from Norton Home Security about this problem, and he said that, rare as it may seem today, it'll be an epidemic in the comin' months, and every homeowner everywhere needs to go right out and buy a Norton Home Security System. He then went on to add that he has absolutely no conflict of interest in makin' that partic'lar recommendation. And shucks, I believed him, but just to be thorough, Salon sent out its star reporter, Judith Miller, an' she confirmed that her source has absolutely nothin' to gain by exaggeratin' the threat posed by this enemy.

So there you have it, you smug sumbitches, with all yer fancy "doors" and "walls" -- now we know the truth. Houses ain't no more secure than parks, 'cause you can unlock the front door and let somebody in; safes ain't no more secure than purses, 'cause you can tell people the combination and then they can crack them, and OSX is just as vulnerable as Windows, on account o' if you allow root access to a suspicious program it can do bad things to yer computer. So wipe them smirks off them damn faces; yer house ain't no safer than my bench nohow.

So that'll do fer now, but I reckon this'll be the first in a three-part series. Next time, I'll talk about how roofs are overrated 'cause rain still gets in if you knock giant holes in them with sledgehammers, and in our final installment, I'll examine how showering and that there underarm deodorant them rich folks use don't do nothin' to make you smell better if'n you rub pig shit all over yer body immediately after.

Thank you, and goodnight.

Hobo names supplied by John Hodgman.

Triple-Booting a Mac Pro

Updated 2007-10-14. Scroll down to where it says "Update 2007-10-14". I'd put a link here, but for some reason b2evolution will not let me use the "id" or "name" attributes; expect a presumably silly and useless "rant" on that subject very, very soon. (Update 2008-01-17: Switching to WordPress fixed the problem.)


So I got that Mac Pro I was talking about earlier. No, I still can't afford the thing, so if you notice me living a life of indentured servitude for the rest of my days, well...I'm Irish. We're used to it.

The bastard about being on the bleeding edge is that there aren't a whole lot of guides to walk you through your setup. For example, I found quite a number of guides on how to multiboot a MacBook Pro with 3 OS's on different partitions of the same drive, but approximately bupkis on how to do it on a Mac Pro with each OS on its own drive.

So, in case anyone winds up Googling for the same information I couldn't quite find, here's how I finally did it. Hopefully this'll make it easier for you than it was for me.

Installation and booting

I can't say for certain, but I think order of drives and order of installation are both important.

After some trial and error, I wound up laying my drives out like this:

Drive 1 is Kubuntu.
Drive 2 is OSX.
Drive 3 is Windows XP x64.

Leastways, that's how they're set up in hardware. For reasons I'm not altogether clear on, they show up in software as Kubuntu on sda, Windows on sdb, and OSX on sdc. Still more curiously, both the Kubuntu drive and the OSX drive are assigned SCSI ID 0,0,0. (Could be some holdover from the old master/slave days? Maybe the drives are on different controllers? Something to do with MBR vs. GPT? Is it because the Kubuntu drive is physically first but the Mac drive boots first? Don't know.)

Order of installation seems to be important too. I say this because my first time through, I installed Kubuntu, it ran fine, and then I installed Windows and Kubuntu wouldn't boot anymore. I'd click on the Linux icon and it would boot the wrong OS. (Actually, it still does; more on that later.) So, as with most things in life, everything was going great until I installed Windows.

But after a day and a half of banging my head against the wall, I finally got all 3 OS's moving by rearranging the drives (see above) and installing Windows first and then Kubuntu. (OSX, of course, was preinstalled.)

Things to keep in mind: since we're talking 64-bit Windows, the Boot Camp program is useless. You can ignore it. It might be useful for resizing your OSX partition since Windows insists, for no reason whatsoever, on writing system files to the first drive. I say "for no reason whatsoever" because you can move those files -- boot.ini , ntdetect.com , and ntldr -- to the drive Windows is installed on and it'll run just fine. There's more info at x(perts)64; that guide is specifically for dual-booting XP and Vista, but I found it useful anyway.

(Also, "the first drive" noted above is actually the second drive in my case, which caused a good deal of confusion; as I mentioned earlier, both the Kubuntu drive and the Mac drive show up as 0,0,0.)

It's also worth noting that the much-ballyhooed rEFIt doesn't work for me; I have to hold down Option at startup to get a working boot menu.

That menu gives me the following:
rEFIt, Windows, Windows, Windows
because EFI very helpfully assumes anything that's not Mac is Windows.

The first "Windows" is actually Kubuntu. The second gives me "Error loading operating system". I assume that the first "Windows" is the MBR of the drive and the second is the first partition, which is flagged bootable but doesn't have Grub on it.

The third "Windows" is actually Windows.

Now, rEFIt looks similar -- it offers "Boot Mac OS X from Mac", then "Boot Linux from HD", "Boot Legacy OS from HD", "Boot Windows from Partition 1", not always in that order -- but the last three all open the same OS, either Linux or Windows depending on which I booted more recently.

So I'm stuck with holding Option at boot and selecting the left Windows or the right Windows, but at least it works. I'm hoping future versions of rEFIt fix this problem.

Windows

Here's where you can find the necessary 64-bit drivers for Windows:

(Sources: Triple Boot thread on the Apple forums; Airport Driver thread on driverguide.com forums)

Kubuntu

Boot issues aside, this is the single most painless Linux installation I have ever experienced. I know there's no dearth of people singing the praises of Ubuntu and how close it is to being ready for desktop use, but I'm afraid I'm going to have to add my own redundant voice to the chorus. It was almost painless.

I still had to install the nVidia drivers by hand -- either get us some free drivers that work or stop being so damn concerned about ideological purity, guys; I need support for my video card, and this would make life pretty rough for the average user. But by my standards as a Linux vet...I didn't even have to touch xorg.conf. Kubuntu, how I love you.

Setting up wireless was another concern, especially when I read there was no native support for the adapter and I'd have to use ndiswrapper. Let me explain something about ndiswrapper: it was a bastard to install under Gentoo, and is responsible for every single kernel panic I've experienced in the past year and a half.

Under Kubuntu, on the other hand, it was over in minutes. And I don't want to jinx it, but it hasn't panicked my kernel yet.

There's a HowTo at ubuntuforums.org. Steps 1-3 are outdated now; Feisty comes with a current version of ndiswrapper, so you won't need to update it. As for the bcmwl5.inf file, it's the same one in the Dell package I linked above.

To get wireless to work immediately at boot, you'll also need to set your access point up. In Kubuntu, you do go to K → System Settings → Network Settings, click "Administrator Mode", enter your password, click wlan0, then Configure Interface, and enter the ESSID and WEP key. (DHCP and "Activate when computer starts" should already be set.)

I will note that on one of my reboots wireless didn't start up automatically and I had to run iwconfig myself. I think that's most likely due to signal interference in my apartment, but I can't say for sure at this point.

Sound support was the biggest problem I hit. The ALSA driver for Feisty doesn't support the Mac Pro's audio adapter.

After poking around for awhile, I decided that rather than bother with the individual package, I'd just go ahead and upgrade to Gutsy RC. After all, if you've even read this far, I'm guessing you're somebody who's not afraid of the letters "RC"; I'd advise you just to go with Gutsy from the start. (Course, by the time anybody actually reads this guide, I'm betting Gutsy final will be out.)

So far Gutsy's working just fine for me. (Update 2007-10-14: Except that I can't adjust volume from the keyboard. The bar goes between 0 and 11 but doesn't actually make any change in the volume. This appears to be a known bug in Gutsy at the moment.)

I'll edit this post if anything changes or if I find anything else out -- I have a Bluetooth keyboard and Mighty Mouse that I haven't bothered trying to set up in Kubuntu yet; I intended it more for my media center/emulation rig Mac Mini anyway. But if I get that, or anything else set up, I'll make a note of it here.

Hoping this has been a help to somebody. I don't usually do this, but when I find myself running into problems that aren't well-documented, I figure I may as well document them myself in the hopes that I can make life a little easier for the next guy.

Good luck, next guy.


Reading: Cat's Cradle again, the first in my "My favorite recently-deceased science fiction authors" theme. I think A Wrinkle in Time is probably next.


Update 2007-10-14: Accessing the Mac drive from Kubuntu

It's easy enough to mount an HFS+ volume under Linux (FS type is just "hfsplus" in mount or fstab), but accessing your home directory or mounting with write permissions is a little trickier.

To access your home directory on the Mac volume from Kubuntu, your Mac user account and your Linux user account need to have the same UID. There are a number of ways to do this; the easiest involve simply creating a new user, but I changed the UID on my Mac login to 1000 with no real trouble.

Just go into Applications/Utilites and run NetInfo Manager, click Users, then your username, then scroll down to uid and gid and change them both to 1000 (or whatever your UID is under Linux -- 1000 is, of course, the default number for the first user account).

After that, you'll need to log out and back in, pull up a terminal, do a sudo chown -R <username>:<group> /Users/<username>, and then log out and back in again.

My source on all this is the Gentoo wiki (even though I'm using Kubuntu).

That should give you write access to your home directory on the Mac drive from Linux. To get read access, you'll need to disable journaling.

It occurred to me that I'd like to keep journaling enabled in OSX and only disable it when I want to access the data from Kubuntu. I came up with a relatively simple solution: I wrote a script to enable journaling when OSX boots, and added a line to the shutdown script to disable it.

For the startup script, I created a directory called /Library/StartupItems/EnableJournaling containing a filepair called EnableJournaling and StartupParameters.plist, as follows:

StartupParameters.plist

{
Description = "Enable Journaling";
Provides = ("Journaling");
OrderPreference = "Late";
}

EnableJournaling

#!/bin/sh

. /etc/rc.common

# Enables journaling on Mac volume

ConsoleMessage "Enabling journaling on /Volumes/Mac"
diskutil enableJournal /Volumes/Mac
exit 0

(Don't forget to make this file executable.)

(Source: Greg Neagle's blog)

And I modified /etc/rc.shutdown to the following:

#!/bin/sh
# Copyright 1997-2004 Apple Computer, Inc.

. /etc/rc.common

if [ -f /etc/rc.shutdown.local ]; then
sh /etc/rc.shutdown.local
fi

SystemStarter stop

# ADD THIS LINE:
diskutil disableJournal /Volumes/Mac

kill -TERM 1

exit 0

Seems to work all right; I get journaling when I'm running OSX, and I get write access when I'm running Kubuntu. (Update 2007-11-05: It appears rc.shutdown is gone in Leopard. I'll update when I learn more.)

The bad news is that it doesn't work both ways. At present I have Kubuntu installed on a ReiserFS volume, which is unsupported by OSX. I could have made it an ext3 FS instead and installed the ext2 driver for OSX, but, well, if I wanted compatibility over performance, I probably wouldn't have gotten a Mac Pro.

Nineteen Hundred Plus

Had some serious computer trouble last night, and it vanished as mysteriously as it came.

It has occurred to me that I know at least three couples who have gotten engaged, married, and divorced in the time since my last major hardware upgrade. And that was just a new video card.

If I had the dollars, I'd get me one o' them Mac Pro things the kids talk about. Triple-boot OSX, Windows, and some flavor of Linux. I'm thinking Kubuntu, since I've discovered I don't have the time to keep my packages up-to-date in Gentoo.

But man, I'll miss Gentoo.

All of that, of course, is academic at this point, as I do not have the dollars for a Mac Pro. Hopefully I can remedy that situation, but if my computer dies in the meantime, I guess I'll have to use Knoppix or my Mac Mini or something.

Stay Grounded

The latest hilarious chapter in the Fixing Grandma's Computer saga is that the new CD-RW drive I bought her at Fry's turned out to be bad. I exchanged it for a good one, but discovered on getting home that I had left my Knoppix CD in the one I returned. Which is probably all right, since it was Knoppix 3.9 and I'm overdue for an upgrade anyway.

But the whole process is just one disaster after another, and I don't have the tools I need. This must be how Fred Flinstone felt when he tried to fix his computer. With, I can only assume, some sort of small bird with a skinny beak -- possibly a hummingbird; I imagine that a hummingbird would be a very difficult bird to use as a screwdriver, but "very difficult" is sort of what I'm going for with this analogy -- and, assuming Fred is a Mac user like everybody else on TV, a paper clip.

I am, of course, burning a new copy of Knoppix; I tried to use the ExpressCD program that came with my old copy of Ultimate Boot CD but it had approximately the worst interface I have ever seen in a CD burning program (yes, worse than xcdrecord -- much worse). It kept putting folders in places I didn't tell it to, and wouldn't let me move them.

I do believe my Windows XP disc is trashed, meaning that even once I back up Grandma's files, I can't install a new OS on her computer. (Well, I could install 98, but that would rather defeat the purpose of this whole exercise. Or I could install 2000, but the reason I'm switching her from 98 in the first place is that it's now unsupported, and 2000 is next on the chopping block.)

All in all, considering that Grandma doesn't do any kind of online banking or credit card transactions, really the worst-case scenario if her unsecure installation of Win98 had gotten a nasty malware infection would be...basically what's happened anyway. (Though I suppose her CD-ROM was going to die no matter what.) Live and learn, I guess. I'm never doing a Windows update again. I mean it this time. Fool me once, shame on, shame on you... ... ... ... ...fool me can't get fooled again.

Oh, by the way, I've disabled trackbacks, since nobody but spammers was using them anyway. If you really really want me to bring them back for some reason, let me know.

(Also, is it bad that my favorite part of work is now driving?)

Why I Hate Richard Bannister

Break time at work; figure I may as well work on the ol' blog and some of the backlog of entries I've been meaning to write.

As previously chronicled, I picked up a Mac Mini for cheap at my old job and have been setting it up as an emulation box.

The first thing that struck me about Mac emulation is the prevalence of nagware and crippleware in the Mac software scene.

I mean, as a Linux boy I don't see a hell of a lot of shareware in the first place, but it seems to me that obnoxious, crippled software is much more common on Macs than even under Windows. Perhaps it's a simple Apple culture thing -- after all, the damn OS comes bundled with a nagware, crippleware version of Quicktime.

And in the Apple emulation community, one name keeps appearing, one name synonymous with obnoxious Mac emulators: Richard Bannister.

Bannister has a near-monopoly on the Mac emulation scene. Via zophar.net's Mac section, he has 2 out of the 3 Atari 800/5200 emulators, 2 of the 4 NES emulators, 1 of the 2 GBA emulators, both Genesis emulators, and the only SMS/GameGear, Game Boy (original/Color), TurboGrafx, NeoGeo Pocket, WonderSwan, Virtual Boy, Odyssey, and ColecoVision emulators listed for OSX to his name, and this isn't even a complete list of his catalog (which also includes an SNES emulator which you need a G5 to run for Christ only knows what reason).

How is he so prolific? Well, for starters, all these different emulators have a common library for support of such basic functionality as fullscreen and gamepad support, as well as video and sound filters and, if you're lucky, netplay.

The fun part is that this library is nagware and requires $25 to register.

Twenty-five dollars.

Bannister defends this price with the absurd rationalization that video games usually cost around $50. Of course, those of us whose ability to come up with analogies is not completely broken have probably noticed that if they're NES or Genesis games they goddamnwell don't. (Maybe Bubble Bobble and Dragon Warrior 4.) He also points out that "basic functionality" is a subjective term, though the mere fact that it's in his FAQ sort of indicates a significant number of people consider it to include fullscreen and gamepad support.

He also planned, at one point, to copy-protect the library using stealth spyware; the fact that he never got around to implementing this measure doesn't make up for the fact that he is totally unapologetic about it. (Well, all right, he apologizes for the confusion, and says that in the future he'll consider the possibility that maybe his users don't want to be spied on and treated like criminals. But he still stops short of a real apology.)

In the same thread, Bannister revives his "gamepads and fullscreen aren't basic functionality" argument, and when a poster suggests that a reasonable rubric for basic functionality is anything enabled in the console itself, Bannister shoots back that then his Game Boy emulators should only display in a tiny space. Which I suppose might make some sort of vague sense if not for the existence of the Game Boy Player.

Bannister's defenders deride his critics as "a few malcontents [who] demand everything for free". Now, why would people expect free emulators? Because on every single other OS, that's exactly what we get. Windows hasn't had a prominent shareware emulator since Bleem, and no prominent shareware emulator for a legacy console since iNES, which, if you'll recall, got its ass handed to it by the superior-in-every-way-and-also-free Nesticle, which many people consider the gold standard in emulation even today. And try releasing a shareware emulator for Linux or one of the non-Mac BSD's -- you'll be laughed out of town. Bannister is holding the Mac emulation scene for ransom -- something he would never get away with on any other OS.

Which brings us to the other reason he's so prolific: the vast majority of these projects aren't originally his. They're GPL'ed. For those who don't know, the GPL is a free/open-source license which requires any derivative works of code covered under it to themselves be released under it. But Bannister doesn't release his code under the GPL; instead, he gets permission from the copyright holders to release it under his own closed license. As he is quick to point out, since he's getting a specific exemption from the copyright holders and circumventing the GPL, this is not a violation of the license and is perfectly legal -- it's just unethical and generally slimy. Again, try pulling that in the Linux world and see how far it gets you. The only reason he gets away with it in the Mac community is that he's the only game in town. He's building his work on source which other people have released for free, but heaven forfend he himself do the same. I'm sorry, what was that about malcontents who demand everything for free? If Bannister's not going to pay his dues for reaping the benefits of GPL'ed code, he should quit whining about people who don't compensate him for his work.

I haven't tried to talk to Bannister. I haven't discussed any of this with him. Why bother? I've seen his forum posts. I know how he'd respond. Poor logic, absurd analogies, and a self-righteous sense of entitlement -- coincidentally all the same things he accuses his detractors of. I can't change his mind. But I can choose not to download any emulator with his name on it, let alone give him $25 for the privilege of playing Sonic and Knuckles. I already paid for that game.