Skip to content

AbdallahKhat/embedded-linux-labs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Embedded Linux Educational Repository

Welcome! This repository focuses on learning Linux, Embedded Linux, and Modern C++ through hands-on projects and practical exploration.


Purpose

This repository is a personal learning journey through:

  • Linux fundamentals and administration
  • BASH scripting and automation
  • Modern C++ programming
  • Embedded Linux system customization
  • Building and deploying custom Linux images for Raspberry Pi 4 using Yocto

Achievements So Far

  • Linux Administration:
    • Gained proficiency in file system navigation, permissions, and user/group management (with visual guides).
    • Explored process management, signals, priorities, and system monitoring tools.
    • Practiced debugging and performance analysis using system calls.
  • Modern C++: Built a user sign-up application using modern C++ features and best practices.
  • BASH Scripting: Automated file organization and shell scripting best practices.
  • Yocto Project:
    • Built custom Linux images for Raspberry Pi 4.
    • Created and managed custom Yocto layers and recipes (audio, infotainment, editors, graphics, and more).
    • Integrated real applications (nano, RPiPlay, scrcpy, C++ demos) into images.
  • Manual Customization:
    • Cross-compiled toolchains, custom bootloaders, and kernels for Raspberry Pi 4.
    • Built minimal root filesystems and tested with QEMU.

How to Explore

  • Each main folder contains a README and practical exercises or projects.
  • Follow the guides and scripts for step-by-step learning.
  • Use the images and diagrams for visual understanding.
  • Try building and running the projects on your own Linux system or Raspberry Pi 4.

Requirements

  • Linux OS (Ubuntu/Debian recommended)
  • Basic command line knowledge
  • Raspberry Pi 4 (for hardware projects) or QEMU (for emulation)

This repository is part of my coursework for the Bullet-guru Embedded Linux course, documenting my progress and achievements as I learn Linux and embedded systems.

See each subfolder's README for more details and instructions.

About

Embedded Linux labs - kernel, userspace, and cross-toolchain development.

Topics

Resources

License

Stars

Watchers

Forks

Contributors