This five-day Linux security course provides an in-depth exploration of the Linux Kernel, focusing on its internal architecture, core subsystems, and practical driver development. Learners gain both conceptual understanding and hands-on experience, developing and extending a sample character device driver while working directly with modern kernel source code.The course examines how the Linux Kernel has evolved, highlighting architectural changes and features introduced across versions up to Linux kernel 6.17. Participants explore kernel mode versus user mode execution, process scheduling, memory management, device handling, and kernel security mechanisms. Throughout the course, learners analyse real kernel code, trace execution paths, and apply best practices for safe and portable kernel development.Practical work forms a significant part of the learning experience, with structured exercises that reinforce theory through direct interaction with kernel subsystems and data structures. By the end of the course, learners will have the confidence to navigate kernel sources, develop device drivers, and reason about kernel behaviour from both functional and security perspectives.