Difference between revisions of "Embedded Linux system basis"

From ArmadeusWiki
Jump to: navigation, search
Line 1: Line 1:
An embedded Linux system is very similar (when speaking about software) to a Desktop one, thanks to the power of the latest embedded microprocessor, like the ARM9 one.
+
An embedded Linux system is very similar (when speaking about software) to a Desktop one, thanks to the power of the latest embedded microprocessor cores, like the ARM9™/Cortex™ ones.
 
It is composed of:
 
It is composed of:
 
* a '''bootloader''', which is the first bits of code executed when the processor starts. It behaves like the BIOS+Grub combination on Desktop PCs.
 
* a '''bootloader''', which is the first bits of code executed when the processor starts. It behaves like the BIOS+Grub combination on Desktop PCs.
 
* an operating system = the '''Linux kernel'''
 
* an operating system = the '''Linux kernel'''
* many programs and librairies organised in a filesystem = the '''rootfs'''
+
* many programs and librairies organized in a filesystem = the '''rootfs'''
  
 
==The bootloader==
 
==The bootloader==
Line 13: Line 13:
 
==The rootfs==
 
==The rootfs==
 
It is composed of:
 
It is composed of:
* a C library
+
* a C library (mostly uClibc or glibc in our boards),
* basic utilities (in our case regrouped as one executable through [[Busybox]])
+
* basic utilities (in our case regrouped as one executable through [[Busybox]]),
* additionnal librairies and tools
+
* additional libraries and tools,
  
 
==Build system / toolchain==
 
==Build system / toolchain==
Line 21: Line 21:
 
# This system will build a gcc cross-toolchain that will allow to generate on your PC software that can be run on your APF.
 
# This system will build a gcc cross-toolchain that will allow to generate on your PC software that can be run on your APF.
 
# When this toolchain is ready it will compile the bootloader, the kernel and the tools of the rootfs
 
# When this toolchain is ready it will compile the bootloader, the kernel and the tools of the rootfs
# Finally it will generate images of these 3 components that can be "flashed" on your APF
+
# Finally it will generate images of these 3 components that can be "flashed" on your APF/OPOS module
 +
 
 +
 
 +
ARM9 & Cortex are registered trademarks of [https://www.arm.com/ ARM Limited].

Revision as of 09:22, 22 November 2016

An embedded Linux system is very similar (when speaking about software) to a Desktop one, thanks to the power of the latest embedded microprocessor cores, like the ARM9™/Cortex™ ones. It is composed of:

  • a bootloader, which is the first bits of code executed when the processor starts. It behaves like the BIOS+Grub combination on Desktop PCs.
  • an operating system = the Linux kernel
  • many programs and librairies organized in a filesystem = the rootfs

The bootloader

In our case our bootloader is U-Boot. It's main role is to initialize the hardware, load the Linux kernel and launch it with the correct parameters

The kernel

In our case Linux.

The rootfs

It is composed of:

  • a C library (mostly uClibc or glibc in our boards),
  • basic utilities (in our case regrouped as one executable through Busybox),
  • additional libraries and tools,

Build system / toolchain

To build all these tools, you need a "build system". We use Buildroot.

  1. This system will build a gcc cross-toolchain that will allow to generate on your PC software that can be run on your APF.
  2. When this toolchain is ready it will compile the bootloader, the kernel and the tools of the rootfs
  3. Finally it will generate images of these 3 components that can be "flashed" on your APF/OPOS module


ARM9 & Cortex are registered trademarks of ARM Limited.