Heh 😉 I’m gonna have to start thinking of another title for my Gentoo posts.
Well Gentoo is finally installed on my Sun Ultra 10 Sparc64 machine. It went ok really apart from that it has probably taken me 24 man hours or so in 3 sessions. The (Sparc64) Gentoo docs are very good and useful for non-Gentoo specific stuff that I didn’t know. I will be referring to them again. They could do with a few little tweaks, like explicitly stating that the sparc-sources kernel source package is preferable to gentoo-sources on Sparc machines. It’s not as obvious as it might seem as you can use either, but sparc-sources are tweaked for Sparc macines. Fortunately I have a sense of completeness that made me choose sparc-sources straight away, other people had problems with gentoo-sources on sparc.
I started this process again last night and emerged lshw and pciutils (for lspci) so I could work out what was in the box. This sucked in X.org as a dependency for some reason and meant I spent another night wearing earplugs as I was ssh-ed in again from my noisy PSU containing desktop. Meh.
All finished this morning so I decided to change the compilation optimisation from level 3 to level 2 to speed up compilation and reduce the size of the binaries. I then did some work on identifying the hardware, got the sparc kernel sources and cautiously did make-menuconfig.
It actually wasn’t all that bad as all of the sparc hardware options were already selected, I just removed all of the things I didn’t have. I did worry that I didn’t see options for ebus and a few other things but I built the kernel anyway and watched it fail on make modules. Fuck. Google. It turns out that kernel-2.4.29 (the latest version of sparc-sources in Gentoo) fails to build on sparc64 due to missing #defines in dmabuf.c where sound is enabled. Well I only enabled sound support because I hadn’t noticed before that the CS4231 sound card uses a separate low level driver in the kernel, not part of the regular sound system.
Cool. Turned off sound support. Compiled nicely. The rest went pretty much as per the instructions but it’s been one long journey. I still don’t have any nice end-user apps. On the hitlist is Gnome and maybe OpenOffice.org but they are gonna be looooooong compiles.
I think getting the X server to work will be interesting. I have an ATI Technologies Inc 3D Rage Pro 215GP (rev 5c) (thanks once again to a wholesale lspci quote…).
After leaving this post for an hour or two, getting Xorg working is awkward and manual, the configuration tools can’t detect the ATI card, the Sun mouse or Sun keyboard. After some not very helpful googling, and some shot in the dark guessing, I managed to correctly assume that the mouse protocol was busmouse and the device is /dev/sunmouse. Stealing sections of the xorg.conf file from here and here also helped. I just added ATI as the graphics driver and I can get an enormous resolution and moving mouse.
At the moment I can’t see an option to change the resolution in /etc/X11/xorg.conf and for now, Sun keyboards don’t work with Xorg6.8 – they require the deprecated (and apparently no longer supplied) keyboard driver and don’t work with the replacement kbd driver. Hmph.
Gentoo (on Sparc64): awkward and drawn out but thats the cost of doing everything manually and compiling it all yourself. The keyboard problem isn’t strictly a Gentoo thing, thats Xorg going through a transitional period. Next I have to work out how Gentoo startup scripts work so I can make ssh, X, gdm and other things in the future start at boot time. With few other options for my Sparc hardware (though I’m sure after all this installing Debian on it would be a breeze…), Gentoo’s pay off will be in the performance and in the learning I did going through the process.