Skip to content

Embedded Linux Component

February 12, 2013

Embedded Linux system consists of the following component:

  • Bootloader
  • Linux Kernel + Linux Kernel Module
  • Root File System
  • User Specific Application

Bootloader is the first firmware running after system power up, that perform some actual work on system initializations. So far the bootloader I worked with is Das U-boot. Among the features U-boot supported that is useful in my development would be:

  • Nand flash writing – Enable writing embedded Linux into internal nand flash
  • Various kind of booting option (e.g SD-card,  Ethernet boot) – These allow system to boot into Linux with different kind of medium
  • Command line interface – settings environment variables/action to be perform

For some system, prior bootloader there are IPL(Initial program loader) and SPL(Second program loader). Usually IPL and SPL is ‘standard’ in the sense it does not require changes during development.

At the end of U-boot loading, it will load linux kernel into memory and transfer control over to linux kernel (by start running linux kernel at specific memory address). There is a information trasnfer from U-boot to linux, which is the ‘bootargs’ environment variable in U-boot case. Any configuration that is require to pass to linux is set in bootargs.

Once linux kernel is running, it probe for existing peripheral/devices on base on the kernel drivers that is being built into kernel. If there the devices is detected ‘matching’ wit the loaded driver, the devices will be created as a file in ‘/dev/’ directory.

At the later stage of linux booting, it will search for a valid root file system. Once a root file system is found, the first process will be created, usually is ‘/sbin/init’ or ‘init’. Once linux boot with root file system, the root file system will perform further configuration of the embedded system, such as loading kernel driver module, configuration of network. Once embedded system configuration is complete, the final stage will be spawning user specific application process.


From → Embedded Linux

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: