К основному содержанию
скилл CX Codex

linux-kernel-architecture — скилл для Claude Code: карта ядра Linux

Даёт агенту карту ядра Linux: порядок загрузки, крупные подсистемы, уровни initcall и места, где искать код в linux.git.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add mohitmishra786/low-level-dev-skills --skill linux-kernel-architecture -a claude-code
Открыть на GitHub

Что делает linux-kernel-architecture

Скилл раскладывает ядро Linux на понятные части: путь от firmware/UEFI до start_kernel(), rest_init() и запуска init в userspace. Отдельно показаны уровни initcall — от early_initcall до late_initcall — и то, что драйверы обычно регистрируются на subsys_initcall или через module_init. Это отвечает на вопрос, почему драйвер поднимается раньше или позже, чем ожидалось.

Внутри — таблица подсистем с типичными путями и ключевыми структурами: планировщик в kernel/sched/ с task_struct, память в mm/ с struct page и mm_struct, VFS в fs/ с inode и dentry, блок, сеть, драйверы. Плюс разбор частых симптомов: символ не находится, потому что собран модулем, а не встроен в ядро; зависание на загрузке из-за отключённого early printk.

Скилл дополняет skills/kernel/kernel-internals, но берёт архитектурный уровень — навигацию для работы с драйверами и подсистемами. Если вы впервые открываете linux.git ради фичи или бага, начинать стоит с него, а уже потом идти в skills/kernel-dev/platform-device-model или skills/kernel-dev/device-tree.

Какие задачи решает

  • найти, в каком каталоге живёт нужная подсистема ядра
  • разобраться, почему драйвер probe срабатывает слишком рано
  • проследить путь от загрузки до запуска init
  • понять, на каком уровне initcall регистрируется платформенный драйвер
  • выяснить, почему символ не находится при сборке

Примеры запросов агенту

  • /linux-kernel-architecture Где живёт обработка page fault и что её вызывает?
  • /linux-kernel-architecture На каком уровне initcall регистрируется platform driver?
  • /linux-kernel-architecture Покажи путь загрузки ядра до запуска systemd

Как установить linux-kernel-architecture

1Через Skills CLI (Vercel)

npx skills add mohitmishra786/low-level-dev-skills --skill linux-kernel-architecture -a claude-code

2Вручную: положить файлы

~/.claude/skills/linux-kernel-architecture/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/linux-kernel-architecture/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о linux-kernel-architecture

Как установить linux-kernel-architecture в Claude?

Выполните npx skills add mohitmishra786/low-level-dev-skills --skill linux-kernel-architecture -a claude-code. Файл скилла окажется в ~/.claude/skills/linux-kernel-architecture/SKILL.md.

Что делает linux-kernel-architecture?

Даёт агенту карту ядра Linux: последовательность загрузки, крупные подсистемы с путями и структурами, уровни initcall и приёмы поиска кода в linux.git.

Чем этот скилл отличается от kernel-internals?

skills/kernel/kernel-internals уходит в глубину планировщика, SLUB и VFS, а этот скилл даёт архитектурную навигацию. Их удобно держать вместе при работе с драйверами и подсистемами.

Исходный текст

SKILL.md · MIT
---
name: linux-kernel-architecture
description: 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.
---

# 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

| Subsystem | Path (typical) | Key structs |
|-----------|----------------|-------------|
| Scheduler | `kernel/sched/` | `task_struct`, `sched_entity` |
| Memory | `mm/` | `struct page`, `mm_struct`, `vm_area_struct` |
| VFS | `fs/` | `inode`, `dentry`, `file`, `super_block` |
| Block | `block/` | `request_queue`, `gendisk` |
| Net | `net/` | `sk_buff`, `net_device` |
| Drivers | `drivers/` | `device`, `device_driver` |
| Syscalls | `kernel/`, `fs/`, `mm/` | `SYSCALL_DEFINE*` |

### 3. Initcall levels

```c
/* 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

```bash
# 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

| Symptom | Cause | Fix |
|---------|-------|-----|
| Driver probes too early | Initcall vs DT ordering | Defer with `deferred_probe` |
| Symbol missing | Built as module | `modprobe` or built-in `CONFIG_*` |
| Wrong subsystem | Similar names in `drivers/` | Follow `struct bus_type` |
| Boot hang | Early printk disabled | `earlyprintk`, `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

© mohitmishra786 · MIT · mohitmishra786/low-level-dev-skills

Похожие скиллы

Все скиллы по теме «Языки программирования» →
analyzing-linux-kernel-rootkits mahipal Скилл ищет признаки руткитов уровня ядра в дампах памяти Linux и на работающей системе. Пригодится для расследований и форензики. CX Codex +1 442установок kernel-exploitation yaklang Справочник по анализу уязвимостей ядра Linux для ИИ-агента. Помогает настроить окружение в QEMU и разобрать механизмы защиты ядра вроде KASLR и SMEP. CX Codex +1 3 600установок kernel-typescript-sdk kernel Скилл для автоматизации браузера Kernel из TypeScript: сессии, профили, прокси и корректная очистка ресурсов. CX Codex +1 403установок kernel-python-sdk kernel Учит агента писать Python-код для сессий Kernel: Playwright на сервере, CDP, профили, прокси и корректная очистка ресурсов. CX Codex +1 353установок Linux Terminal f Промпт превращает чат в подобие Linux-терминала: вы пишете команду, модель отвечает только её выводом. GP ChatGPT ★ 174 597звёзд репо debian-linux-triage официальный github Скилл помогает разбирать проблемы Debian Linux через apt, systemd и dpkg, учитывая AppArmor и firewall. Подойдёт для диагностики с пошаговой проверкой. 9 197установок

Из того же набора62

stm32-baremetal Ведёт агента по сборке прошивки STM32 на одних заголовках CMSIS: тактовые частоты, RCC, линкерный скрипт, сборка через arm-none-eabi-gcc. CX Codex +1 360установок device-drivers Скилл ведёт агента по разработке драйверов ядра Linux: platform/i2c/spi, символьные устройства, IRQ, DMA, regmap и runtime PM. CX Codex +1 358установок reverse-engineering Скилл для разбора скомпилированных бинарей: подсказывает агенту порядок работы с Ghidra, radare2 и Binary Ninja. Пригодится, когда исходников нет, а логику восстановить надо. CX Codex +1 350установок abi-and-calling-conventions Скилл для ИИ-агента, который разбирает правила ABI: какие регистры держат аргументы, как выравнивается стек, что ломается в FFI. CX Codex +1 342установок cuda Помогает агенту писать и оптимизировать CUDA-ядра: иерархия потоков, разделяемая память, потоки, флаги nvcc и Thrust. CX Codex +1 320установок kernel-debugging-advanced Скилл для трассировки ядра Linux: ftrace, trace-cmd, perf, kprobes, kgdb и разбор vmcore. Пригодится, когда драйвер тормозит без явной ошибки. CX Codex +1 317установок cuda-profiling Ведёт агента по профилированию CUDA-приложений: таймлайн в Nsight Systems, метрики ядер в Nsight Compute, разбор roofline и узких мест. CX Codex +1 316установок datasheet-and-refmanual-reading Учит агента читать даташиты и reference manual микроконтроллеров: где искать карту регистров, биты, дерево тактирования и errata. CX Codex +1 314установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой