linux-kernel-architecture

v2026.09.24

Linux kernel architecture skill for subsystem overview. Use when navigating kernel source, understanding boot flow, initcalls, or major subsystems (VFS, scheduler, MM). Activates on queries about kernel architecture, boot process, initcall levels, subsystem layout, or where code lives in linux.git.

GitHub
安装命令
npx skhub add mohitmishra786/linux-kernel-architecture
Markdown
SKILL.md

Linux Kernel Architecture

Purpose

Provide a mental map of the Linux kernel: boot sequence, major subsystems, key data structures, and where to look in source — complementing skills/kernel/kernel-internals with architecture-level navigation for driver and subsystem work.

When to Use

  • First time exploring linux.git for a feature or bug
  • Understanding how boot reaches init and driver probe
  • Tracing a syscall or interrupt through subsystems
  • Onboarding before skills/kernel-dev/platform-device-model or driver skills

Workflow

1. Boot flow (x86/ARM64 simplified)

firmware/UEFI
├── arch/*/boot — decompress kernel, early setup
├── start_kernel() — mm, scheduler, timers, IRQ subsys
├── rest_init() → kernel_init → run_init_process
└── userspace init (systemd)

Driver module_init / device_initcall run during start_kernel before init.

2. Major subsystems

SubsystemPath (typical)Key structs
Schedulerkernel/sched/task_struct, sched_entity
Memorymm/struct page, mm_struct, vm_area_struct
VFSfs/inode, dentry, file, super_block
Blockblock/request_queue, gendisk
Netnet/sk_buff, net_device
Driversdrivers/device, device_driver
Syscallskernel/, fs/, mm/SYSCALL_DEFINE*

3. Initcall levels

/* include/linux/init.h — order matters */
early_initcall → core_initcall → postcore_initcall
→ arch_initcall → subsys_initcall → fs_initcall
→ device_initcall → late_initcall

Platform drivers usually register at subsys_initcall or via module_init.

4. Finding code

# Locate symbol
grep -rn "platform_driver_register" drivers/

# Trace config
./scripts/config --state CONFIG_FOO

# File hierarchy docs
ls Documentation/admin-guide/

5. Agent usage

/linux-kernel-architecture Where does page fault handling live and what calls it?

Common Problems

SymptomCauseFix
Driver probes too earlyInitcall vs DT orderingDefer with deferred_probe
Symbol missingBuilt as modulemodprobe or built-in CONFIG_*
Wrong subsystemSimilar names in drivers/Follow struct bus_type
Boot hangEarly printk disabledearlyprintk, initcall_debug

Related Skills

  • skills/kernel/kernel-internals — scheduler, SLUB, VFS depth
  • skills/kernel-dev/kernel-memory-management — mm/ details
  • skills/kernel-dev/platform-device-model — driver model
  • skills/kernel-dev/device-tree — hardware description
  • skills/low-level-programming/linux-kernel-modules — LKM basics
发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

MIT

源路径

skills/kernel-dev/linux-kernel-architecture

默认分支

main

最新提交

bdc5847

Tree SHA

1178323