ferhr ([info]ferhr) wrote,
@ 2008-06-03 17:10:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
G3 goes Linux.
My Beige G3's back. I've not been using it for quite some time (like three months or so) so I decided to do an OS revamp on it. While running OS X 10.1 on it was plenty of fun, I really liked to see how Linux 2.6.25 was doing and what new toys it offered.

The first thing I have done was changing its processor's clock speed from 300 to 450 Mhz. The thing is, exactly one year ago, I switched its processor with an Blue&White G3 that was 450 Mhz, and never changed the onboard settings to match it. This is to say that the last year was short of weekends. And I changed those settings under an apparently endless sneezing session, since it was kinda cold at the apartment.







It was quite a challenge to load this computer with some PPC Linux love. First because I was still sneezing. Second, because this model of G3 uses an old version of OpenFirmware, and OpenFirmware per se isn't accessible via its usual forth-based interactive interface, it was time to install any distro on it to see how it would fare. First tried with old known Slackintosh, but I was already losing 30 minutes on it. Thus I decided to find my old Ubuntu Hoary CD (PPC version, of course) from my archives; after formatting the main disk for use with XFS, I remembered that I hadn't XFS on the stock Ubuntu kernel; not even in initrd image it was. So I reinstalled it using ext3.

Then I hit a real chicken-and-egg problem (and for those that know me personally I simply *love* chick-and-egg problems while dealing with computers): I needed a kernel and initrd that could boot this machine, as I didn't booted it yet after installing Ubuntu. Since OldWorld PPC machines (those older than an Bondi Blue iMac, id est, older than late 1998) hadn't OpenFirmware, it meant that I should bring another initrd image to the MacOS 9 partition -- the one supplied on CD isn't compatible to the one that's installed (a problem easily solvable if Slackintosh the kernel had support for OldWorld machines, by the way).







Fortunately, it was darn easy -- just had to reboot the installation CD and shortly after it recognized my hardware, I had an spare console (alt+f2, ya know) to make ye elde chroot. Once chrooting, I uploaded the installed kernel *and* initrd under /boot to another machine on the network. Rebooting on MacOS 9, I opened Internet Explorer 4 for Mac just to download it from the other host's ftp. After that, it was (almost) pure win.

Having it rebooted -- and properly configured using the Ubuntu method to do it -- it was time to compile 2.6.25. Downloaded it in less than a minute (ADSL was never so fast!) and started to "menuconfigure" it, if you know what I mean. Roughly an hour later, I went to see how things were going. Turns out that some PS3/Cell-specific asm instructions weren't doing good to the build (GCC 3.3 and its epoch-buddy binutils). After happily chopping them out, it genereated a very nice 6-megabyte vmlinux on /usr/src/linux. No initrds anymore, and a truly custom kernel done, old-style. Some things are better when module-compiled, so I did it also, and it didn't took long after.

Since the machine had two video cards, the onboard RagePro 128 and the Radeon 7500, I was ready for some Xinerama.








Unfortunately it works only in 8-bit-mode, no dri. But it works fast in both adapters. I use the Radeon on a stock StudioWorks 15" monitor (or at least I think it is 15"!) and the RagePro on another black-and-white 14" screen, for now. GNOME feels strange on it, but it works nicely. Maybe today or tomorrow fvwm will run on it.

I've tried to make one or both adapters work under 15/16/24 bits-of-colour, without success (only kernel panics). Don't know if it's just poorly-written drivers, poorly-spec-ed drivers, poor combination of gcc and binutils, or the fact that it was under XFree86 4.3. Don't care. Will see if Xorg is installable after all is done properly.

Formatting the other 120G harddrive that it had inside on XFS took less than a second, and minutes later, it was already rsyncin' nicely. Problem is, the onboard "gem" ethernet adapter doesn't like heavy transfers for hours after hours, so it shut itself down during yesterday's morning. After rebooting yesterday when I arrived at home, it has been working nicely (and quite heavily) since then.



(Post a new comment)


[info]rafasgj
2008-06-03 08:49 pm UTC (link)
This does remember me to finish the Qube3 project. I have two of them with their firmware already upgraded.

One was wrongly updated, but still rescuable, as long as I find out why it does not power on. The other is waiting for a new Glibc, GCC and binutils. They should be new enough to compile a newer kernel.

(Reply to this) (Thread)


[info]ferhr
2008-06-03 11:50 pm UTC (link)
To compile a 2.6 kernel, usually one needs just some specific binutils version (or greater than that) and gcc > 2.95, preferably 3. I say that because once upon a time (2005) I made my PowerMac 6400/200 "upgrade" from Linux 2.2.something to 2.6. Or it was 2.0? Can't recall. Trying to upgrade the glibc was a major pain, attempted various times, with variable level of hair-pulling. Mostly with no result at all.

The fun part is that this bugger (the 6400) seems to be working to this day with a mix of MkLinux and "LFS from Hell" :).

If I had some spare 50-pin SCSI disks I'd make more machines run frankenlinuxen.

(Reply to this) (Parent)(Thread)


[info]rafasgj
2008-06-04 12:26 am UTC (link)
That's exactly the problem. These machines run a custom RedHat, which means GCC 2.96 instead of 2.95, and Linux 2.2.

To upgrade to a post-2.4 kernel, I need a newer GCC, which requires a new Glibc, which requires lots of time to make it work.

If I can manage to make a USB 2.0 card to work with this machine (to fill it with HDs), I might not upgrade the kernel.

(Reply to this) (Parent)(Thread)


[info]ferhr
2008-06-04 01:01 am UTC (link)
"USB-Storage is not supported in the 2.2 line of kernels". From here: http://www.linux-usb.org/

Try to compile at least a 2.4 one. It'll yield way less hassle. Maybe consume even fewer resources.

(Reply to this) (Parent)


Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…