Tags
Language
Tags
June 2025
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
    Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

    ( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
    SpicyMags.xyz

    Linux Kernel Filesystem Development

    Posted By: ELK1nG
    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 | 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