Cross Development Environment: Dependency on Host Components (uClinux)

The cross development environment distribution has the following dependencies on Linux-host software components:

  • The U-Boot, busybox and Linux kernel build systems require that certain host packages be installed on the development host to function correctly. These packages are: make, gcc, perl and some others. Please refer to linux/Documentation/Changes for a list of host tools required to build the Linux kernel. The same set of tools is required for the U-Boot and busybox build.

  • On the 64-bit Linux, install the following packages:

    • On the Ubuntu or Debian distribution:

    $ sudo dpkg --add-architecture i386 $ sudo apt-get update $ sudo apt-get install ia32-libs libc6-dev gcc-multilib
    • On the Fedora or CentOS distribution:

    $ sudo yum install glibc.i686
  • The Linux Cortex-M GNU debugger (tools/bin/arm-v7-linux-uclibceabi-gdb) and the configuration scripts require that the following dynamically-linked libraries to be installed on the host:

    • (the libncurses package);

    • (the expat package);

    • (the libpython package);

  • For example, to be able to run arm-v7-linux-uclibceabi-gdb you'll have to do the following (once):

    • On Ubuntu-10.04 (x32):

      $ sudo vim /etc/apt/sources.list # Add the following lines to the begin of the file: deb lucid main deb-src lucid main $ sudo apt-key adv --keyserver \ --recv-keys DB82666C $ sudo apt-get update $ sudo apt-get install libncurses5 python2.7 python2.7-dev $ sudo ln -s /usr/lib/ /usr/lib/
    • On CentOS 7 (x64):

  • The tools/bin/mkimage utility. It is expected that the utility will work as is on most of today's Linux distributions. If it fails to run on a certain host, you can build it for your specific Linux host from the sources included in the Linux Cortex-M distribution by running make tools from the top of the U-Boot tree.

  • To build the run-time projects included to the distribution, you need to install the following host packages:

    • NFS server;

    • TFTP server;

    • Terminal emulator (picocom, minicom, kermit or PuTTY).

  • If your target board uses USB for the serial console connection you might need to install the FTDI USB-UART driver from for your host.