I got the Mini up and running mostly well enough. The primary lacking feature at the moment is wifi support; the Mini uses a Broadcom chip for wifi which is notoriously painful to use in Linux. It requires weird reverse-engineered drivers and things of that nature. I can research it and set that up later, though.
I repartitioned the hard drive and then reinstalled OSX. Once I had OSX installed, I spent a little time scrutinizing "Boot Camp". It seems like really what happens is that Leopard maybe has the BIOS emulation stub for EFI out of the box (or maybe it was left over from the prior install), so without doing anything, you can tell it to boot a normal PC operating system. The Boot Camp tool in the Utilities folder is just a hand-holding mechanism for repartitioning and rebooting your Mac.
Because of this, I resized the OSX partition in their normal partition tool instead. I made a 50GB "Msdos" partition. Then I installed rEFIt. REFIt seems to replace the Apple-provided bootloader with something nicer (I don't really know what happens in EFI land here, it looks more like Apple's loader will load rEFIt if I let it). REFIt gives me tools for synchronizing between the GPT partition map and MBR partition map, as well as choosing between Linux and OSX.
Once I was satisfied that rEFIt was installed correctly, I proceeded to install Ubuntu. I went with 8.04 amd64, because that is what we will probably be running on the final table. This means alot of programs our somewhat out of date, but it shouldn't really matter (knock on wood) too much for our code we will write later.
I had to build a 2.6.29 kernel on the Mini, which surprisingly took nearly an hour with 2 threads. I suspect this is because the Mini uses a 2.5" hard drive, so it was probably blocking on IO for a good chunk of the compilation (I should have noted user time vs system time).
There was some trouble getting the Nvidia driver installed. I wanted to go with an older driver because there are some goofy rendering problems in Compiz with PowerMizer in the newer ones. The problem can be resolved by turning off PowerMizer, which never seems to obey, or avoiding Compiz. Or running an old driver. It turns out that even slightly older drivers won't compile against newer kernels. This has always been a problem, but I burned a few hours down on it because the error message wasn't quite indicating this.
Instead, it told me it could not find the kernel sources that I was directly pointing it to. I eventually tried the most recent driver on a lark, and it worked fine. Later I read that the structure of the tree has changed over time and that is what caused the confusing message.
The Mini now boots into Linux by default does an auto-login for the scimp user. I left a shortcut on the desktop that runs a script with simple mplayer arguments for showing the webcam. About everything should be in order for running our code, aside from installing whatever random libraries we need along the way.
Postscript: along the way, while messing around with the Mini, I noticed it would throw an odd resolution to the projector: 824x632.
11 years ago