title: How to install the aarch64 toolchain for armv8 cortex-a53 on Debian?
body: <p>I'm wanting to start low level programming on ARM chips. I've installed qemu and followed a few example programs for hello world type stuff, but now I want to target the latest Raspberry Pi, which has the ARMv8 <code>cortex-a53</code> and <code>neon-fp-armv8</code> FPU. I'm currently running Debian:</p>
  
  <pre><code>$ lsb_release -a
      No LSB modules are available.
      Distributor ID: BunsenLabs
      Description:    BunsenLabs GNU/Linux 8.5 (Hydrogen)
      Release:    8.5
      Codename:   bunsen-hydrogen
  
  $ cat /etc/debian_version
      8.5
  </code></pre>
  
  <p>I've currently installed the following toolchain:</p>
  
  <pre><code>binutils-arm-none-eabi
  gcc-arm-none-eabi
  gdb-arm-none-eabi
  </code></pre>
  
  <p>However, when I try to compile with <code>-mcpu=cortex-a53</code>, I receive the following error:</p>
  
  <p><code>arm-none-eabi-gcc: error: unrecognized argument in option '-mcpu=cortex-a53'</code></p>
  
  <pre><code>$ arm-none-eabi-gcc --version
      arm-none-eabi-gcc (4.8.4-1+11-1) 4.8.4 20141219 (release)
  </code></pre>
  
  <p>I assumed I had an older GCC that did not contain that target CPU, so I tried to download the source for binutils, gcc, and gdb but I am unable to build binutils. It always fails when trying to <code>make all</code>. </p>
  
  <p>binutils configuration:</p>
  
  <pre><code>$../../src/binutils-2.26.51/configure \
   --target=arm-none-eabi \
   --disable-nls
  </code></pre>
  
  <p>Build error:</p>
  
  <pre><code>$make -j4
      checking for bison... /home/nathan/development/tools/arm/src/binutils-2.26.51/missing bison -y
      checking for flex... /home/nathan/development/tools/arm/src/binutils-2.26.51/missing flex
      checking lex output file root... configure: error: cannot find output from /home/nathan/development/tools/arm/src/binutils-2.26.51/missing flex; giving up
      Makefile:3545: recipe for target 'configure-binutils' failed
      make[1]: *** [configure-binutils] Error 1
      no
      checking for bison... /home/nathan/development/tools/arm/src/binutils-2.26.51/missing bison -y
      checking for flex... /home/nathan/development/tools/arm/src/binutils-2.26.51/missing flex
      checking lex output file root... configure: error: cannot find output from /home/nathan/development/tools/arm/src/binutils-2.26.51/missing flex; giving up
      Makefile:4834: recipe for target 'configure-gas' failed
      make[1]: *** [configure-gas] Error 1
      make[1]: Leaving directory '/home/nathan/development/tools/arm/build/binutils-2.26.51'
      Makefile:844: recipe for target 'all' failed
      make: *** [all] Error 2
  </code></pre>
  
  <p>What are the proper steps I need to take in order to get a toolchain setup to compile for an aarch64 <code>cortex-a53</code> architecture?</p>
  
  <p><strong>Edit 1</strong></p>
  
  <p>Discovered through the comments, I need to install the aarch64 toolchain, not the arm toolchain. Still clueless.</p>