Advanced Linux: The Linux Kernel
2h 52mAdvanced2024-12-06
Authors

Kevin Dankwardt
Linux Leader, Embedded Linux Authority
Course details
Upskill as a Linux developer, network engineer, or DevOps professional. In this hands-on course, instructor Kevin Dankwardt provides an overview of the role and functionality of the Linux kernel, including setup and how to write, compile, and insert loadable kernel modules. Along the way, find out why configuring and building custom kernels can help to illuminate the kernel's breadth of functionality as well as provide insights on the kernel's capabilities.
Learning objectives
Configure and build a Linux kernel.
Write, compile, and insert loadable kernel modules.
Navigate the Linux kernel source code.
Describe and explain key actions by the Linux kernel during booting.
Learning objectives
Configure and build a Linux kernel.
Write, compile, and insert loadable kernel modules.
Navigate the Linux kernel source code.
Describe and explain key actions by the Linux kernel during booting.
Skills covered
Software AdministrationLinuxServer AdministrationAdvancedNetwork and System AdministrationOpen Source
Concepts
0. Introduction
- 01 - Working with the Linux kernel
- 02 - Using the exercise files
- 03 - Prerequisites and takeaways
- 04 - What is the Linux kernel
1. Surveying the Linux Kernel
- 05 - Discover and control hardware
- 06 - Challenge - Hardware
- 07 - Solution - Hardware
- 08 - System calls in-depth
- 09 - Challenge - System calls (syscalls)
- 10 - Solution - System calls (syscalls)
- 11 - Read messages from the kernel and proc
- 12 - Challenge - kernel messages and proc
- 13 - Solution - kernel messages and proc
- 14 - Introduction to sys
- 15 - Challenge - sysfs
- 16 - Solution - sysfs
- 17 - Device drivers and device files
- 18 - Challenge - Drivers and device files
- 19 - Solution - Drivers and device files
2. Booting
- 20 - Understanding the bootloader GRUB
- 21 - Configuring GRUB
- 22 - Kernel command line parameters
- 23 - Demo kernel command line args
- 24 - Process 1 and start-up services
- 25 - Challenge - GRUB, command line parameters, boot sequence
- 26 - Solution - GRUB, command line parameters, boot sequence
3. Working with Loadable Kernel Modules
- 27 - Loadable kernel modules (LKMs)
- 28 - Finding the LKMs
- 29 - Challenge - Finding LKMs
- 30 - Solution - Finding LKMs
- 31 - Using LKM Commands
- 32 - Challenge - Working with LKM commands
- 33 - Solution - Working with LKM commands
- 34 - LKM Dependencies & Use Count
- 35 - Challenge - Working with module dependencies and counts
- 36 - Solution - Working with module dependencies and counts
- 37 - How LKMs and writing LKMs work
- 38 - Challenge - How LKMs work
- 39 - Solution - How LKMs work
4. Examining Linux Kernel Source Code
- 40 - Getting Linux kernel source code
- 41 - Explore the kernel makefile
- 42 - Examine and build kernel documentation
- 43 - Search the kernel source
- 44 - Demonstration of kernel source and searching
- 45 - Examine kernel driver source
- 46 - Demonstration - kernel source
- 47 - Additional selected subdirectories
- 48 - Challenge - Linux kernel source code
- 49 - Solution - Linux kernel source code
5. Configuring and Building a Linux Kernel
- 50 - Using make menuconfig
- 51 - Using make xconfig
- 52 - Explore kernel config files
- 53 - Build and install modules and kernel
- 54 - Demonstration configuing and building
- 55 - Challenge - Configuring and building a kernel
- 56 - Solution - Configuring and building a kernel
Conclusion
- 57 - Next steps
Related courses
- Advanced Linux: The Linux Kernel (2020)
- LPIC-2 Linux Engineer (201-450) Cert Prep
- Linux Device Drivers: Reading, Writing, and Debugging
- LPIC-2 Linux Engineer (201-450) Cert Prep: 2 Linux Kernel
- Exploring Linux Internals: Advanced Insights and Practical Applications
- Application Security Testing and Debugging
- LPIC-2 Linux Engineer (201-450) Cert Prep (2024)
- Linux System Engineer: Network Bonding, IPv6, Routing, and Virtual Systems
Related learn paths
- Getting Started with Linux
- Prepare for the Linux Professional Institute LPIC-2 (201-450) Exam
- Network Automation Professional Certificate by Arista Networks
- Ubuntu Linux Professional Certificate
- Prepare for the CompTIA A+ (220-1001 and 220-1002) Exams
- Prepare for the CompTIA A+ Core 2 (220-1102) Certification Exam
- Getting Started with R for Data Science
- Prepare for the CompTIA PenTest+ (PT0-001) Exam