Mar 122011

Well, it seems I might have µClibc stages going again, at least for little endian initially, then I might fire up one of the SGI boxes and see about a big-endian version.  For a long while, Gentoo/MIPS support for this lightweight C library was all but missing ever since an ABI change broke the µClibc port back around 2006.

I’ve tried on several occasions to build a new environment, and often I was met with technical difficulties which prevented me from producing a working environment.  Recently, I downloaded Rob Landley’s Aboriginal Linux distribution, both big and little endian variants, and took it for a spin.  Having done that, I’m pleased to report that I now have a µClibc chroot that’s merrily compiling various components of the Gentoo system, and will soon be sufficient to make a seed stage for bootstrapping the port once again.

This should mean new netboot images in the medium term for all little-endian ports (and proper ones too, not glibc-based hacks) and new images for SGI Indy (R4000) and O2.  In theory, support for Octane and Indigo2 R10000 is possible, however the systems I have are no longer functional, only my Indy and O2 still work, thus it’s impossible for me to test media for other systems.  Fingers crossed this initial build will go to plan, and we’ll have shiny new stages shortly.

  5 Responses to “Gentoo/MIPS µClibc stages”

  1. I’m interested in getting a Gentoo working via chroot on my Netgear WNDR3700 (64MB ram and an external HD, currently running OpenWRT(. It’s working in big-endian mode. If you have a big-endian stage1 I could give it a spin, and help with debugging/fixing if necessary.

    • Yeah, no big endian stuff at this stage, I’m having enough dramas with little-endian and for now due to work commitments I’ve had to put these aside temporarily.

      Biggest bug-bear at the moment is bug# 308477 which means any stages will be dependent on an overlay for now.

      • Can you share info on how you did your bootstrap?

        • Yep, it’s best done with a reasonably beefy MIPS machine, you might find the router of yours a little underpowered.

          I used Rob Landley’s Aboriginal Linux builds to give me a basic environment. That gave me a working µClibc, a working compiler, and enough to build some tools by hand.

          It comes as a SquashFS image, which I mounted and copied the contents of into a directory. That gave me a chroot.

          Next, I hand-compiled Python, and hand-installed Portage (see the notes on recovering a broken Portage). It was then a case of merging binutils/gcc and each of the base packages one by one, which gave me a seed stage. I could then tar/bzip2 that up and throw it at Catalyst to produce stages.