Upcoming Courses‎ > ‎

5 day Linux Kernel Bootcamp - Tel-Aviv, Israel

5 day Linux Kernel Bootcamp with Ron Munitz
June 28-July 2, 2015
Tel-Aviv, Israel


Getting to upstream game-changing patch to the Linux kernel in 5 days, or 5 weeks is impossible. Getting to understand how to work with the kernel effectively is achievable.


In this course you will learn to navigate through the Linux Kernel Source, configure and build it for different architectures, program kernel modules, port the kernel to a new architecture, understand the Linux Driver models, and say farewell to the fear of tackling the masterpiece software that powers most of the Servers, Embedded devices, Phones and more.


The course builds on the experience learnt from thousands of hours of teaching Embedded Linux, Drivers, Real-Time programming and Kernel Internals courses, and combines everything necessary for a Kernel newcomer to be effective, rather than overwhelmed.


Note: All material  (lectures, labs, exercises) are based on the new 4.0 kernel.


Prerequisites

  • Essential:

    • The attendees should proficient with C

  • Recommended:

    • Working knowledge of Linux command line tools

    • Theoretical knowledge of Operating Systems

    • Experience programming for embedded systems

Syllabus

Day 1:  Main themes: Version control, configuring, building, booting

  • History and Overview

  • Kernel versioning, applying (reverting) patches

  • Kernel and GIT

  • Kernel vs. Userspace programming

  • GNU C, GCC

  • Configuring and building the kernel

  • Native targets, building shared objects

  • Cross-development, cross debugging, what

  • Building and booting for KVM/QEMU

Day 2:  Main theme: Process structure, Scheduling

  • Process Management essentials, contexts, COW policies

  • Schedulers

  • System calls

  • Kernel Data structures

Day 3:  Main themes: Interrupt handling

  • CPU vs. external hardware

  • Interrupts, exceptions, signals

  • Bottom halves

  • Tasklets

  • Soft IRQ’s

  • Work Queues

  • Kernel synchronization methods

  • Timers

Day 4: Main themes: Kernel Initialization Memory Management, Filesystems

  • Linux components recap: Kernel, initrd, ramdisk, rootfs

  • The way to (and from) init

  • tmpfs and ramdisk optimization tricks

  • Memory Management

  • VFS (The Virtual File Systems)

  • Modern filesystems discussion: ext4, btrfs, xfs

  • More filesystems discussion

Day 5:  Main themes: Introduction to Drivers, Debugging

  • Character device drivers, misc character device drivers

  • Block device drivers, network device drivers overview

  • Device Tree overview

  • Native Kernel Debugging techniques

  • Remote Kernel Debugging techniques

  • Introduction to firmware

  • Introduction to Virtualization

Customization notes

For on-site training, the syllabus and number of days can be adjusted to be fit to the exact requirements of the customers. For on-site quote, please refer to training@thepscg.com


Private Training Notice

This is an Open Enrollment training. While we guarantee every attendee meets the course prerequisites, to assure a high quality class for all attendees, we cannot guarantee to make customer specific customization. Should you require such, please contact training@thepscg.com , and request an on-site (in-house) training for your organization.

Registration information

  • Course registration is open

  • For quotes, please contact  training@thepscg.com , providing the following info:

    • Name

    • Email

    • Phone

    • Organization

    • Number of participants from your organization (discounts for groups of 4 or more!)

    • Your (your colleagues) relevant technical background

  • Or preferably, use the following form: