Difference between revisions of "LinuxInstall"

From ArmadeusWiki
Jump to: navigation, search
m (Enjoy the result)
(Configure SDK options)
Line 55: Line 55:
  
 
[[Image:Menuconfig3.png]]<br>
 
[[Image:Menuconfig3.png]]<br>
If you are not familiar with Buildroot here are some tips:
+
*If you are not familiar with Buildroot here are some tips:
* you can move the highlighted item with the "up"/"down" arrow keys
+
*# 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
+
*# with the "left"/"right" arrow keys you can choose between "Select", "Exit" or "Help" buttons
* "space"/"enter":
+
*# "space"/"enter":
** selects the currently highlighted item if you are on the "Select" button
+
*#* selects the currently highlighted item if you are on the "Select" button
** go back in previous menu if you are on "Exit" 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
+
*#* 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
+
*# for more Help about Buildroot commands, select "Help" in the main configuration screen
<br>
+
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).
+
  
<b>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).</b>
+
*In menu:
 +
<pre class="config">
 +
Target options --->  
 +
    [*] Armadeus Device Support  --->
 +
</pre>
 +
you can check and change the quantity of RAM available on your Armadeus board. (Default value 16MB is just fine with all [[APF9328]] boards, for [[APF27]] it could be either 64MB or 128MB).
  
<b>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</b>  
+
*In menu:
 +
<pre class="config">
 +
Target filesystem options -->  
 +
</pre>
 +
for each type of filesystems to build, you have the option (''also copy the image to...'') to copy the binary file to secondary location like your tftp server folder (for example ''/tftpboot'').</b>
  
<b>In Kernel --> Destination for linux kernel binaries --> You will find options to copy linux to a secondary location like /tftpboot</b>
+
*In menu:
 +
<pre class="config">
 +
Target filesystem options -->  
 +
</pre>
 +
you will find U-Boot options (at the end), including the one to copy it 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.
+
*In 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''.''' <br>
+
<pre class="config">
 +
Kernel -->
 +
    Destination for linux kernel binaries -->
 +
</pre>
 +
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
 +
<pre class="config">
 +
Build Options --->
 +
    (1) Number of jobs to run simultaneously
 +
</pre>
 +
* 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:
 +
<pre class="config">
 +
Build options  --->  
 +
    (...) Download dir
 +
</pre>
 
[[Image:Build_config_menu_download.png]]<br> <br>
 
[[Image:Build_config_menu_download.png]]<br> <br>
 
[[Image:Build_config_download.png]]
 
[[Image: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.
+
* After the build, we advise you too to copy all the files in ''downloads/'' on a removable medium, in case you want to install the development tools on several systems.
  
* Exit the configuration tool and save your configuration
+
* Now, Exit the configuration tool and save your configuration
  
 
==Launch build==
 
==Launch build==

Revision as of 17:11, 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:
    1. you can move the highlighted item with the "up"/"down" arrow keys
    2. with the "left"/"right" arrow keys you can choose between "Select", "Exit" or "Help" buttons
    3. "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
    4. for more Help about Buildroot commands, select "Help" in the main configuration screen
  • In menu:
Target options  ---> 
    [*] Armadeus Device Support  --->

you can check and change the quantity of RAM available on your Armadeus board. (Default value 16MB is just fine with all APF9328 boards, for APF27 it could be either 64MB or 128MB).

  • In menu:
Target filesystem options --> 

for each type of filesystems to build, you have the option (also copy the image to...) to copy the binary file to secondary location like your tftp server folder (for example /tftpboot).</b>

  • In menu:
Target filesystem options --> 

you will find U-Boot options (at the end), including the one to copy it to a secondary location (like /tftpboot)

  • In menu:
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
  • 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

  • After the build, we advise you too to copy all the files in downloads/ on a removable medium, in case you want to install the development tools on several systems.
  • Now, 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