Structured, multi-part write-ups from my study notes — Linux, DevOps, and embedded. Pick a track and work through it lesson by lesson.
Linux from the ground up: the boot process, the shell, files & permissions, users & groups, processes, networking, package management, LVM and the C build process.
29 lessons
Version control end to end — what Git is versus GitHub, installing and configuring it, the everyday workflow, Git LFS for big files, and a scenarios cheat sheet.
8 lessons
Infrastructure as Code with Ansible: inventory, the config file, ad-hoc commands, playbooks, variable precedence, loops, conditionals, vault, handlers and custom roles.
11 lessons
Containers from setup to internals: images and the Dockerfile, environment variables, CMD vs ENTRYPOINT, networking, storage, Compose, registries and the engine.
9 lessons
Getting started with the Raspberry Pi and talking to hardware — the entry point into Embedded Linux.
6 lessons
Emulation vs. virtualization, and building minimal Linux systems in QEMU for both ARM and x86.
1 lesson
An introduction to the Yocto Project for building custom embedded Linux distributions.
1 lesson
From-scratch C systems training: filesystems and permissions, the build process, fork() and a hand-built shell, Unix utility clones, memory allocation, static/dynamic linking, OOP patterns in C, FreeRTOS concepts, and building a minimal Linux distro.
14 lessons
A dedicated track for production-ready custom shell scripts: IDE auto-updating, full system update automation, Google Meet CLI launcher, video duration calculator, smart file renaming with undo, and meeting downloaders.
7 lessons
Repos worth a look that live as code or PDFs rather than lessons — open them on GitHub.
The wider Embedded-Linux notes this section draws from — plus material not turned into lessons here: Yocto/BitBake, QEMU and networking references.
View on GitHub →
My Linux dotfiles: Neovim & Zsh configs, GNOME tweaks, themes and day-to-day scripts — the setup guides themselves are lessons in the Linux Desktop & Dev Environment track; this is the actual configs to steal.
View on GitHub →
AVR ATmega32 embedded-C driver library, layered MCAL/HAL — DIO, ADC, Timer, UART, SPI, I2C, plus LCD, keypad, motor and sensor modules.
View on GitHub →
STM32F446 (ARM Cortex-M4) bare-metal driver library — MCAL (GPIO, RCC, NVIC, SPI, SYSTICK) and HAL (LED, LCD, USART, SPI, DMA, timers) written from scratch.
View on GitHub →
From-scratch C systems training: processes & signals, a custom shell, memory allocators, static/dynamic linking, OOP in C, a small RTOS and QEMU — worked into lessons in the System Programming in Linux track. This is the full repo: every exercise's source, plus the lecture-slide PDFs the lessons don't cover directly.
View on GitHub →