Skip to content

Comprehensive resources and projects covering Linux kernel development, Yocto customization, Raspberry Pi, C++ programming, and device driver creation for embedded systems education.

License

Notifications You must be signed in to change notification settings

orcalinux/embedded-linux-diploma

Repository files navigation

Embedded Linux Diploma

Welcome to the Embedded Linux Diploma program!
This repository is the central hub for all materials, resources, and projects needed to complete the workshop.
Whether you're mastering Linux fundamentals, building Raspberry Pi projects, or customizing Yocto images, everything you need is here.


Table of Contents


Workshop Content

1. Linux Administration

Directory: 01-linux-administration/
Topics:

  • Linux Kernel Architecture and User/Kernel Space
  • Kernel stacks overview
  • Networking & Filesystem operations
  • Terminal usage & shell scripting
  • Package management & essential tasks

2. Raspberry Pi Interfacing

Directory: 02-raspberry-pi-interfacing/
Topics:

  • Raspberry Pi setup and GPIO
  • Peripheral interfacing
  • Embedded projects using Python/C++

3. Modern C++

Directory: 03-modern-cpp/
Topics:

  • C++ fundamentals and STL
  • Software design principles & patterns
  • Concurrency & multithreading
  • Google Test, CMake, and debugging for embedded Linux

4. Yocto Module

Directory: 04-yocto/
Topics:

  • Build systems & core components
  • Layers & BSP concepts
  • Application development, debugging & testing

5. Device Drivers (Optional)

Optional advanced section
Topics:

  • Writing Linux device drivers
  • Extending kernel functionality

Getting Started

  1. Clone the Repository

    git clone https://github.com/orcalinux/embedded-linux-diploma.git
    
  2. Navigate to a Module

    cd embedded-linux-diploma/[module_directory]

    Replace [module_directory] with one of:

    • 01-linux-administration
    • 02-raspberry-pi-interfacing
    • 03-modern-cpp
    • 04-yocto
    • device-drivers (if added)
  3. Access Learning Materials Each module directory contains:

    • Learning Materials: Presentations, notes, and documentation.
    • Code Samples: Example projects and code snippets.
    • README.md: Module-specific instructions.
  4. Participate & Engage

    • Join live sessions and discussions.
    • Use the forum for questions and collaborative learning.

Additional Resources


Contact

For inquiries or collaboration, open an issue or use the repository’s discussions tab.


License: MIT

About

Comprehensive resources and projects covering Linux kernel development, Yocto customization, Raspberry Pi, C++ programming, and device driver creation for embedded systems education.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published