Difference between revisions of "Embedded Linux system basis"

From ArmadeusWiki
Jump to: navigation, search
(Build system / toolchain)
 
(3 intermediate revisions by the same user not shown)
Line 6: Line 6:
  
 
==The bootloader==
 
==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
+
In our case our bootloader is [http://www.denx.de/wiki/view/U-Boot U-Boot]. It's main role is to initialize the hardware, load the Linux kernel and launch it with the correct parameters
  
 
==The kernel==
 
==The kernel==
In our case Linux.
+
In our case [https://www.kernel.org/ Linux™].
  
 
==The rootfs==
 
==The rootfs==
Line 18: Line 18:
  
 
==Build system / toolchain==
 
==Build system / toolchain==
To build all these tools, you need a "build system". We use Buildroot.  
+
To build all these tools, you need a "build system". We use [https://buildroot.org/ Buildroot].  
 
# 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
Line 25: Line 25:
  
 
ARM9 & Cortex are registered trademarks of [https://www.arm.com/ ARM Limited].
 
ARM9 & Cortex are registered trademarks of [https://www.arm.com/ ARM Limited].
 +
 +
Linux is a registered trademark of Linus Torvalds.

Latest revision as of 08:31, 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.

Linux is a registered trademark of Linus Torvalds.