Porting of Embedded OS on Olinuxino Board
Embedded OS:
Embedded Operating System is simply a light version of complete OS ,means in embedded OS we reduce some functionality from the OS according to the our requirement like if we don’t want to use the USB camera then we disable it. We can put applications according to the requirement which decrease the overhead of OS.
Porting:
Porting is the process in which we put compiled software in the target machine (in my case arm based olinuxino board )after developing it on the host machine like x86.
Note: I have used x86 machine for development because it is faster than the ARM based system.
Why Olinuxino Board???
Many boards are used for development purpose but i have used Olinuxino board ( by Olimex )due to below positive points:
Open source
Open hardware
Complete documentation is freely available on the network.
Some main features:
1.Ghz Processor(A13 Cortex A8 by Allwinner Technologies China) speed.
2.3D mali 400 GPU.
3.VGA video output.
4.Touch screen interface.
5.512 MB RAM
6.GPIO pins.
7.SD card slot.
Primary Requirements for Board Bring Up:
For standing up our system we need below softwares.
1.Tool chain
2.Secound stage boot loader(u-boot)
3.Kernel Image(uImage)
4.Debian Root file system.
*All the above packages are free available on the internet to download.
Brief Note On development Process:
Tool chain is used to cross compile all the packages on the x86 machine according to the ARM based system.
So I cross compiled firstly kernel before selecting required functionalitie by menuconfig.
After that I cross compile U-boot which is second stage boot loader and required to load the kernel image on the RAM for execution.
Card Partitioning:
Card partitioning is essential in the board bringing up to partition the card and making appropriate file system because at the initial stage of the system boot up ,system can’t support the heavy file system like ext 2 or ext3 due to absence of kernel.
So we make first partition of 16MB of vfat file system and rest memory of ext3 file system.
I partitioned the card using “fdisk” utility.
Porting On MMC Card:
1.Using “dd” command i placed the sunxi-spl.bin and u-boot.bin from the u-boot to the unpartitioned space which is after the 8kb and before 1MB respectively.
2.Now I simply copied the uImage and script.bin to the first partition of 16MB
3.At last in the secound partition i uncompressed the archive image of debian root file system.
After this my card was ready to boot up on the olinuxino board
Thanks
Avtar Singh