Breakthrough

service

Embedded Linux Kernel Development Syllabus

Introduction

System overview and role of the kernel:

  • History and versioning scheme

  • Supported hardware architectures

  • Legal issues: licensing constraints, software patents

  • Kernel user interface


Compiling and booting:

  • Getting the sources

  • Using the patch command

  • Structure of source files

  • Kernel modules

  • Kernel configuration

  • Files used by kernel configuration tools

  • Compiling

  • Cross-compiling

  • The bootloader

  • Booting parameters

  • Debugging through the serial port

  • Creation of an initrd ramdisk


Basic driver development:

  • Linux device drivers

  • A simple module

  • Programming constraints

  • Loading, unloading modules

  • Module parameters

  • Module dependencies

  • Adding sources to the kernel tree

  • Kernel debugging


Driver development:

  • Memory management

  • I/O register and memory access

  • Character device drivers

  • Sleeping, interrupts

  • mmap, DMA

  • New device model, sysfs

  • Hotplug

  • udev dynamic devices


Advice and resources:

  • Using Ethernet over USB

  • Root filesystem on the host through NFS

  • Review of the various filesystem types. The MTD subsystem. Advice for making a choice

  • Getting help and contributions

  • Bug report and patch submission to Linux developers.

  • References


PREREQUISITES:

  1. “Linux/Unix For Programmers” course knowledge

  2. C programming experience

Linux & open source

Administration, integration and deployment for various platforms and distributions. Experience with multiple Open Source projects. Consulting and training services. more >


Kernel development & Embedded

Linux device driver and kernel development. development and integration of RT/embedded platforms. more >


VoIP & Asterisk PBX

Development, customization and integration of VoIP solutions. more >


Telecom solutions & Network Management systems

SNMP based Network Management applications for ATM and other networking technologies. more >


Cloud computing (EC2)

Cluster auto-scaling and monitoring. more >


Media streaming (DaVinci)

Media streaming on TI’s DaVinci platform. more >


MacOS X

Extensions and plug-ins for Safari browser. more >


iPhone & iPad

Developemnt for iOS: iPod touch, iPhone and iPad. more >


Chrome

Extensions for Google Chrome browser. more >


Android

Developemnt for Android OS. more >