We have use
several tools
.
>> FOR
CREATING OUR DEVELOPMENT BOARD :
We have used
a file system which is dedicated for the embedded system, which contain
all of the tools we needed for compil our programs (GCC (different
version of the Host) , and with a busybox).
>> FOR THE
COMPILATION : we have used
GCC to compil our programs.
The thing you haven't to forget is that you have 2
system on your host, it's why you have to "chroot" you into your
development board for compil programs for your embedded system.
>>
First of all, we have to create on our host a space of
development. To do that, we have to create a partition on our computer
which allows us a space to compile programs with the tools of the
embedded system.
This is possible with a command line : cfdisk
/dev/hdX (where X is the letter of the hard drive you want to use, for
us it is hdb).
When you type this command, you can choose the size
of the partition you want and if it is a bootable partition or not.
After that, we have a partition which isn't format,
so we have to format it. Two ways are possible do it simply graphically
with the host, or do it with a command line.
Command line : mke2fs /dev/hdb1 (
hdb1 is the partition we have create).
>>After that, we need a File System. Two ways
are possible :
- do it manually and create all
the folders and all the file we need.
- or take an existing file system
with all the tools we need.
If you know the architecture of
your file system, the second way is more efficient. You have just to
choose the component you need and remove all the others.
You can download her the File
system ( coming soon).
To copy it into your partition,
use the command "dd" which make a binary copy of the content into your
hard drive.
Don't forget to resize your file
system to the size of your partition, use the command line "resize2fs".
Now to see it, you have to mount
it.
Don't
forget for all the line under, you have to be chroot into your
development board
Command line : chroot /bin/sh /dev/hdb1
>> The
busybox :
It is a lot of tools that
you can configure easily like a configuration of the kernel.
command line : make
menuconfig or make config ( you must read the readme file to make sure)
Busybox can be downloaded
here ( coming soon).
>> And
finaly you have to choose your kernel. If you want to configure your
kernel with all the actual technologies you have to choose a recent
kernel ( but you must have big memory). Or you can choose a older but
most stable version. Actually, most of embedded sytem have a kernel 2.4
or older. If you make the choice of a recent kernel, make sure that
your system can support it... If you want to download a kernel go to :
http://www.kernel.org to choose a vanilla kernel ( a kernel not
patched).
To compile it , it's simple :
- make
menuconfig ( choose all the component you need)
- make dep,
- make bzImage
- make
install.
To clean this compilation, you have 2 command line :
- make clean ( which remove all the .o
and executable files ),
- or make Mrproper ( which clean all
and remove the file ".config" which contain all of the configuration
you have create).
After that you have to create a folder boot at the root of the file
system and copy the bzImage of our kernel into it.
Now, we can create a automount procedure by modify the file
fstab which is in /etc/ folder.