Adeos
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/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:
- http://www.linuxdocs.org/HOWTOs/Kernel-HOWTO-6.html
- http://www.tuxfinder.com/french/HOWTOhtml/Kernel-HOWTO-5.html (French)
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
- A page describing how to use the ipipe tracer option. http://www.xenomai.org/index.php/I-pipe:Tracer