world leader in high performance signal processing
Trace: » installing_linux

Installing Linux

This describes installing Linux on a host development machine. If you are interested in installing the development tools, check out Toolchain Build Script

If you can, you should do all your development on a Linux host. If you are unable to find a machine to dedicate to Linux, you can run everything on a Windows Machine with coLinux.

There are many good, and easy Linux distributions to get started. They all have their upsides and down (some more than others). Many distributions are tracked on distrowatch. Popular distributions are not always best, but sometimes having lots of other people using the same software as you can be a good thing, when you are running into a problem.

Some distros that have been proven to work fine:

Please understand that while we attempt to help everyone, there are many things about setting up a development host that are outside the scope of assistance we can offer. If you are having a host side problem - go ask your Linux distribution vendor - not us. If you are having a problem on the target - then we will be glad to attempt to solve the issue.

Configuring Linux

After getting your distribution installed (which is beyond the scope of this documentation), please make sure you have these packages installed (as well as the development versions of them):

  • binutils
  • gcc
  • glibc development files
  • ncurses
  • zlib
  • texinfo
  • GTK+
  • QT
  • TCL/TK
  • host side kernel source

Suse based distributions

Zypper is the native command line interface of the ZYpp package manager (sponsored by Novell) for installing, removing, updating and querying software packages of local or remote (networked) media. Its graphical equivalent is the YaST package manager module. It is available in openSUSE since version 10.2 beta1.

You can type this exact sequence from the command line. This has been tested on OpenSuse 11.1, but future versions may vary, but should be close.

  • Ensure you are using the latest packages for everything on your system:
    $ sudo zypper patch
  • Install all the mandatory prerequisites for building c, c++ and kernel compiling
    $ sudo zypper install autoconf automake bash binutils bison bzip2 \
       coreutils flex gawk gcc gettext grep intltool iputils libtool \
       glibc-devel liblzo2-2 lzo-devel libncurses5 libglib2.0-dev libpixman-1-dev\
       m4 make pax-utils pkg-config rpm texinfo zlib
  • Install packages required for Fortran development:
    $ sudo zypper install gpm gmp-devel libmpfr1 mpfr-devel
  • If you want to build tools that use TCL/TK/X (insight)
    $ sudo zypper install xorg-x11-devel
  • If you want to use ”make xconfig”, you need a few other things:
    $ sudo zypper install gcc-c++ qt3-devel gtk-devel libglade2-devel
  • Install packages required for USB JTAG:
    $ sudo zypper install libusb-dev libftdi-dev
  • Install all the optional tools needed for testing the toolchain:
    $ sudo zypper install bc dejagnu expect psmisc rsh xorg-x11-server-extra
  • Install all the optional tools to help and assist development
    $ sudo zypper install ckermit diffstat ftp lrzsz mailx minicom \
                 rsh ssh openssh-server subversion tftp yast2-tftp-server tree vim xinetd patch
  • If you want to build to a toolchain to run in Windows via mingw
    $ sudo zypper install mingw32 nsis

apt-get based distributions

The Debian tool apt-get Advanced Packaging Tool (APT), is very popular, has been adopted by many distributions, as well as Debian based Distributions including Ubuntu.

You can type this exact sequence from the command line. This works on Ubuntu 7.10 _Gutsy Gibbon_ - Release i386 (20071016) - other versions, or other apt-get distributions may vary, but should be close.

  • Ensure you are using the latest packages for everything on your system:
    $ sudo apt-get upgrade
    
  • Install all the mandatory prerequisites for building c, c++ and kernel compiling
    $ sudo apt-get install autoconf automake bash binutils bison bzip2 \
       coreutils flex gawk gcc gettext grep intltool iputils-ping libtool \
       linux-libc-dev liblzo2-dev liblzo2-2 libncurses5 libreadline5 \
       libglib2.0-dev libreadline-gplv2-dev libncurses5-dev libpixman-1-dev \
       m4 make pax-utils pkg-config rpm texinfo zlib1g zlib1g-dev uuid-dev
    
  • Install packages required for Fortran development:
    $ sudo apt-get install libgmp3-dev libmpfr-dev
    
  • If you want to build tools that use Tcl/Tk/X (insight)
    $ sudo apt-get install libx11-dev
    
  • If you want to use ”make xconfig” instead of ”make menuconfig”, you need a few other things:
    $ sudo apt-get install g++ qt3-apps-dev libgtk2.0-dev libglade2-dev qt4-qmake
    

Note: In the case that make xconfig makes trouble, you should first try the following: ”sudo update-alternatives --config moc” and select moc-qt4 for recent bfin kernel (2.6.38 or more recent), and select moc-qt3 in other cases. Do ”make distclean” and you're done. If moc-qt4 is not listed, a system upgrade may be necessary (e.g. Ubuntu requirement: 11.10). With distribution ”make config_qconfig” (or xconfig), you may need to invoke ”make -C config/kconfig clean” if a build problem occurs.

  • Install packages required for USB JTAG:
    $ sudo apt-get install libusb-dev libftdi-dev
    
  • Install all the optional tools needed for testing the toolchain:
    $ sudo apt-get install bc dejagnu expect psmisc rsh-client xvfb
    
  • Install all the optional tools to help and assist development
    $ sudo apt-get install ckermit diffstat ftp lrzsz minicom \
                 rsh-client ssh openssh-server subversion tftp-hpa tftpd-hpa  \
                 tree vim xinetd patch git-core 
    
  • If you want to build to a toolchain to run in Windows via mingw
    $ sudo apt-get install mingw32 nsis
    

Complete Table of Contents/Topics