Introduction
                                    
                                        Linux kernel overview
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Using the exercise files
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Prerequisites and takeaways
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        What is the Linux kernel?
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Where's the kernel?
                                            
                                                ()
                                            
                                            
                                    
                             
                            
                                1. Surveying the Linux Kernel
                                    
                                        Discover and control hardware
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Understand system call mechanics
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Read messages from the kernel
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Use the /proc and /sys filesystems
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Challenge: hw, syscalls, proc and sysfs
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Challenge: Solution
                                            
                                                ()
                                            
                                            
                                    
                             
                            
                                2. Booting
                                    
                                        Understanding the bootloader GRUB
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Configuring GRUB
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Kernel command line parameters
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Configuring and using systemd services
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Debugging initramfs images
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Challenge: GRUB, targets, the initramfs
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Challenge: Solution
                                            
                                                ()
                                            
                                            
                                    
                             
                            
                                3. Working with Loadable Kernel Modules
                                    
                                        Loadable kernel modules (LKMs)
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Finding the LKMs
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Using LKM commands
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Identifying how LKMs work
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Challenge: Working the LKMs
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Challenge: Solution
                                            
                                                ()
                                            
                                            
                                    
                             
                            
                                4. Examining Linux Kernel Source Code
                                    
                                        Get the kernel source
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Explore the kernel makefile
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Examine and build kernel documentation
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Search the kernel source
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Examine kernel driver source
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Additional selected subdirectories
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Challenge: Linux kernel source code
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Challenge: Solution
                                            
                                                ()
                                            
                                            
                                    
                             
                            
                                5. Configuring and Building a Linux Kernel
                                    
                                        Using make menuconfig
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Using make xconfig
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Explore kernel config files
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Build and install modules and kernel
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Challenge: Installing a kernel and LKMs
                                            
                                                ()
                                            
                                            
                                    
                                    
                                        Challenge: Solution
                                            
                                                ()
                                            
                                            
                                    
                             
                            
                     
                        
                                
                                    Ex_Files_Adv_Linux_Kernel.zip
                                    
                                        (35 KB)