Adeos

From ArmadeusWiki
Revision as of 11:33, 13 February 2012 by JulienB (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Update.png This page is too old and need some updates. Informations on this page are not guaranteed !! Update.png

How to install Adeos on your board

The purpose of Adeos is to provide a flexible environment for sharing hardware resources among multiple operating systems, or among multiple instances of a single OS.


Get Adeos

First create a working directory

$ cd armadeus
$ mkdir patches/adeos
$ cd patches/adeos

Adeos is provided as a linux kernel patch. Thus, you have to carefully select a patch matching the kernel version running on the board.
On April 2008, the status was the following :

  • Adeos patches was provided for the kernels
    • 2.6.24
    • 2.6.20
    • 2.6.19
  • Kernels ported for the board:
    • 2.6.24
    • 2.6.23
    • 2.6.23.18

The latest kernel matching is the 2.6.24. So you have to make sure this kernel will be run on the board.
To do this, at the root of the armadeus project :

$ make menuconfig

Then select :

Target options  > Armadeus Device Support > Linux > Linux kernel version


Download the adeos patch from this page.

For instance :

$ wget http://download.gna.org/adeos/patches/v2.6/arm/older/adeos-ipipe-2.6.24-arm-1.9-01.patch

Install Adeos

Go to the linux kernel directory

$ cd ../../..
$ cd armadeus/buildroot/build_arm/linux-2.6.XX.YY

And apply the patch with the -p1 option.

$ patch -p1 < ../../../patches/adeos/adeos-ipipe-2.6.XX-arm-1.9-01.patch

Now, let's see if everything went fine. Run the command:

$ find . -name '*.rej'

If you get any results, it means that some errors occurred while trying to patch. In a such case, you will have to apply the changes manually.
These pages can help you to do the job:


Configure Adeos

Adeos is now installed, let's configure it a bit.

In the kernel directory, run the command

$ make menuconfig

And select the following options

Kernel Features --->
    [*] Interrupt Pipeline
    (4)   Max domains
    [ ]   Maintain code compatibility with older releases  

Optionally, you can also enable ipipe debugging

 Kernel hacking  --->
    [*] I-pipe debugging
    [*]   Check for illicit cross-domain calls (NEW)
    [*]   Latency tracing
    [*]     Enable tracing on boot (NEW)
    [*]     Instrument function entries (NEW)
    [*]     Trace IRQs-off times (NEW)
    (14)    Depth of trace log (14 => 16Kpoints, 15 => 32Kpoints) (NEW)
    [*]     Use vmalloc'ed trace buffer (NEW)
    [*]     Enable panic back traces (NEW)       

Well, it's now time for compilation !

$ cd ../../../..
$ cd armadeus
$ make

Then check that your kernel size is lower than 1.5 Mb

$ ls -lh buildroot/binaries/armadeus/linux-kernel-2.6.XX.Y-arm.bin
-rw-r--r-- 1 creber users 1.4M 2008-04-05 23:29 buildroot/binaries/armadeus/linux-kernel-2.6.XX.Y-arm.bin

If the test is OK, you're ready to transfer the kernel to the board.


Test

To validate your Adeos installation, boot the target an run the command

dmesg | grep I-pipe

You should get an output similar to :

I-pipe 1.9-01: pipeline enabled.


Links