Introduction
Working with the Linux kernel
()
Using the exercise files
()
Prerequisites and takeaways
()
What is the Linux kernel?
()
1. Surveying the Linux Kernel
Discover and control hardware
()
Challenge: Hardware
()
Solution: Hardware
()
System calls in-depth
()
Challenge: System calls (syscalls)
()
Solution: System calls (syscalls)
()
Read messages from the kernel and /proc
()
Challenge: kernel messages and proc
()
Solution: kernel messages and proc
()
Introduction to /sys
()
Challenge: sysfs
()
Solution: sysfs
()
Device drivers and device files
()
Challenge: Drivers and device files
()
Solution: Drivers and device files
()
2. Booting
Understanding the bootloader GRUB
()
Configuring GRUB
()
Kernel command line parameters
()
Demo kernel command line args
()
Process 1 and start-up services
()
Challenge: GRUB, command line parameters, boot sequence
()
Solution: GRUB, command line parameters, boot sequence
()
3. Working with Loadable Kernel Modules
Loadable kernel modules (LKMs)
()
Finding the LKMs
()
Challenge: Finding LKMs
()
Solution: Finding LKMs
()
Using LKM Commands
()
Challenge: Working with LKM commands
()
Solution: Working with LKM commands
()
LKM Dependencies & Use Count
()
Challenge: Working with module dependencies and counts
()
Solution: Working with module dependencies and counts
()
How LKMs and writing LKMs work
()
Challenge: How LKMs work
()
Solution: How LKMs work
()
4. Examining Linux Kernel Source Code
Getting Linux kernel source code
()
Explore the kernel makefile
()
Examine and build kernel documentation
()
Search the kernel source
()
Demonstration of kernel source and searching
()
Examine kernel driver source
()
Demonstration: kernel source
()
Additional selected subdirectories
()
Challenge: Linux kernel source code
()
Solution: Linux kernel source code
()
5. Configuring and Building a Linux Kernel
Using make menuconfig
()
Using make xconfig
()
Explore kernel config files
()
Build and install modules and kernel
()
Demonstration configuing and building
()
Challenge: Configuring and building a kernel
()
Solution: Configuring and building a kernel
()