-ORIGIN STORY-
I recently aquired two broken G3 iMacs from my school for the low, low cost of absolutely nothing. One iMac, a ~300MHz Blueberry, had dead video. The other, a 600MHz Snow with built in VGA, had a dead power supply. Unfortunately, both had been stripped of their slot loading CD-ROM drives.
I removed the logic board from the Snow iMac and installed it in place of the board in the Blueberry.
Now, I was prepared to use the external VGA connector on the 600MHz logic board if I had to, but my geek intuiton told me that the bad video was probably caused by a dead video controller in the old Blueberry's logic board, and not in the display hardware on the power board. Lo an behold, I was right, and I now had built a working iMac out of two non-working ones.
-EARLY PROBLEMS AND SOLUTIONS-
After the first successful boot I realized that in the newer iMac model Apple had decided to move the CPU, and thus the built-in heatsink didn't work. No problem, though, I simply crammed an Intel chip's heatsink between the metal of the case and the processor with applied thermal grease.
Later in the project I discovered that the iMac began to overheat within 12 hours of running, like most G3 iMacs did, so I attatched a 3" case fan to the back plate that covered the VGA port by forcing screws through two of the ventilation holes. I also cut a narrow hole almost to the middle of the plastic plate so that I could actually get the power wires from inside of the iMac to the outside. The fan is ugly, but it's hidden from view, being in the back and such. Insignificantly, I sliced my thumb open while cutting the plastic with a hacksaw. As usual, I bled for the sake of a computer.
-THE DRIVES-
Another problem was presented to me in the form of Apple's proprietary nature. A strange kind of IDE configuration was used for the cable that connected to the CD-ROM and hard drive. The first two plugs looked like SCSI, one for the board, and one for the CD-ROM, but the last connector and its ribbon were clearly ATA (IDE)! The extra wires of the SCSI-sized ribbon stopped after the CD-ROM, but the rest continued up to the harddrive. Apple, in their quest for airflow and keeping things neat, decided to use a proprietary cable design for the CD-ROM. It's a sort of extended ATA, with extra wires for the power and CD-Audio cable for the CD-ROM drive. This was further confirmed by the lack of two power connectors coming from the supply wires.
Well, I used the three-way splitter from my beige G3 to solve my power connector problem, but I was still facing the fact that the proprietary cable simply would not work with the extra harddrive. I examined the cable closely and realized that the extension was next to an ordinary 40-pin ATA pin layout, rather than mixed in with it. Realizing the solution, I shoved an ATA cable that didn't have the usual tab or filled pin into the left side of the proprietary socket. I temporarily switched the slave harddrive with a slot-loading CD-ROM (which unfortunately did not fit in the iMac case) and popped in a Linux installation CD. I held down the C key on my 104-key, PC-intended USB keyboard and prayed...
I used the extra power cable (the splitter was 3-way, remember?) to power the external case fan that I mentioned earlier.
-SOFTWARE-
It worked! The CD booted fine and soon I was installing the Linux I wanted. A lot of you are probably wondering what distribution of Linux I used for this project... Like I do with most of my machines these days, I chose Ubuntu Linux. Some people hate Ubuntu, possibly because it's so simple to use as a basic desktop OS and so difficult to use for development. Regardless, it was, as usual, the best choice for this project because it meant that I wouldn't have to fight with the OS to get it to work. I've used Gentoo and Debian in the past, but now I stick with Ubuntu to suit my needs.
Moving on, I soon had Ubuntu installed and running perfectly. Audio worked, video worked. Everything was as it should be. I proceeded to install all of the extra packages to actually have multimedia capabilities (Ubuntu excludes them by default for legal reasons). Then I moved on to get the GUI stuff I needed. I installed Xfce, which allowed me to manipulate the position of the buttons in the top of each window, and used GNOME Panel to replicate the top Apple bar. There is a hidden Xfce panel on the right that pops out when you hover over the area, and the same goes for a hidden taskbar on the bottom with window list and tray. I used Nautilus to generate the desktop, and used a gdesklets desklet called StarterBar to replicate the vital Mac OS X Dock.
I call the system Macintux.
I used a Logitech USB three-button mouse with a scroll wheel, and a 104-key USB keyboard with hotkeys that was once released by Compaq (shudder). I scraped off the Compaq logo and such, naturally. I wouldn't want to use the original iMac keyboard and mouse... The keyboard is very awkward and lacks a couple important keys, and the mouse is a hockey puck with one button. I did all of this with free materials. I don't have money to buy the nice G4-and-later Mac keyboard or the Mighty Mouse.
That's about it. I'll be posting some pictures of the project and screenshots of the Mac OS X style Linux desktop when I can. Be sure to watch this thread for updates. I know it's not the most interesting or impressive project, and some might even hate me for not using OS X (I've never actually tried it), but I'm satisified with what I've accomplished.
Depending on how much RAM you have installed, Ubuntu probably runs fairly quick on the 600MHz G3. It was pretty acceptable on the 400MHz iMac I tried it on, and quite useable on the 600MHz iBook I have. Of course like OS X, more RAM and faster HDDs make quite the difference.
Oh, yeah, I installed 304MB of 100MHz SD-RAM. It's got quite a bit of power for the little iMac that it is. I even have slight 3D acceleration from the internal video, and with a bit of shared memory, I might be able to make it run the Flurry screensaver smoothly.
I'm running on a budget of a whopping $0 right now, so faster HDs will have to wait.
Additionally, I'd like to note that I used Ubuntu 5.10 (Breezy Badger) for this project, but may upgrade to 6.04 (Dapper Drake) for faster boot times and better performance.
Access to a digital camera may not be in my immediate future, but I can certainly get screenshots of the desktop and such later today.
-edit-
I fell asleep yesterday, so I'll be posting the pics today.
Here are the screenshots, as promised!
Desktop:
http://72.29.83.152/~thehap/glitch/linuxmac/linuxmac1.png
Hidden Panels:
http://72.29.83.152/~thehap/glitch/linuxmac/linuxmac4.png
Firefox:
http://72.29.83.152/~thehap/glitch/linuxmac/linuxmac2.png
Terminal:
http://72.29.83.152/~thehap/glitch/linuxmac/linuxmac3.png
I dig the pinstriping. It looks just like OS X Public Beta! Much more fun then brushed metal. ;^)
--Peace
That ought to match the finish of the iMac well! Nice job! Are you gonna build it up as a theme and release it, or did you use one that was already made?
While I have not actually written an application with it yet, I've been learning PHP/MySQL using Ubuntu 5.10 on my PC. So far (with one exception) it's worked great. It behaved better than Fedora Core 5 did at the time.
The only drawback is the versions of the software are older.
Now if I could just get this 9600/300 sitting beside my desk to work with Linux, I'd be happy.
I'm seconding this. Did you use a theme? I want!
I used a combination of modified GTK and XFCE themes (snow/snow-light and Agua). While Snow was perfect, Agua was somewhat inaccurate and needed some minor alteration. I had to replace a few of the window buttons with graphics from actual screenshots, and so forth.
I might release the slightly modified Agua theme as something else, while giving full credit to its original creator. Since it's an XFCE port, you'll have to do the XFCE stuff that I did.
I ran GNOME-Panel and Nautilus within an XFCE desktop environment. I created and used a full-width png of the top Apple bar by copying the edges and middle of one in a screenshot, piecing it together. The menus next to the apple are fake at the moment, but may later be replaced with drawers (drop down menus without text - only icons).
The blue Apple logo in the left side of the Apple bar is simply a shrunken png of the logo that was put in place of the existing distributor logo icon (/usr/share/icons/hicolor/48x48/distributor-logo.png). I used the Tux 'n' Tosh GTK icon theme set. Unfortunately, in my reformat, I forgot to back up my custom-made Tux 'n' Tosh harddrive icon.
As stated earlier, I used gdesklets for the dock.
See if you can recreate what I did!
Also, I've since acquired a working, slot-loading, 24x iMac CD-ROM drive and a 20GB harddrive from my school (they're so generous!). I replaced the dual harddrive setup with these, so it's not as unique, now, but it's still a custom-built iMac for certain.
I have yet to finish visually retweaking the new installation of Ubuntu. I'm sure it'll all go smoothly, though.
This has turned into a purely software topic, it seems, and in the hardware forum, no less.
I was going to post pics of my unique adaptation of the proprietary ATA connector on the iMac board with my dual harddrive setup, but I've since replaced that with the CD-ROM and 20GB harddrive, utilizing the original proprietary cable. The only thing special about my iMac now is the external appearance. It has a snow bottom half with a blueberry top and blueberry speaker covers. I might call it the "Blueberry Cream" iMac. This could be considered an external case mod, but it's not that interesting, so I'll only take pictures and post them on request.
Coming soon might be a PC in a G3 B&W PowerMac case if I can't get the thing to boot properly. Something seems to be wrong with the IDE controller.
Post piccies of the hardware, then!
If you post it, they will come.
I'm sure there'd be plenty of interest in the ATA cable. Myself, for one.
It would likely be a performance killer, but you could install XGL, which sort of mimics the gui effects in OS X.
http://en.wikipedia.org/wiki/Xgl
http://www.freedesktop.org/wiki/Software_2fXgl