Linux Kernel Bootcamp

Rating:
1 vote, average: 5.00 out of 51 vote, average: 5.00 out of 51 vote, average: 5.00 out of 51 vote, average: 5.00 out of 51 vote, average: 5.00 out of 5
Loading...
Please Log in or register to rate

Linux Kernel Bootcamp

EMB-204

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. All materials (lectures, labs, exercises) are based on the 4.X kernel series.

Audience

Target Audience:
Linux application developers, board designers, system administrators, Real-Time/embedded engineers making the transition to Linux, prospective device drivers or kernel developers.

Prerequisites:
• The attendees should proficient with C
• Working knowledge of Linux command line tools (recommended)
• Theoretical knowledge of Operating Systems (recommended)
• Experience programming for embedded systems (recommended)

Course Topics
  • 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
  • Process Management essentials, contexts, COW policies
  • Schedulers
  • System calls
  • Kernel Data structures
  • CPU vs. external hardware
  • Interrupts, exceptions, signals
  • Bottom halves
  • Tasklets
  • Soft IRQ’s
  • Work Queues
  • Kernel synchronization methods
  • Timers
  • 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
  • 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
Detailed Course Outline

Linux Kernel Bootcamp detailed outline

© Copyright - Skilit - Site by Dweb