A set of lab assignments from university courses (often used at Epitech or other engineering schools). Each lab comes with a PDF description and a skeleton code repository. You implement the missing parts—e.g., writing a simple scheduler or a memory allocator.
Although the full book is commercial, the author has released extensive sample chapters and lab exercises as PDFs. These cover:
Not every PDF claiming to teach kernel programming is good. Look for:
You can automate PDF generation from AsciiDoc/Markdown kernel notes using GitHub Actions.
If you want to go beyond the obvious repositories, use these search operators on GitHub.