Atlas - SOURCES
Home / doc / linux-ref Lines: 1 | Size: 12357 bytes [Download] [Show on GitHub] [Search similar files] [Raw] [Raw (proxy)][FILE BEGIN]14248's Linux Reference Manual — Sources & References 2====================================================== 3 4Primary sources are marked (*) — these should be checked first for any topic. 5The kernel source tree is the ultimate ground truth for everything. 6 7──────────────────────────────────────────────────────────────────────────────── 8KERNEL SOURCE AND OFFICIAL DOCUMENTATION 9──────────────────────────────────────────────────────────────────────────────── 10 11(*) Linux kernel source tree 12 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 13 https://github.com/torvalds/linux 14 - arch/x86/entry/ syscall entry, vDSO 15 - arch/x86/mm/ page tables, KASLR 16 - kernel/sched/ CFS, RT, deadline schedulers 17 - kernel/signal.c signal delivery internals 18 - mm/ all memory management subsystems 19 - net/ full networking stack 20 - drivers/ all driver subsystems 21 - fs/ VFS and filesystem implementations 22 - security/ LSM, SELinux, AppArmor, Landlock 23 - include/uapi/ userspace-visible kernel headers 24 25(*) Kernel documentation (built from source, also online) 26 https://www.kernel.org/doc/html/latest/ 27 - admin-guide/kernel-parameters.txt all boot parameters 28 - admin-guide/mm/ memory management admin docs 29 - core-api/ core kernel API reference 30 - driver-api/ driver subsystem APIs 31 - filesystems/ per-filesystem documentation 32 - networking/ net stack documentation 33 - bpf/ eBPF subsystem 34 - trace/ ftrace, kprobes, perf events 35 - security/ LSM, SELinux, misc security 36 - process/ submitting patches, coding style 37 38(*) Linux man-pages project 39 https://www.kernel.org/doc/man-pages/ 40 https://man7.org/linux/man-pages/ 41 - Section 2: syscalls (definitive userspace interface reference) 42 - Section 4: device files (/dev/*) 43 - Section 5: /proc and /sys file formats 44 - Section 7: overviews (namespaces(7), capabilities(7), cgroups(7), etc.) 45 46(*) Linux Weekly News (LWN) 47 https://lwn.net 48 Best source for design rationale, historical context, and subsystem 49 introductions — search by topic before writing any major section. 50 51 52──────────────────────────────────────────────────────────────────────────────── 53BOOKS 54──────────────────────────────────────────────────────────────────────────────── 55 56(*) Linux Kernel Development — Robert Love (3rd ed.) 57 Good overview of scheduling, memory, drivers, interrupts. 58 Note: covers ~2.6 era, cross-check against current source. 59 60(*) Understanding the Linux Kernel — Bovet & Cesati (3rd ed.) 61 Deep dive into process management, memory, VFS, I/O. 62 Note: 2.6 era, still accurate for conceptual structure. 63 64(*) Linux Device Drivers — Corbet, Rubini, Kroah-Hartman (3rd ed.) 65 https://lwn.net/Kernel/LDD3/ (free online) 66 Module interface, char/block drivers, memory, interrupts. 67 Note: 2.6 era, driver API has evolved — check kernel docs for updates. 68 69 Linux Device Driver Development — John Madieu (2nd ed., 2022) 70 More current successor covering platform drivers, DT, modern APIs. 71 72(*) The Linux Programming Interface — Michael Kerrisk 73 Comprehensive userspace/syscall reference, proc/sys interfaces. 74 Covers namespaces, capabilities, signals, epoll, sockets in depth. 75 76 BPF Performance Tools — Brendan Gregg (2019) 77 Covers eBPF, BCC, bpftrace, perf, flamegraphs end-to-end. 78 79 Systems Performance — Brendan Gregg (2nd ed., 2020) 80 Methodology, perf counters, CPU/memory/disk/network observability. 81 82 Computer Systems: A Programmer's Perspective — Bryant & O'Hallaron 83 Solid hardware/OS foundation: virtual memory, linking, I/O, concurrency. 84 85 86──────────────────────────────────────────────────────────────────────────────── 87ABI AND INTERFACE REFERENCES 88──────────────────────────────────────────────────────────────────────────────── 89 90(*) Linux kernel user-space ABI docs 91 https://www.kernel.org/doc/html/latest/userspace-api/index.html 92 93(*) Linux allocated devices (major/minor numbers) 94 https://www.kernel.org/doc/html/latest/admin-guide/devices.html 95 96(*) POSIX / Single Unix Specification 97 https://pubs.opengroup.org/onlinepubs/9799919799/ 98 99 GNU C Library (glibc) manual 100 https://www.gnu.org/software/libc/manual/ 101 102 Filesystem Hierarchy Standard (FHS) 103 https://refspecs.linuxfoundation.org/fhs.shtml 104 105 106──────────────────────────────────────────────────────────────────────────────── 107ARCHITECTURE REFERENCES (x86_64 focus) 108──────────────────────────────────────────────────────────────────────────────── 109 110(*) Intel 64 and IA-32 Architectures Software Developer Manuals 111 https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html 112 Vol 1: Basic architecture 113 Vol 2: Instruction set reference 114 Vol 3: System programming (paging, segmentation, interrupts, VMX) 115 116(*) AMD64 Architecture Programmer's Manual 117 https://www.amd.com/en/support/tech-docs/amd64-architecture-programmers-manual-volumes-1-5 118 Vol 2: System programming (covers SVM for AMD virtualisation) 119 120 x86_64 ABI supplement (System V ABI) 121 https://gitlab.com/x86-psABIs/x86-64-ABI 122 123 124──────────────────────────────────────────────────────────────────────────────── 125NETWORKING 126──────────────────────────────────────────────────────────────────────────────── 127 128(*) iproute2 documentation and source 129 https://git.kernel.org/pub/scm/network/iproute2/iproute2.git 130 ip(8), tc(8), ss(8) man pages cover netlink usage clearly. 131 132(*) nftables wiki 133 https://wiki.nftables.org/ 134 135 Netfilter project documentation 136 https://www.netfilter.org/documentation/ 137 138 Linux Advanced Routing & Traffic Control (LARTC) HOWTO 139 https://lartc.org/howto/ 140 141 142──────────────────────────────────────────────────────────────────────────────── 143eBPF 144──────────────────────────────────────────────────────────────────────────────── 145 146(*) BPF and XDP Reference Guide (Cilium) 147 https://docs.cilium.io/en/stable/bpf/ 148 149(*) Kernel BPF documentation 150 https://www.kernel.org/doc/html/latest/bpf/index.html 151 152(*) libbpf API docs 153 https://libbpf.readthedocs.io/ 154 155 bpftrace reference guide 156 https://github.com/bpftrace/bpftrace/blob/master/docs/reference_guide.md 157 158 Brendan Gregg's eBPF reference 159 https://ebpf.io/ 160 161 162──────────────────────────────────────────────────────────────────────────────── 163FILESYSTEMS 164──────────────────────────────────────────────────────────────────────────────── 165 166(*) Ext4 documentation 167 https://www.kernel.org/doc/html/latest/filesystems/ext4/ 168 169(*) XFS documentation 170 https://www.kernel.org/doc/html/latest/filesystems/xfs/ 171 https://xfs.wiki.kernel.org/ 172 173(*) Btrfs documentation 174 https://btrfs.readthedocs.io/ 175 176 VFS documentation 177 https://www.kernel.org/doc/html/latest/filesystems/vfs.html 178 179 180──────────────────────────────────────────────────────────────────────────────── 181SECURITY 182──────────────────────────────────────────────────────────────────────────────── 183 184(*) Kernel self-protection project (KSPP) 185 https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project 186 187(*) SELinux notebook 188 https://github.com/SELinuxProject/selinux-notebook 189 190 AppArmor documentation 191 https://gitlab.com/apparmor/apparmor/-/wikis/home 192 193 Landlock documentation 194 https://landlock.io/ 195 https://www.kernel.org/doc/html/latest/userspace-api/landlock.html 196 197 198──────────────────────────────────────────────────────────────────────────────── 199HARDWARE / FIRMWARE 200──────────────────────────────────────────────────────────────────────────────── 201 202(*) ACPI specification 203 https://uefi.org/specifications (ACPI 6.x) 204 205(*) PCI Express Base Specification 206 https://pcisig.com/specifications (requires free registration) 207 208(*) UEFI specification 209 https://uefi.org/specifications 210 211 OSDev wiki (useful for low-level boot, ACPI, hardware interface details) 212 https://wiki.osdev.org/ 213 214 215──────────────────────────────────────────────────────────────────────────────── 216COMMUNITY AND SUPPLEMENTAL 217──────────────────────────────────────────────────────────────────────────────── 218 219 Kernel mailing lists (LKML and subsystem lists) 220 https://lore.kernel.org/ (searchable archive of all kernel lists) 221 222 Linux kernel newbies 223 https://kernelnewbies.org/ (changelogs per release, concept explanations) 224 225 Bootlin Elixir cross-referencer (browse kernel source with symbol links) 226 https://elixir.bootlin.com/linux/latest/source 227 228 gregkh blog (Greg Kroah-Hartman, driver/USB/stable maintainer) 229 http://www.kroah.com/log/ 230 231 Jonathan Corbet's LWN kernel coverage 232 https://lwn.net/Archives/ 233 234 The /proc filesystem documentation 235 https://www.kernel.org/doc/html/latest/filesystems/proc.html 236[FILE END](C) 2025 0x4248 (C) 2025 4248 Media and 4248 Systems, All part of 0x4248 See LICENCE files for more information. Not all files are by 0x4248 always check Licencing.