Loading ...
Sorry, an error occurred while loading the content.

How to build crosstool-0.28-rc32 for NSLU2 Linux development

Expand Messages
  • NSLU2 Linux
    1/ Grab a Linux box (I used Debian 3.1 testing on an Intel architecture) Other architectures and versions of Linux may well work. If you get errors, then
    Message 1 of 6 , Sep 5, 2004
    • 0 Attachment
      1/ Grab a Linux box (I used Debian 3.1 "testing" on an Intel architecture)

      Other architectures and versions of Linux may well work. If you get
      errors, then start again on an i386 Debian 3.1 box. In particular the
      version of gcc that I used was: gcc (GCC) 3.3.4 (Debian 1:3.3.4-3).
      Don't ask about how to do it on a Mac OS-X box, because I can't help
      you. Hopefully someone else will work that out and post a how-to like
      this one.

      2/ Download crosstool-0.28-rc32 from:

      http://kegel.com/crosstool/crosstool-0.28-rc32.tar.gz

      You need to use crosstool version 0.28-rc32 (not rc34, and not rc35,
      and not any other version either). You're on your own if you decide
      to ignore this advice. Other versions probably will work (with some
      patching), but no-one has posted a how-to for a different version, so
      why waste your time? Of course, if you are the person who is
      knowledgeable enough to get a newer version to work without bugging
      any other people who are happily using 0.28-rc32, then please do so
      and post your how-to here so that we can *all* upgrade to the new
      version *together*.

      3/ Untar that - it will create a crosstool-0.28-rc32 directory.

      4/ Detach the demo-nslu2.sh file from this message and put it in that directory.

      This file assumes that you have write access to /opt/crosstool (this
      is where your resulting toolchain will end up) and $HOME/downloads
      (this is where all the downloads will be stored). If you don't, then
      change the paths to suit. Do *not* change any of the tool version
      numbers in this file. Don't even be tempted ...

      5/ Download the required patch from:

      http://www.knowledgemessaging.com/nslu2/gcc-3.3.2-arm-softfloat.patch

      6/ Put the patch in the patches/gcc-3.3.3 directory (yes, I know the
      patch says 3.3.2 - put it in the 3.3.3 directory anyway). Don't try
      and apply it manually or anything like that - just put it there and
      leave it alone.

      7/ Change directory into the crosstool-0.28-rc32 directory.

      8/ Type "sh demo-nslu2.sh" and wait for a long time (yes it could be hours).

      9/ Add the /opt/crosstool/armv5b-softfloat-linux/gcc-3.3.3-glibc-2.2.5/bin
      directory to your PATH. Verify that you can run
      "armv5b-softfloat-linux-gcc --version".

      This process was worked out by Benoit on Aug 17
      (http://groups.yahoo.com/group/nslu2-linux/message/422), and has been
      followed successfully by at least 10 different people since then. So
      if you have problems, it's not because of crosstool or the patch (and
      no, you shouldn't try a different version if you can't get this
      version to work). Look to your own actions first.

      If you have problems (and have followed this exact procedure twice
      with the same result), then post your complete Linux O/S details, the
      URLs and md5sums of all the files you downloaded (including the
      demo-nslu2.sh file you detached from this message), the *exact*
      commands you typed (yes, every single one of them, cut and pasted from
      your shell window), and the error messages (again, cut and pasted from
      your shell window).

      Have fun!

      [Did I mention that you have to use crosstool version 0.28-rc32? I did? Good.]
    • itwerx3
      It s working on Fedora Core 1 also. As an aside, I did not use the floating point patch, (but then again my simple Hello World test probably didn t need it :).
      Message 2 of 6 , Sep 5, 2004
      • 0 Attachment
        It's working on Fedora Core 1 also.
        As an aside, I did not use the floating point patch, (but then again my simple Hello World
        test probably didn't need it :).


        --- In nslu2-linux@yahoogroups.com, NSLU2 Linux <unslung@g...> wrote:
        > 1/ Grab a Linux box (I used Debian 3.1 "testing" on an Intel architecture)
        >
        > Other architectures and versions of Linux may well work. If you get
        > errors, then start again on an i386 Debian 3.1 box. In particular the
        > version of gcc that I used was: gcc (GCC) 3.3.4 (Debian 1:3.3.4-3).
        > Don't ask about how to do it on a Mac OS-X box, because I can't help
        > you. Hopefully someone else will work that out and post a how-to like
        > this one.
        >
        > 2/ Download crosstool-0.28-rc32 from:
        >
        > http://kegel.com/crosstool/crosstool-0.28-rc32.tar.gz
        >
        > You need to use crosstool version 0.28-rc32 (not rc34, and not rc35,
        > and not any other version either). You're on your own if you decide
        > to ignore this advice. Other versions probably will work (with some
        > patching), but no-one has posted a how-to for a different version, so
        > why waste your time? Of course, if you are the person who is
        > knowledgeable enough to get a newer version to work without bugging
        > any other people who are happily using 0.28-rc32, then please do so
        > and post your how-to here so that we can *all* upgrade to the new
        > version *together*.
        >
        > 3/ Untar that - it will create a crosstool-0.28-rc32 directory.
        >
        > 4/ Detach the demo-nslu2.sh file from this message and put it in that directory.
        >
        > This file assumes that you have write access to /opt/crosstool (this
        > is where your resulting toolchain will end up) and $HOME/downloads
        > (this is where all the downloads will be stored). If you don't, then
        > change the paths to suit. Do *not* change any of the tool version
        > numbers in this file. Don't even be tempted ...
        >
        > 5/ Download the required patch from:
        >
        > http://www.knowledgemessaging.com/nslu2/gcc-3.3.2-arm-softfloat.patch
        >
        > 6/ Put the patch in the patches/gcc-3.3.3 directory (yes, I know the
        > patch says 3.3.2 - put it in the 3.3.3 directory anyway). Don't try
        > and apply it manually or anything like that - just put it there and
        > leave it alone.
        >
        > 7/ Change directory into the crosstool-0.28-rc32 directory.
        >
        > 8/ Type "sh demo-nslu2.sh" and wait for a long time (yes it could be hours).
        >
        > 9/ Add the /opt/crosstool/armv5b-softfloat-linux/gcc-3.3.3-glibc-2.2.5/bin
        > directory to your PATH. Verify that you can run
        > "armv5b-softfloat-linux-gcc --version".
        >
        > This process was worked out by Benoit on Aug 17
        > (http://groups.yahoo.com/group/nslu2-linux/message/422), and has been
        > followed successfully by at least 10 different people since then. So
        > if you have problems, it's not because of crosstool or the patch (and
        > no, you shouldn't try a different version if you can't get this
        > version to work). Look to your own actions first.
        >
        > If you have problems (and have followed this exact procedure twice
        > with the same result), then post your complete Linux O/S details, the
        > URLs and md5sums of all the files you downloaded (including the
        > demo-nslu2.sh file you detached from this message), the *exact*
        > commands you typed (yes, every single one of them, cut and pasted from
        > your shell window), and the error messages (again, cut and pasted from
        > your shell window).
        >
        > Have fun!
        >
        > [Did I mention that you have to use crosstool version 0.28-rc32? I did? Good.]
        >
        > #!/bin/sh
        > set -ex
        > TARBALLS_DIR=$HOME/downloads
        > RESULT_TOP=/opt/crosstool
        > export TARBALLS_DIR RESULT_TOP
        > GCC_LANGUAGES="c,c++"
        > export GCC_LANGUAGES
        >
        > # Really, you should do the mkdir before running this,
        > # and chown /opt/crosstool to yourself so you don't need to run as root.
        > mkdir -p $RESULT_TOP
        >
        > # Build the toolchain. Takes a couple hours and a couple gigabytes.
        >
        > eval `cat armv5b-softfloat.dat gcc-3.3.3-glibc-2.2.5.dat` sh all.sh --notest
        >
        > echo Done.
      • Roy M. Silvernail
        ... I m on a current Gentoo box with gcc (GCC) 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6). Crosstool built without complaint. Then I built
        Message 3 of 6 , Sep 6, 2004
        • 0 Attachment
          On Sun, 2004-09-05 at 22:43, NSLU2 Linux wrote:
          > 1/ Grab a Linux box (I used Debian 3.1 "testing" on an Intel architecture)
          >
          > Other architectures and versions of Linux may well work. If you get
          > errors, then start again on an i386 Debian 3.1 box. In particular the
          > version of gcc that I used was: gcc (GCC) 3.3.4 (Debian 1:3.3.4-3).

          I'm on a current Gentoo box with gcc (GCC) 3.3.4 20040623 (Gentoo Linux
          3.3.4-r1, ssp-3.3.2-2, pie-8.7.6). Crosstool built without complaint.
          Then I built UNSLUNG. It also built without complaint, but the image it
          produced is a brickmaker. (flashing green Ready LED forever... I've
          become pretty good at the RedBoot unbrick dance)

          I've currently got Rod's UNSLUNG-1.8-V23R25.bin image up and running,
          but would like to compile a local copy successfully.

          Don't know if this is significant, but no two successive local builds
          produce the same MD5 on the firmware image.
          --
          Roy M. Silvernail is roy@..., and you're not
          "Progress, like reality, is not optional." - R. A. Hettinga
          SpamAssassin->procmail->/dev/null->bliss
          http://www.rant-central.com
        • Roy M. Silvernail
          ... And I do now... 1.9 runs just fine.
          Message 4 of 6 , Sep 8, 2004
          • 0 Attachment
            Roy M. Silvernail wrote:

            > I've currently got Rod's UNSLUNG-1.8-V23R25.bin image up and running,
            > but would like to compile a local copy successfully.

            And I do now... 1.9 runs just fine.
          • Jwahar Bammi
            Has anyone succeed with this procedure on Fedora FC3? I followed this procedure twice (to make sure), and the build fails when it is building glibc, with the
            Message 5 of 6 , Dec 2, 2004
            • 0 Attachment
              Has anyone succeed with this procedure on Fedora FC3?
              I followed this procedure twice (to make sure), and the build fails
              when it is building glibc, with the following message

              armv5b-softfloat-linux/bin/ld: cannot represent machine `arm:linux'

              (this error occurs in the step where it is building crt1.o)

              (this same happens when i follow the Howto to build oe based
              unslung-image -- it tries to build the cross tools, and fails with the
              same message at the same point. This leads me to suspect something in
              the Fedora FC3 setup is throwing bot these procedures off. (I have
              checked and doubled checked all the setting, unset LD_LIBRARY_PATH,
              C_INCLUDE_PATH etc))

              any comments much appreciated.

              cheers,
              ++jrb

              --- In nslu2-linux@yahoogroups.com, NSLU2 Linux <unslung@g...> wrote:
              > 1/ Grab a Linux box (I used Debian 3.1 "testing" on an Intel
              architecture)
              >
              > Other architectures and versions of Linux may well work. If you get
              > errors, then start again on an i386 Debian 3.1 box. In particular the
              > version of gcc that I used was: gcc (GCC) 3.3.4 (Debian 1:3.3.4-3).
              > Don't ask about how to do it on a Mac OS-X box, because I can't help
              > you. Hopefully someone else will work that out and post a how-to like
              > this one.
              >
              > 2/ Download crosstool-0.28-rc32 from:
              >
              > http://kegel.com/crosstool/crosstool-0.28-rc32.tar.gz
              >
              > You need to use crosstool version 0.28-rc32 (not rc34, and not rc35,
              > and not any other version either). You're on your own if you decide
              > to ignore this advice. Other versions probably will work (with some
              > patching), but no-one has posted a how-to for a different version, so
              > why waste your time? Of course, if you are the person who is
              > knowledgeable enough to get a newer version to work without bugging
              > any other people who are happily using 0.28-rc32, then please do so
              > and post your how-to here so that we can *all* upgrade to the new
              > version *together*.
              >
              > 3/ Untar that - it will create a crosstool-0.28-rc32 directory.
              >
              > 4/ Detach the demo-nslu2.sh file from this message and put it in
              that directory.
              >
              > This file assumes that you have write access to /opt/crosstool (this
              > is where your resulting toolchain will end up) and $HOME/downloads
              > (this is where all the downloads will be stored). If you don't, then
              > change the paths to suit. Do *not* change any of the tool version
              > numbers in this file. Don't even be tempted ...
              >
              > 5/ Download the required patch from:
              >
              >
              http://www.knowledgemessaging.com/nslu2/gcc-3.3.2-arm-softfloat.patch
              >
              > 6/ Put the patch in the patches/gcc-3.3.3 directory (yes, I know the
              > patch says 3.3.2 - put it in the 3.3.3 directory anyway). Don't try
              > and apply it manually or anything like that - just put it there and
              > leave it alone.
              >
              > 7/ Change directory into the crosstool-0.28-rc32 directory.
              >
              > 8/ Type "sh demo-nslu2.sh" and wait for a long time (yes it could be
              hours).
              >
              > 9/ Add the
              /opt/crosstool/armv5b-softfloat-linux/gcc-3.3.3-glibc-2.2.5/bin
              > directory to your PATH. Verify that you can run
              > "armv5b-softfloat-linux-gcc --version".
              >
              > This process was worked out by Benoit on Aug 17
              > (http://groups.yahoo.com/group/nslu2-linux/message/422), and has been
              > followed successfully by at least 10 different people since then. So
              > if you have problems, it's not because of crosstool or the patch (and
              > no, you shouldn't try a different version if you can't get this
              > version to work). Look to your own actions first.
              >
              > If you have problems (and have followed this exact procedure twice
              > with the same result), then post your complete Linux O/S details, the
              > URLs and md5sums of all the files you downloaded (including the
              > demo-nslu2.sh file you detached from this message), the *exact*
              > commands you typed (yes, every single one of them, cut and pasted from
              > your shell window), and the error messages (again, cut and pasted from
              > your shell window).
              >
              > Have fun!
              >
              > [Did I mention that you have to use crosstool version 0.28-rc32? I
              did? Good.]
              >
              > #!/bin/sh
              > set -ex
              > TARBALLS_DIR=$HOME/downloads
              > RESULT_TOP=/opt/crosstool
              > export TARBALLS_DIR RESULT_TOP
              > GCC_LANGUAGES="c,c++"
              > export GCC_LANGUAGES
              >
              > # Really, you should do the mkdir before running this,
              > # and chown /opt/crosstool to yourself so you don't need to run as root.
              > mkdir -p $RESULT_TOP
              >
              > # Build the toolchain. Takes a couple hours and a couple gigabytes.
              >
              > eval `cat armv5b-softfloat.dat gcc-3.3.3-glibc-2.2.5.dat` sh all.sh
              --notest
              >
              > echo Done.
            • mark5segal
              Did you try crosstool-0.28-rc35 ? I got it built on FC3 and Gentoo. ... root.
              Message 6 of 6 , Dec 2, 2004
              • 0 Attachment
                Did you try "crosstool-0.28-rc35"? I got it built on FC3 and Gentoo.

                --- In nslu2-linux@yahoogroups.com, "Jwahar Bammi" <bammi@m...> wrote:
                >
                > Has anyone succeed with this procedure on Fedora FC3?
                > I followed this procedure twice (to make sure), and the build fails
                > when it is building glibc, with the following message
                >
                > armv5b-softfloat-linux/bin/ld: cannot represent machine `arm:linux'
                >
                > (this error occurs in the step where it is building crt1.o)
                >
                > (this same happens when i follow the Howto to build oe based
                > unslung-image -- it tries to build the cross tools, and fails with the
                > same message at the same point. This leads me to suspect something in
                > the Fedora FC3 setup is throwing bot these procedures off. (I have
                > checked and doubled checked all the setting, unset LD_LIBRARY_PATH,
                > C_INCLUDE_PATH etc))
                >
                > any comments much appreciated.
                >
                > cheers,
                > ++jrb
                >
                > --- In nslu2-linux@yahoogroups.com, NSLU2 Linux <unslung@g...> wrote:
                > > 1/ Grab a Linux box (I used Debian 3.1 "testing" on an Intel
                > architecture)
                > >
                > > Other architectures and versions of Linux may well work. If you get
                > > errors, then start again on an i386 Debian 3.1 box. In particular the
                > > version of gcc that I used was: gcc (GCC) 3.3.4 (Debian 1:3.3.4-3).
                > > Don't ask about how to do it on a Mac OS-X box, because I can't help
                > > you. Hopefully someone else will work that out and post a how-to like
                > > this one.
                > >
                > > 2/ Download crosstool-0.28-rc32 from:
                > >
                > > http://kegel.com/crosstool/crosstool-0.28-rc32.tar.gz
                > >
                > > You need to use crosstool version 0.28-rc32 (not rc34, and not rc35,
                > > and not any other version either). You're on your own if you decide
                > > to ignore this advice. Other versions probably will work (with some
                > > patching), but no-one has posted a how-to for a different version, so
                > > why waste your time? Of course, if you are the person who is
                > > knowledgeable enough to get a newer version to work without bugging
                > > any other people who are happily using 0.28-rc32, then please do so
                > > and post your how-to here so that we can *all* upgrade to the new
                > > version *together*.
                > >
                > > 3/ Untar that - it will create a crosstool-0.28-rc32 directory.
                > >
                > > 4/ Detach the demo-nslu2.sh file from this message and put it in
                > that directory.
                > >
                > > This file assumes that you have write access to /opt/crosstool (this
                > > is where your resulting toolchain will end up) and $HOME/downloads
                > > (this is where all the downloads will be stored). If you don't, then
                > > change the paths to suit. Do *not* change any of the tool version
                > > numbers in this file. Don't even be tempted ...
                > >
                > > 5/ Download the required patch from:
                > >
                > >
                > http://www.knowledgemessaging.com/nslu2/gcc-3.3.2-arm-softfloat.patch
                > >
                > > 6/ Put the patch in the patches/gcc-3.3.3 directory (yes, I know the
                > > patch says 3.3.2 - put it in the 3.3.3 directory anyway). Don't try
                > > and apply it manually or anything like that - just put it there and
                > > leave it alone.
                > >
                > > 7/ Change directory into the crosstool-0.28-rc32 directory.
                > >
                > > 8/ Type "sh demo-nslu2.sh" and wait for a long time (yes it could be
                > hours).
                > >
                > > 9/ Add the
                > /opt/crosstool/armv5b-softfloat-linux/gcc-3.3.3-glibc-2.2.5/bin
                > > directory to your PATH. Verify that you can run
                > > "armv5b-softfloat-linux-gcc --version".
                > >
                > > This process was worked out by Benoit on Aug 17
                > > (http://groups.yahoo.com/group/nslu2-linux/message/422), and has been
                > > followed successfully by at least 10 different people since then. So
                > > if you have problems, it's not because of crosstool or the patch (and
                > > no, you shouldn't try a different version if you can't get this
                > > version to work). Look to your own actions first.
                > >
                > > If you have problems (and have followed this exact procedure twice
                > > with the same result), then post your complete Linux O/S details, the
                > > URLs and md5sums of all the files you downloaded (including the
                > > demo-nslu2.sh file you detached from this message), the *exact*
                > > commands you typed (yes, every single one of them, cut and pasted from
                > > your shell window), and the error messages (again, cut and pasted from
                > > your shell window).
                > >
                > > Have fun!
                > >
                > > [Did I mention that you have to use crosstool version 0.28-rc32? I
                > did? Good.]
                > >
                > > #!/bin/sh
                > > set -ex
                > > TARBALLS_DIR=$HOME/downloads
                > > RESULT_TOP=/opt/crosstool
                > > export TARBALLS_DIR RESULT_TOP
                > > GCC_LANGUAGES="c,c++"
                > > export GCC_LANGUAGES
                > >
                > > # Really, you should do the mkdir before running this,
                > > # and chown /opt/crosstool to yourself so you don't need to run as
                root.
                > > mkdir -p $RESULT_TOP
                > >
                > > # Build the toolchain. Takes a couple hours and a couple gigabytes.
                > >
                > > eval `cat armv5b-softfloat.dat gcc-3.3.3-glibc-2.2.5.dat` sh all.sh
                > --notest
                > >
                > > echo Done.
              Your message has been successfully submitted and would be delivered to recipients shortly.