Kernel Deployment Techniques for Embedded Linux Devices

This course gives detailed information on Linux in an embedded resource restricted environment as well as deeper knowledge on how to build and install a complete cross development environment for the ARM processor.
Throughout the course the students will be guided and challenged with several hands-on exercises where the student can learn step-by-step how to deploy a new Linux system on a “bare” ARM- based target system. Exercises gives detailed detailed information how to manage on-board FLASH memory devices and how to populate an JFFS2 based root file system as well as RAM disks.


Course fee (SEK): 12 200
Number of days: 2
Theory/Practical: 40/60
Upcoming course dates

2013/03/19 · Kista/Stockholm

2013/06/18 · Register ›

  • Course information

  • Your details

Close form


The exercises includes:
- Build a toolchain for the ARM processor
- Kernel configuration and build
- Build and configure the U-boot target boot loader
- Build a utility collection based on BusyBox
- Populate and deploy a root file system on RAM disk and FLASH dedicated for the ARM920T target platform
- Create and manage an automated script based project compilation and build system

Objectives
Upon completion of the course, the students shall have an understanding of the principles of how setup and manage a comprehensive cross development environment for any of the target architectures supported by the Linux kernel.

The student will also have an understanding of how to build and populate a different root file systems with BusyBox generated with build tools for JFFS2 images and RAM disks.

Who should attend?
System designers, application programmers and project leaders.

Previous knowledge
C-programming on Linux and adequate CPU and embedded systems hardware knowledge. Recommended courses: Linux for Embedded systems – basic

Recommended following courses
Linux Application Development

Documentation
The course documentation is written in-house in English.

Other information
The course may on request be given tailored to the needs of the customer.

Theoretical discussion on Linux embedded environment
- Planning a cross compiled project
- Deciding the structure of the project
- Choosing target and host platform
- Choosing a kernel
- Choosing utilities
- Cross compiling explained
- Cross compiling vs Native compiling
- GCC – The GNU Compiler Collection
- C-libraries
- Binutils – linker, assembler and other
- Selecting a toolchain
- Configuring crosstool
- Buildning the toolchain
- Booting a target system
- Configuring a boot loader
- Kernel build and patching
- Configuring a file system with mkimage
- Configuring kernel boot parameters
- Configuring the host for network target boot
- Export a hosted NFS network file system to the target
- First boot and kernel panics
- Cross debugging with GDB
- Target root file system
- RAM disk
- JFFS2
- Glibc v.s uClibc C- libraries
- BusyBox – a collection of binary essentials