The Unofficial Gentoo Linux x86 uClibC stage3s’

Following this Gentoo bug:
https://bugs.gentoo.org/show_bug.cgi?id=441976
We have official experimental uClibC for x86 and amd64 stages.
I will not be maintaining these unofficial ones any longer.

The link to the official archives is:
http://mirrors.rit.edu/gentoo/experimental/x86/uclibc/
and
http://mirrors.rit.edu/gentoo/experimental/amd64/uclibc/

The uclibc experimental stages on the gentoo mirrors are all outdated(they go back to years), so here are my stage3s’, which have been updated. They’re very similar to, and in fact can be considered to be the same stages that the Gentoo Community provides, only updated.

As of 27th August 2011, they are now built by catalyst.

The stages are built by catalyst now, and I’m looking for the possibility of hosting them on the Gentoo mirrors.

Follow my tutorial here, to get a basic ideology on working with it

stage3-uclibc-x86-26062012 is affected by bug #423491 sys-apps/findutils-4.4.2-r1 and sys-apps/coreutils-8.14 with sys-libs/uclibc – rpmatch.c:58:1: error: redefinition of ‘rpmatch’ /// /usr/include/stdlib.h:810:28: note: previous definition of ‘rpmatch’ was here

The workaround for it right now is to comment the entire function in stdlib.h and those packages will compile well. Also comment the _wur definition, just above the function rpmatch. This is a crude workaround, and it’ll be fixed when upstream decides what’s the solution.

Files:
26th June, 2012
stage3-uclibc-x86-26062012.tar.bz2
stage3-uclibc-x86-26062012.tar.bz2.md5sum
The above stage was not build by catalyst, as it could not deal with the rpmatch bug. This stage was created manually from the last release.

5th August, 2011
stage3-uclibc-x86-02082011.tar.bz2
stage3-uclibc-x86-02082011.tar.bz2.md5sum

7th July, 2011
stage3-uclibc-x86-07072011.tar.bz2
stage3-uclibc-x86-07072011.tar.bz2.md5

1st June, 2011
stage3-uclibc-x86-01062011.tar.bz2
stage3-uclibc-x86-01062011.tar.bz2.MD5

25th April, 2011
stage3-uclibc-x86-25042011.tar.bz2
stage3-uclibc-x86-25042011.tar.bz2.md5sum

For historic releases, post a comment, as to which one you require and why a specific version.
If you want the stage1 or stage2, drop a comment and I shall have them uploaded.

For those of you who would like to build these stages themselves, here are the spec files for catalyst:
stage1.spec
stage2.spec
stage3.spec

Be Sociable, Share!

38 Comments

  1. Tweets that mention gentoo uclibc stage3 2010 | jude pereira's blog -- Topsy.com · April 16, 2010 Reply

    [...] This post was mentioned on Twitter by Jude Pereira. Jude Pereira said: New blog post: Gentoo Linux uclibc stage3 2010 [for embedded] http://judepereira.com/blog/gentoo-linux-uclibc-stage3-2010-for-embedded/ [...]

  2. Jude Pereira
    j. pereira · June 28, 2010 Reply

    If anyone would like to have the updated stages, you can comment and I’ll be more than glad to upload the latest one.

    • Tom · September 3, 2011 Reply

      Awesome job!
      Your effort should definitely be integrated with upstream – if not, please keep posting updated stages up here.
      Ever thought about x86_64 stages?

      thanks a lot :)

      • judepereira · September 4, 2011 Reply

        Yes, I’ve asked upstream for this, and they are yet getting back to me. Till then, I will post updates here.

  3. Stefan Hellermann · June 30, 2010 Reply

    Thank you for the stages! I faced many problems with the 2008 uclibc-stages on the gentoo-mirrors, yours is working so far :)

  4. Gustavo Guillermo · July 21, 2010 Reply

    Hello, Thanks a lot for your stages. I’ve tried your stage and I have troubles when reboot or halt, the box refuses to really turn off or reboot, system get stopped but nothing more. I’ve tried to reemerge init, another version of gcc, then init again, but there was no luck.

    Regards.

    • Jude Pereira
      j. pereira · July 21, 2010 Reply

      The problem you are facing is not at all connected to gcc, nor init. If the hardware supports it(very old ones like the celeron do not support software turn off), you’ll need to enable it in the kernel, enable the ACPI Subsystem, and there you should find an option that enables the kernel to shutdown the machine.

      • Gustavo Guillermo · July 22, 2010 Reply

        Of course it supports, :D same kernel from the old superupdated stage3. and if I execute reboof -f or poweroff -f. The box reboot or turn off each case with the new stage. I was looking on inittab but nothing helpful.

        • Jude Pereira
          j. pereira · July 22, 2010 Reply

          Very interesting issue indeed, man poweroff, indicates that -f doesn’t call shutdown, “Force halt or reboot, don’t call shutdown(8).”; same is the case for reboot, there must be something wrong with the shutdown binary.

    • Jude Pereira
      j. pereira · July 22, 2010 Reply

      Do you have the required libraries for /sbin/shutdown? ldd /sbin/shutdown indicates that you need the following:
      linux-vdso.so.1 => (0x00007fff803ff000)
      libc.so.6 => /lib/libc.so.6 (0x00007f89107d0000)
      /lib64/ld-linux-x86-64.so.2 (0x00007f8910b26000)

      • Gustavo Guillermo · July 23, 2010 Reply

        Rebuilding init package all required libraries and binary compat are always fixed.
        mbu5 # qfile /sbin/init
        sys-apps/sysvinit (/sbin/init)
        mbu5 # ldd /sbin/shutdown
        libc.so.0 => /lib/libc.so.0 (0xb783a000)
        ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0xb7890000)
        mbu5 #
        By now, I use this two commands inserted in some init script.
        sync;reboot -f
        But I’ll prefer not to hack the init process.

      • Jude Pereira
        j. pereira · July 23, 2010 Reply

        I say you should try the gentoo forums, someone out there will surely be able to help you out. I’ve never had a similar problem or anything, so I can’t tell what is happening wrong somewhere.

  5. Joel r · September 6, 2010 Reply

    Hey ,

    Check out -> http://free-electrons.com/blog/elc-2010-videos/ , wasnt sure about your email address :\

  6. Leho Kraav · November 10, 2010 Reply

    thanks for the work you’ve put in. how did you get python to cross-compile, i’m having massive problems with it. see last comments of:

    http://bugs.gentoo.org/show_bug.cgi?id=269111

    • Jude Pereira
      j. pereira · November 12, 2010 Reply

      To revert back to your old version of python, try eselect python, and also try using a different version of python, I compiled python on that system, and it was successful. My latest stage has dev-lang/python-3.1.2-r4, which compiled happily without errors.

    • Leho Kraav · November 18, 2010 Reply

      i’m not sure what you mean by “older version of python”. in the fresh ROOT=/usr/i686-gentoo-linux-uclibc there is no python at all to start.

      maybe related to http://bugs.python.org/issue1669349?

      • Jude Pereira
        j. pereira · November 19, 2010 Reply

        Now I’m lost! Your saying that there is no python at all in my stage3s’? Wait a minute… Done, I just untared my latest update, and here’s the output of python –version
        Python 3.1.2
        emerge works fine there, which means there is python, a working python. What do you mean by fresh?

      • Leho Kraav · November 19, 2010 Reply

        no, your i386-g-l-u works perfectly, i’m talking about rolling my own i686 right now. :) basically i’d like to replicate your process. i’ve made some progress getting by the unicodedata failure, but that gave another linking failure and now python segfaults on importing time.so. going to try to emerge gcc into the chroot and then re-compile python inside chroot.

      • Jude Pereira
        j. pereira · November 20, 2010 Reply

        The process is slightly different, you need to install the package deps and the package itself in the stage3, if your using the ROOT argument for portage, this will ensure that all headers are found, and will successfully install. Comment out the line INSTALL_MASK in make.conf

      • Leho Kraav · November 20, 2010 Reply

        jude, the solution was to use the python ebuilds from embedded-cross overlay. max_posedon from #gentoo-openmoko has put some work into it and using them python modules compiled correctly using uclibc and without linking host’s glibc in there. he also has several other ebuilds there for packages that have cross-compilation problems. i had previously applied patches from b.g.o manually, so python was my final step.

      • Jude Pereira
        j. pereira · November 20, 2010 Reply

        Thanks a lot Leho, will certainly take a look at the packages in that overlay.

  7. Sawn · November 10, 2010 Reply

    Thank you for the stages !
    I’m currently updating my netboot image (ramdisk obtained by PXE) :)

  8. PiousMinion · November 12, 2010 Reply

    OMG, thank you thank you thank you.

    I’ve been bashing my head on my desk for the past 3 days fighting with the old stage3s.
    The september one you have should be okay, but I wouldn’t mind an updated stage3 for november. :P

    Also, you’re doing such a great service, maybe someone at gentoo.org will let you put them on the mirrors. :)

    • Jude Pereira
      j. pereira · November 13, 2010 Reply

      As soon as I get some time, I will update the stage3 and publish it on-line, the only issue is that I have my exams coming up, so I don’t get enough time for embedded development.

  9. Jude Pereira
    j. pereira · November 23, 2010 Reply

    An update for this month has been posted, the stage3 being on an external server(all ports except http/https are blocked by my ISP). Verify the integrity of this file by checking its md5 hash, until I can upload it to my blog space.

  10. Jude Pereira
    j. pereira · April 25, 2011 Reply

    Hello all,
    The stage has been updated and is not using the ~x86 testing/unstable branch anymore.

  11. chapuzzo · May 31, 2011 Reply

    Fanatstic job, this saves me looots of time,
    Thanks

  12. Jude Pereira
    jude pereira · June 1, 2011 Reply

    Update: Stage has been updated for the month of June(on 1st June, 2011)

  13. /lib/libc.so.0 · July 8, 2011 Reply

    Thank you very much ;) good to see someone else likes uClibc and similar embedded software :)

  14. René Rhéaume · September 5, 2011 Reply

    Thank you for the effort. I have two questions however. First, where is catalyst recipe you are using? Unlike stages and packages source source, these files are hard to find on the web. Second, do you plan to build a hardened+uclibc stage?

    • judepereira · September 5, 2011 Reply

      I’ve just updated this article to include the spec files for catalyst.

      And no, I don’t intend to build hardened + uclibc stages, because not many people use the hardened profile on uclibc, but it there are several other requests, then yes, I will build them and upload them.

  15. Carlos · May 18, 2012 Reply

    My friend, you post new files ? ex.: uclibc-x86-2012 ?
    Thanks…
    (Sorry My English Is Not Cool)….

    • judepereira · May 18, 2012 Reply

      Hi,
      Yes I will upload the new stages shortly, I currently do not have a good internet connection to build the stages.

  16. Jude Pereira
    jude pereira · June 27, 2012 Reply

    A new stage 3 has been uploaded :)

  17. Mephisto · July 22, 2012 Reply

    Awesome Work Jude! Keep it up man!

  18. Jude Pereira
    Jude Pereira · November 10, 2012 Reply

    Following this Gentoo bug:
    https://bugs.gentoo.org/show_bug.cgi?id=441976
    We have official experimental uClibC for x86 and amd64 stages. I will not be maintaining these unofficial ones any longer.

    The link to the official archives is:
    http://mirrors.rit.edu/gentoo/experimental/x86/uclibc/
    and
    http://mirrors.rit.edu/gentoo/experimental/amd64/uclibc/

Leave a Reply