{"id":15032606,"url":"https://github.com/0xax/linux-insides","last_synced_at":"2026-10-18T21:24:49.150Z","repository":{"id":25324638,"uuid":"28751632","full_name":"0xAX/linux-insides","owner":"0xAX","description":"A book-in-progress about the Linux kernel and its insides.","archived":false,"fork":false,"pushed_at":"2026-10-13T08:34:20.000Z","size":21425,"stargazers_count":33654,"open_issues_count":22,"forks_count":3572,"subscribers_count":1307,"default_branch":"master","last_synced_at":"2026-10-18T04:22:31.752Z","etag":null,"topics":["linux","linux-insides","linux-kernel"],"latest_commit_sha":null,"homepage":"https://0xax.dev/books/linux-inside/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0xAX.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"patreon":"0xAX"}},"created_at":"2015-01-03T18:44:57.000Z","updated_at":"2026-10-18T01:04:19.000Z","dependencies_parsed_at":"2026-03-01T13:01:17.306Z","dependency_job_id":null,"html_url":"https://github.com/0xAX/linux-insides","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/0xAX/linux-insides","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xAX%2Flinux-insides","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xAX%2Flinux-insides/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xAX%2Flinux-insides/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xAX%2Flinux-insides/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0xAX","download_url":"https://codeload.github.com/0xAX/linux-insides/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xAX%2Flinux-insides/sbom","scorecard":{"id":612,"data":{"date":"2025-08-11","repo":{"name":"github.com/0xAX/linux-insides","commit":"a61a0872141ed195390a6f9dd67c761abd74d546"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.2,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":4,"reason":"4 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":8,"reason":"Found 12/15 approved changesets -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: Dockerfile:1: pin your Docker image by updating lrx0014/gitbook:3.2.3 to lrx0014/gitbook:3.2.3@sha256:7163fe229f23b091082505bdb42a37eaf9bc1c2cd244187960b23434beab0b6b","Info:   0 out of   1 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 27 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-14T12:25:59.381Z","repository_id":25324638,"created_at":"2025-08-14T12:25:59.381Z","updated_at":"2025-08-14T12:25:59.381Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38341871,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-18T02:00:06.448Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["linux","linux-insides","linux-kernel"],"created_at":"2024-09-24T20:18:52.019Z","updated_at":"2026-10-18T21:24:49.144Z","avatar_url":"https://github.com/0xAX.png","language":"Python","funding_links":["https://patreon.com/0xAX","https://www.patreon.com/0xAX","https://www.buymeacoffee.com/0xAX","https://www.patreon.com/profile/creators?u=225844623","https://www.patreon.com/profile/creators?u=8478384"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003ch1\u003elinux-insides\u003c/h1\u003e\n\u003cp\u003e\u003cb\u003eA book-in-progress about the Linux kernel and its insides.\u003c/b\u003e\u003c/p\u003e\n\n[Introduction](#introduction) • [Chapter status](#chapter-status-kernel-v720) • [Requirements](#requirements) • [Translations](#translations) • [Contributing](#contribution) • [Author](#author)\n\n[![Read online](https://img.shields.io/badge/read-online-2ea44f?style=flat-square)](https://0xax.dev/books/linux-inside/)\n![Linux kernel](https://img.shields.io/badge/Linux-kernel-FCC624?style=flat-square\u0026logo=linux\u0026logoColor=black)\n![x86_64](https://img.shields.io/badge/arch-x86__64-0071C5?style=flat-square\u0026logo=intel\u0026logoColor=white)\n[![Sponsors](https://img.shields.io/badge/sponsors-ff69b4?style=flat-square\u0026logo=githubsponsors\u0026logoColor=white)](#sponsors)\n![License](https://img.shields.io/badge/license-CC%20BY--NC--SA%204.0-lightgrey?style=flat-square)\n\u003cbr/\u003e\n[![Patreon](https://img.shields.io/badge/Patreon-f96854?style=flat-square\u0026logo=patreon\u0026logoColor=white)](https://www.patreon.com/0xAX)\n[![Buy Me a Coffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-FFDD00?style=flat-square\u0026logo=buymeacoffee\u0026logoColor=black)](https://www.buymeacoffee.com/0xAX)\n\n\u003cimg src=\"Assets/banner.svg\" alt=\"Linux insides — a book-in-progress about the Linux kernel and its insides\" width=\"900\"\u003e\n\u003c/div\u003e\n\n# Introduction\n\n`linux-insides` is a book-in-progress about the Linux kernel and its insides. The goal of this project is simple - to share knowledge about the Linux kernel internals and related low-level topics. If you're curious about what's under the hood, see the [Table of Contents](https://github.com/0xAX/linux-insides/blob/master/SUMMARY.md).\n\n## Chapter status (kernel v7.2.0)\n\n\u003e [!IMPORTANT]\n\u003e I started writing this series when the latest version of the kernel was `3.18`. A lot has changed since then, and I am in progress of updating the content to reflect modern kernels (v6.18+). I'll continue revising the posts as the kernel evolves.\n\n- [x] Booting (updated for v7.2.0)\n- [ ] Initialization (pending v6.18.0 review)\n- [ ] Interrupts (pending v6.18.0 review)\n- [ ] System calls (pending v6.18.0 review)\n- [ ] Timers and time management (pending v6.18.0 review)\n- [ ] Synchronization primitives (pending v6.18.0 review)\n- [ ] Memory management (pending v6.18.0 review)\n- [ ] Cgroups (pending v6.18.0 review)\n- [ ] SMP (pending v6.18.0 review)\n- [ ] Kernel mechanisms (pending v6.18.0 review)\n- [ ] Data Structures in the Linux Kernel (pending v6.18.0 review)\n- [ ] x86 fundamentals (pending v6.18.0 review)\n- [ ] Toolchain and binaries (pending v6.18.0 review)\n- [ ] Initial ram disk (pending v6.18.0 review)\n- [ ] Contributing to the Linux kernel (pending v6.18.0 review)\n\n## Requirements\n\n- Prior knowledge about the [Assembly language](https://en.wikipedia.org/wiki/Assembly_language)\n- Proficiency with the [C programming language](https://en.wikipedia.org/wiki/C_(programming_language))\n- Additionally, you can find lots of useful information about x86_64 processors in [Intel Software Developer Manuals](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html)\n\n\u003e [!TIP]\n\u003e You can get started with Assembler with my other series of posts about the [Assembly programming](https://github.com/0xAX/asm).\n\n## Translations\n\nThanks to the volunteers, the posts about Linux are translated into different languages.\n\n\u003e [!NOTE]\n\u003e The translations may diverge from the original content.\n\n  * [Brazilian Portuguese](https://github.com/mauri870/linux-insides)\n  * [Chinese](https://github.com/hust-open-atom-club/linux-insides-zh)\n  * [Japanese](https://github.com/tkmru/linux-insides-ja)\n  * [Korean](https://github.com/junsooo/linux-insides-ko)\n  * [Russian](https://github.com/proninyaroslav/linux-insides-ru)\n  * [Spanish](https://github.com/leolas95/linux-insides)\n  * [Turkish](https://github.com/ayyucedemirbas/linux-insides_Turkish)\n\n## Contribution\n\nRead the [Contribution guide](./CONTRIBUTING.md) to learn how to contribute to the project. When contributing, make sure to follow the [Code of Conduct](./CODE_OF_CONDUCT.md).\n\nIf you have any questions or suggestions, feel free to ping me at Twitter [@0xAX](https://twitter.com/0xAX), add an [issue](https://github.com/0xAX/linux-insides/issues/new), or drop me an [email](mailto:anotherworldofworld@gmail.com).\n\n## Mailing list\n\nThere is a Google group mailing list (`kernelhacking@googlegroups.com`) for learning the kernel source code.\n\nTo join the group, send an email to `kernelhacking+subscribe@googlegroups.com`. You will receive a confirmation email. After replying to it, you will be added to the mailing list.\n\n\u003e [!TIP]\n\u003e If you have a Google account, you can simply open the [archive page](https://groups.google.com/forum/#!forum/kernelhacking) and click **Apply to join group**. You will be approved automatically.\n\n## Sponsors\n\nThanks to the people supporting this project on [Patreon](https://www.patreon.com/0xAX):\n\n- [Paulo Oliveira](https://www.patreon.com/profile/creators?u=225844623)\n- [KD](https://www.patreon.com/profile/creators?u=8478384)\n\n## License\n\nThis project is licensed under the [BY-NC-SA Creative Commons](http://creativecommons.org/licenses/by-nc-sa/4.0/).\n\n## Author\n\nThe technical content is written by [@0xAX](https://x.com/0xAX).\n\nAdditional big thanks to [@klaudiagrz](https://github.com/klaudiagrz) for text improvements.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xax%2Flinux-insides","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0xax%2Flinux-insides","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xax%2Flinux-insides/lists"}