Difference between revisions of "LinuxInstall"

From ArmadeusWiki
Jump to: navigation, search
m (Launch build)
m (Enjoy the result)
Line 88: Line 88:
  
 
==Enjoy the result==
 
==Enjoy the result==
The generated binary files can be found in the new subdirectory <b>''buildroot/binaries/apf9328/'':</b>
+
The generated binary files can be found in the subdirectory ''buildroot/binaries/apf/'' (where XX is the name of your board):
  
: '''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)
+
: '''apfXX-u-boot.brec''' (only on [[APF9328]]; 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 [[BootLoader#Update_U-Boot | updating U-Boot]])
+
: '''apfXX-u-boot.bin''' (U-Boot image file to be used with U-Boot itself, see [[BootLoader#Update_U-Boot | updating U-Boot]])
: '''apf9328-linux.bin''' (Linux image to use with U-Boot, see [[Target_Software_Installation#Linux_kernel_installation | InstallLinux]])
+
: '''apfXX-linux.bin''' (Linux image to use with U-Boot, see [[Target_Software_Installation#Linux_kernel_installation | InstallLinux]])
: '''apf9328-rootfs.arm.jffs2''' (FileSystem/RootFS image to use with U-Boot, see [[Target_Software_Installation#Linux_rootfs_installation | RootFS flashing]])
+
: '''apfXX-rootfs.arm.jffs2''' (FileSystem/RootFS image to use with U-Boot, see [[Target_Software_Installation#Linux_rootfs_installation | RootFS flashing]])
: '''apf9328-rootfs.arm.tar''' (for an NFS/MMC RootFS, see RootNFS? & [[MultiMediaCard#Booting_from_MMC.2FSD | Booting from a MMC/SD]])
+
: '''apfXX-rootfs.arm.tar''' (for an NFS/MMC RootFS, see RootNFS? & [[MultiMediaCard#Booting_from_MMC.2FSD | Booting from a MMC/SD]])
  
 
<b> Please note the new naming convention of binary files and directories</b>
 
<b> Please note the new naming convention of binary files and directories</b>
  
The toolchain and project files share a new nameing convention too:
+
The toolchain and project files share a new naming convention too (YY is 4t for APF9328 and 5te for APF27):
: '''buildroot/build_armv4t''' (contains all non configurable user-space tools)
+
: '''buildroot/build_armvYY''' (contains all non configurable user-space tools)
: '''buildroot/project_build_armv4t/apf9328''' (contains all configurable user-space tools: target filesystem, <b>linux</b>, busybox and <b>u-boot</b>...)
+
: '''buildroot/project_build_armvYY/apfXX''' (contains all configurable user-space tools: target filesystem, <b>linux</b>, busybox and <b>u-boot</b>...)
: '''buildroot/toolchain_build_armv4t''' (cross compilation toolchain)
+
: '''buildroot/toolchain_build_armvYY''' (cross compilation toolchain)
  
 
More information is available in the  [http://buildroot.uclibc.org/buildroot.html buildroot documentation]
 
More information is available in the  [http://buildroot.uclibc.org/buildroot.html buildroot documentation]

Revision as of 16:23, 25 February 2009

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
Warning Warning: 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 dpkg-reconfigure dash
     and select no


Get Armadeus software

  • If you are a "careful" user:

then download the latest stable installation tarball from SourceForge and detar it wherever you want.

$ tar xjvf armadeus-3.0.tar.bz2
  • If your are upgrading from armadeus-2.x, then take a look at this page
  • If you are a hacker or a registered developer, check out the required files from the SVN repository:
$ svn co https://armadeus.svn.sourceforge.net/svnroot/armadeus/trunk armadeus

A directory named armadeus/ or armadeus-3.0/ 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 distribution you have to specify the target to work with.

 $ cd armadeus/  (or armadeus-3.0/)
 $ make apf9328_defconfig

This command reloads the default configuration to support an APF9328 board and automatically start a Buildroot's configuration menu. For the APF27 it would be:

 $ make apf27_defconfig
Note Note: If you made changes in the next step, at any time you can reload the default configuration with make apf9328_defconfig or make apf27_defconfig.


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 and the full distribution are automatically built. 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 subdirectory buildroot/binaries/apf/ (where XX is the name of your board):

apfXX-u-boot.brec (only on APF9328; BRecord image that can be used with the bootstrap, if U-Boot is not installed or not working, see BootLoader page)
apfXX-u-boot.bin (U-Boot image file to be used with U-Boot itself, see updating U-Boot)
apfXX-linux.bin (Linux image to use with U-Boot, see InstallLinux)
apfXX-rootfs.arm.jffs2 (FileSystem/RootFS image to use with U-Boot, see RootFS flashing)
apfXX-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 naming convention too (YY is 4t for APF9328 and 5te for APF27):

buildroot/build_armvYY (contains all non configurable user-space tools)
buildroot/project_build_armvYY/apfXX (contains all configurable user-space tools: target filesystem, linux, busybox and u-boot...)
buildroot/toolchain_build_armvYY (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)
u-boot.bin (U-Boot image file for use with U-Boot itself)
linux-kernel-2.6.xx-arm.bin (Linux image to use with U-Boot)
rootfs.arm.jffs2 (FileSystem/RootFS image to use with U-Boot)
rootfs.arm.tar (for an NFS/MMC RootFS)

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 apf9328_defconfig

to have the latest features automatically activated and a

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 apf9328_defconfig
$ make

Enjoy!

Other languages:

English Flag.svg English  •  French Flag.svg Français