Pages Menu
Categories Menu

Posted by on Sep 24, 2013 in e-Linux, Getting Started, Single Board Computers | 8 comments

The Embedded Linux Quick Start Guide

The Embedded Linux Quick Start Guide


Dear maxE readers, recently I came across a bunch of videos which deal with embedded Linux. I will be posting some tutorials related to embedded Linux (e-Linux) on maxEmbedded soon. So I thought to share the following videos which will introduce you to some of the most basic concepts of e-Linux. After watching these video tutorials, you will have learnt about the four elements of e-Linux system: Toolchain, Boot loader, Kernel and User space.

The following videos were recorded by Free Electrons during the Embedded Linux Conference Europe, Cambridge, UK, October 2010 (ELC-E 2010). Free Electrons also has one of the best Linux Cross Reference located at

The person you will find standing in the video and giving the workshop is Chris Simmonds. You can find some of his work here at: The entire workshop is divided into three parts (so are the videos). I am sharing only the first two here since they deal with the basic concepts of e-Linux. The third part essentially deals with a specific ARM processor board, and hence its not posted here. The videos are available for free download here and are also posted on YouTube. I am sharing the ones posted on YouTube on this page. The slides used in the workshop are also available for free and can be downloaded from here. If the link is broken, you can also download it from here.

Part 1: Toolchain and Boot loader

Here is the first video which deals with the first two elements of e-Linux: Toolchain and Bootloader. Please note that the actual video starts at 2:42/52:48. Some part of the boot loader section is not in this video. They will be in the second part of the video. And towards the end (around 52nd minute or so), beware of the background noise, you have been warned! You will come across the following topics being discussed:

First Element: Toolchain

  • Minimal elements of toolchain
  • Types of toolchain
  • Types of C libraries for toolchain
  • Criteria for selecting toolchain
  • Toolchain examples
  • Installing a toolchain
  • Adding libraries to toolchain
  • Support for debugging
  • Other goodies along with toolchain

Second Element: Boot loader

  • What is boot loader
  • Pre-boot loader
  • Loading the kernel
  • Boot loader-kernel ABI – ATAGS and FDT
  • Examples of boot loaders
  • U-Boot command line
  • U-Boot environment
  • Automating boot – bootcmd

Part 2: Kernel and User space

Now if you have seen the Part 1 video, then you must be wondering what that noise is, and frankly speaking, nobody knows what it is! This noise continues in the Part 2 of the video as well. So for your convenience, the video starts at 16:40/1:19:25. The video from 16:40 through 22:30 deals with the remaining part of boot loader. The next section on Kernel and User space starts at 22:30/1:19:25. Oh BTW, the video ends at 1:10:12/1:19:25. ;)

Third Element: Kernel

  • Kernel vs User space
  • Kernel version numbers
  • Bug fix releases
  • Board support packages
  • Levels of board support
  • Board support
  • Kernel modules
  • Kernel configuration
  • Building the kernel
  • Kernel command line

Fourth Element: User space

  • What is user space
  • The root file system (rootfs)
  • Other options for a rootfs
  • Busybox and examples
  • init: Busybox init and System V init
  • System V inittab
  • Initialization scripts
  • Device nodes: /dev
  • The rootfs during development
  • The rootfs in production
  • Flash file systems

So these two videos are the ones I wanted to share with you all. In shortcoming future, you will find some posts on maxEmbedded dealing with single board computers like BeagleBoard, BeagleBone Black and Raspberry Pi. So at that time, I will be using the terms and concepts of e-Linux quite frequently, and hence you should be familiar with it! So subscribe to maxEmbedded to stay updated! Cheers, and take care! :)

Mayank Prasad
Arizona State University


  1. Hi Mayank,

    I’m a student at the University of Colorado-Boulder and have been following your (and Avinash’s) articles very closely. I write this mail because I think you are doing an amazing job by starting with Linux. I understand it is not very popular in India, and that is perhaps then main reason I think this is bold step from your side. Keep up the good work, you’ve been very helpful indeed.

    Regards, Vinit Vyas.

    PS: If Embedded Linux is not very popular in India, it will now be!


    • Hi Vinit,

      First of all, thanks a lot for the compliment. You really don’t know how much it means to me! I really hope people learn something new about e-Linux with this initiative of mine. I second your argument that e-Linux isn’t popular in India. Here in the US, as I see, people are pretty much tech-savvy and are more into the developer stage rather than waiting for solutions to be posted on the internet! However lets see how it goes!

      Mayank (aka Max)

  2. Dear Max,
    After read your tutorial on “single board computer”
    I got my Raspberry pi for After Connect keyboard, power supply, lcd…and Debian start. I can programming on Pythone she’ll with this 1board computer. It’s all because of you.
    Now, I can get regular tutorial from max: what a gift!!!

    • That’s so cool Bharat! :)
      You’ve successfully booted your Pi and started programming! Awesome, congrats! I have found many people fumbling with these things, and you are already a champ! Kudos man! :)
      I will post tutorials on R-Pi soon. Thanks for your support Bharat.


  3. its very imp work from u because its fully helpfulll………..thanks a lot…

    • You’re Welcome, Yogesh! I just reposted them here so that it reaches out to more number of people.

  4. Thank you Max. It is very helpful.

  5. Dear Max,
    After reading ur topic really I am very very happy and kindly upload details about ARM Microcontroller.with programming.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: