LinuxInstall

From ArmadeusWiki
Revision as of 16:31, 6 December 2008 by Jorasse (Talk | contribs) (Enjoy the result)

Jump to: navigation, search

How-To install Armadeus Software Development Kit (SDK) on Linux systems.

The installation was successfully tested on the following distributions:

  • Debian Sarge & Etch
  • Fedora Core 3 & 4
  • SuSE 10.1
  • Ubuntu Dapper Drake (6.04)
  • Kubuntu & Xubuntu Edgy Eft (6.10)
  • KUbuntu Gusty Gibbon (7.10)
  • KUbuntu Hardy Heron (8.04)
  • Mandriva 2006


Prerequisites for Linux installation

Depending on your distribution, some additional packages are required. For Debian based system, you can use the following command to get them:

$ sudo apt-get install autoconf automake bison flex g++ gettext libncurses5-dev liblzo1 liblzo-dev liblzo2-2 liblzo2-dev \
               patch subversion texinfo wget zlib1g-dev libacl1 libacl1-dev libtool

For Ubuntu based systems, the following is now required if your /bin/sh is not pointing to /bin/bash:

$ ls -al /bin/sh
lrwxrwxrwx 1 root root 4 2007-12-08 18:33 /bin/sh -> dash
$ sudo ln -sf /bin/bash /bin/sh
$ ls -al /bin/sh
lrwxrwxrwx 1 root root 9 2008-11-04 18:10 /bin/sh -> /bin/bash

Get Armadeus software

  • If you are a "carefull" user:

then download the latest stable installation tarball from SourceForge: http://sourceforge.net/projects/armadeus and detar it wherever you want.

$ tar xjvf armadeusArchiveName.tar.bz2
  • If you are a hacker or a registered developper, check out the required files from the SVN repository:
$ svn co https://armadeus.svn.sourceforge.net/svnroot/armadeus/trunk armadeus

A directory named armadeus/ will be created on your hard-disk and will contain all the files you need.

Remarks:

Configure SDK options

The first time you compile an armadeus directory you have to specify the target to work with.

$ cd armadeus/
$ make apf9328_defconfig

This command reloads the default configuration to support an apf9328 board and start automatically a configuration menu.

At any time you can reload the default configuration with apf9328_defconfig

previous versions of Armadeus and software releases 2.x did not support the command make apf9328_defconfig. make or make menuconfig were the reference commands.

It is possible to change the armadeus configuration at any time using the command make menuconfig

$ make menuconfig

This will launch Buildroot configuration.
Menuconfig3.png
If you are not familiar with Buildroot here are some tips:

  • you can move the highlighted item with the "up"/"down" arrow keys
  • with the "left"/"right" arrow keys you can choose between "Select", "Exit" or "Help" buttons
  • "space"/"enter":
    • selects the currently highlighted item if you are on the "Select" button
    • go back in previous menu if you are on "Exit" button
    • show you some Help for current item if you are on "Help" button
  • for more Help about Buildroot commands, select "Help" in the main configuration screen


In Target options ---> Armadeus Device Support menu, you can check and change the quantity of RAM available on your Armadeus board (apf9328). (Default value: 16MB is just fine with all APF9328 boards).

In Target filesystem options --> for each type of filesystems to build you have the option to copy the binary file to secondary location like your tftp server folder (for exemple /tftpboot).

In Target filesystem options --> You will find U-Boot options at the end of this menu including the option to copy U-Boot to a secondary location like /tftpboot

In Kernel --> Destination for linux kernel binaries --> You will find options to copy linux to a secondary location like /tftpboot

  • You may decrease the compilation time by increasing the number of parallel jobs running simultaneously on your system (the result is not guaranteed). This option is located in Build Options ---> (1) Number of jobs to run simultaneously menu.
  • The toolchain is built automatically. During this procedure, several files are downloaded from Internet. The downloaded files are put by default in the armadeus/downloads/ directory. If you have several views or plan to build the toolchain several times, we advise you to put all the downloaded files in /local/downloads (for example). This is done by configuring Buildroot to use this directory for all your views: Build options ---> Download dir.

Build config menu download.png

Build config download.png

We advise you too to burn a CD-Rom with all the files in downloads/ in case you want to install the development tools on several systems.

  • Exit the configuration tool and save your configuration

Launch build

$ make

The toolchain is built automatically. During this procedure, several files are downloaded from Internet. Please wait for a while.... it takes at least one hour for the first run!
The downloaded files are put by default in the armadeus/downloads/ directory. If you have several views we advise you to put all the downloaded files in /local/armadeus/downloads (for example) by configuring Buildroot to use this directory for all your views: Build options ---> Download dir.
We advise you too to burn a CD-Rom with all the files in downloads/ in case you want to install the development tools on several systems.

Enjoy the result

The generated binary files can be found in the new subdirectory buildroot/binaries/apf9328/:

apf9328-u-boot.brec (BRecord image that can be used with the bootstrap, if U-Boot is not installed or not working, see BootLoader page)
apf9328-u-boot.bin (U-Boot image file to be used with U-Boot itself, see updating U-Boot)
apf9328-linux.bin (Linux image to use with U-Boot, see InstallLinux)
apf9328-rootfs.arm.jffs2 (FileSystem/RootFS image to use with U-Boot, see RootFS flashing)
apf9328-rootfs.arm.tar (for an NFS/MMC RootFS, see RootNFS? & Booting from a MMC/SD)

Please note the new naming convention of binary files and directories

The toolchain and project files share a new nameing convention too:

buildroot/build_armv4t (contains all non configurable user-space tools)
buildroot/project_build_armv4t/apf9328 (contains all configurable user-space tools: target filesystem, linux, busybox and u-boot...)
buildroot/toolchain_build_armv4t (cross compilation toolchain)

More information is available in the buildroot documentation

  • Note: Previous version of Armadeus stored the generated binary files at different place buildroot/binaries/armadeus/ and file names did not contained any prefix of board name:
u-boot.brec (BRecord image that can be used with the bootstrap, if U-Boot is not installed or not working, see BootLoader page)
u-boot.bin (U-Boot image file for use with U-Boot itself, see updating U-Boot)
linux-kernel-2.6.xx-arm.bin (Linux image to use with U-Boot, see InstallLinux)
rootfs.arm.jffs2 (FileSystem/RootFS image to use with U-Boot, see RootFS flashing)
rootfs.arm.tar (for an NFS/MMC RootFS, see RootNFS? & Booting from a MMC/SD)

To keep your copy up-to-date with the armadeus SVN repository

$ svn update

This will update your working directory to the latest release.

Note: if "svn update" fails because a directory or a file already exists, then do:

$ rm -rf <this-directory/file>
$ svn update

You can do a:

$ make defconfig

to have the latest features automatically activated and a

$ make menuconfig

to set again your personnal parameters (SDRAM size...).

You have to do a make to rebuild binary files and then upload the binary files to your target.

Note: if definitively everything goes wrong while it worked before the last update. You can apply the following procedure (all your modifications in buildroot will be lost):

$ rm -rf buildroot/
$ rm Makefile
$ svn update
$ make
$ make

Enjoy!


FrenchFlag.png Cette page en français