Learning Roadmap¶
This roadmap reorganizes the original Day-based learning sequence into a concept-oriented handbook path. The original daily logs are still preserved under Daily Logs, but this page is intended for review and long-term navigation.
Stage 1 - Linux Foundations¶
Goal: understand how Linux exposes hardware and kernel services to userspace.
| Topic | Related Labs / Logs |
|---|---|
| Linux architecture and boot flow | Day 01, Day 02, Day 03 |
Device files and /dev interface |
Day 06 |
| Linux device model | Day 08 |
| Device Tree basics | Day 04 |
Stage 2 - Build and Deployment Workflow¶
Goal: build, deploy, and debug kernel modules reliably across Raspberry Pi and WSL environments.
| Topic | Related Pages |
|---|---|
| Cross compilation | Cross Compilation, Day 07 |
| Kernel module build workflow | Kernel Module Build Workflow, Day 05 |
| Device Tree overlay build workflow | Device Tree Overlay Build Workflow, Day 04 |
| Kernel version and vermagic | Kernel Version and vermagic |
Stage 3 - Kernel Driver Fundamentals¶
Goal: implement basic Linux kernel drivers and expose controlled interfaces to userspace.
| Topic | Related Pages |
|---|---|
| Character device basics | Character Device Basics, Day 06 |
| Platform driver and Device Tree binding | Platform Driver and Device Tree Binding, Day 09, Day 10 |
| GPIO and IRQ driver | GPIO and IRQ Driver, Day 11 |
| Control plane design | Driver Control Plane, Day 16, Day 17 |
Stage 4 - Event-Driven Driver Design¶
Goal: connect kernel events to userspace event loops.
| Topic | Related Pages |
|---|---|
| Blocking and non-blocking I/O | Blocking and Non-blocking I/O, Day 18 |
| Wait queue and poll support | Wait Queue and poll Support, Day 12, Day 50 |
| timerfd / signalfd / eventfd integration | Event Loop, Day 48, Day 49, Day 51 |
| fasync / SIGIO | fasync and SIGIO, Day 52 |
Stage 5 - Sensor Drivers and Linux Subsystems¶
Goal: move from basic drivers to subsystem-oriented Linux driver design.
| Topic | Related Pages |
|---|---|
| I2C / SPI sensor drivers | Sensor Driver, Day 19 - Day 28 |
| hwmon | hwmon, Day 20 |
| IIO | IIO, Day 33 - Day 42 |
| Input subsystem | Input, Day 43, Day 44 |
| TTY / UART | TTY and UART, Day 29, Day 31 |
Stage 6 - Userspace Event Loop, Network, and IPC¶
Goal: build robust event-driven userspace applications that interact with files, sockets, signals, timers, and shared resources.
| Topic | Related Pages |
|---|---|
| Network socket programming | Network, Day 45, Day 47 |
| Event loop APIs | Event Loop, API Reference - Event Loop |
| IPC architecture | IPC, Day 53 - Day 58 |
| POSIX I/O and signals | POSIX I/O API Reference, Process and Signal API Reference |
Stage 7 - Maintenance and Troubleshooting¶
Goal: keep the handbook usable as the repo grows.
| Topic | Related Pages |
|---|---|
| Project maintenance | Project Maintenance Guide |
| Cloudflare Pages deployment | Cloudflare Pages Deployment |
| Troubleshooting | Troubleshooting Index |
| Refactor history | Refactor History |