Hard-float toolchain

Switching to hard-float Raspbian

If your toolchain is not setup correctly for hard-float you will get something like the following:
/home/raspberrypi/x-tools/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-ld: error: adler32.lo uses VFP register arguments, libttlzlib.so does not

Build a new toolchain

Follow the options for setting up crosstools-ng.
This time select hardware floating point.
  • Target Options->Floating point:  softfp
  • You might also want to build to somewhere else. I will not be using the soft-fp version again so I am starting from clean again.

    Create a new rootfs for wheezy

    Download debootstrap from packages.debian.org.
    Create a directory for debootstrap and cd to it.
    Unpack the download.
    su
    export DEBOOTSTRAP_DIR=`pwd`
    
    ./debootstrap --verbose --include=apt --arch armhf \
      --foreign wheezy \
      /home/raspberrypi/Development/wheezy-armhf \
      http://archive.raspbian.org/raspbian
    

    Change the permissions.
    cd /home/raspberrypi/Development/wheezy-armhf
    chmod -R 777 *
    

    Configure scratchbox to use new rootfs and compiler chain.

    Change directory to wheezy.
    sb2-init wheezy-armhf /home/raspberrypi/x-tools/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc
    sb2-config -d wheezy-armhf
    

    Comments