Linux Kernel Filesystem Development
Linux Kernel Filesystem Development
Published 3/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English
| Size: 2.95 GB[/center]
| Duration: 6h 42m
How to develop a Linux kernel disk-based filesystem from scratch
What you'll learn
Understand the flow from Linux user processes through to the kernel VFS layer and the interaction between the kernel and the filesystem.
Learn how to build a loadable kernel module and supporting commands (mkfs & fsdb) and how to create additional files on disk during mkfs time.
Developing a disk-based filesystem from scratch by understanding the process to follow and the order in which operations should be implemented
You will cover how to mount/umount a filesystem as well as all file and directory operations on directories, reglar files, hard links and symlinks.
Understanding kernel debugging techniques from simple use of printk calls to source level debugging with gdb/KGDB.
Requirements
Linux/UNIX development, basic kernel knowledge, good working level of C
No need for assembler language or the ability to build a Linux kernel. You'll just need to install Ubuntu and development tools and compile the filesystem and commands
Description
This course will teach you how to develop a Linux kernel filesystem from scratch. You will learn everything from building the commands and kernel module, loading the module, mounting a filesystem, unmounting and removing the module. All basic file / filesystem operations are supported with a module for each operation. We'll cover everything from file, directory, symlink and hard link creation to reading and writing files to details about filesystem / kernel interactions. There is also a chapter covering how to undelete a file which also highlights potential security issues. With the kernel module, mkfs and fsdb commands, the SPFS filesystem is only 2300 lines of code. The source code is accessible on-line and will be updated every year for new versions of Ubuntu Linux.You will learn the strategy to follow when building a new filesystem. What operations need to come first and which ones can wait until later.You will also learn how to debug the filesystem using a number of techniques from simple use of printk to source-level debugging using gdb/KGDB.The filesystem is very simple and contains intentional errors which help with understanding why the order of operations is very important during filesystem design.The course is supported by a free 450-page online Linux kernel filesystem book.
Overview
Section 1: Introduction
Lecture 1 Introduction
Section 2: How to get started
Lecture 2 How to get started
Section 3: SPFS — A Linux Filesystem For Teaching
Lecture 3 SPFS — A Linux Filesystem For Teaching
Section 4: Downloading the SPFS source code
Lecture 4 Downloading the SPFS source code
Section 5: The order of events when designing a filesystem
Lecture 5 The order of events when designing a filesystem
Section 6: Setting up your environment
Lecture 6 Setting up your Environment
Section 7: Loading / Unloading a Module
Lecture 7 Loading / Unloading a Module
Section 8: Mounting a Filesystem
Lecture 8 Mounting a Filesystem
Section 9: Pathname resolution - part 1
Lecture 9 Pathname resolution - part 1
Section 10: Pathname resolution - part 2
Lecture 10 Pathname resolution - part 2
Section 11: Putting it all together so far
Lecture 11 Putting it all together so far
Section 12: Creating a Regular File
Lecture 12 Creating a Regular File
Section 13: Creating Directories
Lecture 13 Creating Directories
Section 14: Reading Directory Entries
Lecture 14 Reading Directory Entries
Section 15: Reading From a File
Lecture 15 Reading From a File
Section 16: Writing to a File
Lecture 16 Writing to a File
Section 17: Hard Links and Symbolic Links
Lecture 17 Hard Links and Symbolic Links
Section 18: Inode Management
Lecture 18 Inode Management
Section 19: Removing a File or Directory
Lecture 19 Removing a File or Directory
Section 20: Renaming a File
Lecture 20 Renaming a File
Section 21: Obtaining Filesystem Information via statfs
Lecture 21 Obtaining Filesystem Information via statfs
Section 22: Unmounting a Filesystem and Removing the Module
Lecture 22 Unmounting a Filesystem and Removing the Module
Section 23: File Undelete
Lecture 23 File Undelete
Section 24: Conclusion — Where to go From Here?
Lecture 24 Conclusion — Where to go from here?
Experienced developers who wish to explore Linux kernel development, specifically in the area of filesystems
https://rapidgator.net/file/5d25c6d5827cfa90e99b1ac86a7cf43a/Linux_Kernel_Filesystem_Development.z01
https://rapidgator.net/file/0b030ac2b86efe471e27c9eaaa4e48d3/Linux_Kernel_Filesystem_Development.zip
https://ddownload.com/0ttcco35vyzy/Linux_Kernel_Filesystem_Development.z01
https://ddownload.com/h1shuioqhdgv/Linux_Kernel_Filesystem_Development.zip
https://fikper.com/0uSKhqk8JH/Linux_Kernel_Filesystem_Development.z01.html
https://fikper.com/u2NARb3N0F/Linux_Kernel_Filesystem_Development.zip.html
Free search engine download: Linux Kernel Filesystem Development