EMBEDDED SYSTEM (LEVEL: I) FEATURING LINUX KERNEL AND BUILDROOT

Course Overview

This comprehensive course is designed for beginners who aim to grasp the fundamentals of the Linux operating system, kernel architecture, and development. Starting with basic operating system concepts, the course delves into the intricacies of the Linux kernel, including process scheduling, memory management, user space vs. kernel space, and kernel primitives.

Objectives

  • Building basic kernel driver modules and customizing their own Linux kernel using tools like Buildroot. By the end of the course, learners will have a solid foundation in Linux
  • kernel development and the skills to contribute to open-source projects
  • Learning from an instructor with hands-on, real-world experience is the best way to learn new technologies quickly.

Learning Outcomes

  • Understand the key concepts and structures of the Linux kernel
  • Write and deploy basic kernel modules and device drivers
  • Customize and build their own Linux kernel using Buildroot
  • Apply best practices in Linux kernel development and debugging

Prerequisite

  • Basic understanding of Computer Programming
  • C programming knowledge
  • Familiarity with command-line interfaces and Linux operating system
  • Basic understanding of digital electronics topics such as boolean logic, digital inputs and outputs

Target Audience

  • Junior software engineers
  • Electronics engineering (EEE), computer science graduates
  • IoT developers
  • Hobbyist/self-taught developers who want to go beyond Arduino

Methodology

  • The fundamental theory is taught with a hands-on demo followed by questions to engage participants and train them to think and solidify their understanding. Every student will be given a virtual lab powered by docker container to fully experience linux development

Course Duration

5 Days

Course Outline

DAY 1

  • History and evolution of the Linux kernel
  • History and evolution of the Linux kernel
  • Basic concepts: Processes, threads, and scheduling
  • Understanding kernel space vs. user space
  • System calls and their role in OS operations
  • Learn about the development environment

DAY 2

  • Virtual file system concepts
  • Kernel source code and API/ABI overview
  • Creating and managing processes and threads
  • Linux process scheduler: How it works
  • Creating and managing processes and threads
  • Priorities and process communication

DAY 3

  • Virtual memory in Linux
  • Page allocation and swapping
  • Kernel memory allocation techniques
  • Building Basic Kernel Modules
  • Anatomy of a kernel module
  • Writing and testing your first kernel module
  • Debugging and logging techniques

DAY 4

  • Introduction to Device Drivers
  • Types of device drivers in Linux
  • Writing a simple character device driver
  • Accessing hardware from the kernel space

DAY 5

  • Configuring and compiling the Linux kernel
  • Patching the kernel and managing kernel versions
  • Introduction to Buildroot and its role in customization
  • Test and run our own customized

 

For more information, please contact:

Embedded System (Level: I) Featuring Linux Kernel And Buildroot

    Your Name (required)

    Your Primary Email (required)

    Your Contact Number (required)

    Your Enquiry or Message