# linux-kernel-architecture

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

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 333 установки · ★ 267
- Автор: mohitmishra786
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/mohitmishra786/low-level-dev-skills/tree/HEAD/skills/kernel-dev/linux-kernel-architecture/SKILL.md
- Обновлён: 2026-06-27
- HTML: https://affpapa.org/nevibecode/skills/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`.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
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/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mohitmishra786/low-level-dev-skills --skill linux-kernel-architecture -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/linux-kernel-architecture/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mohitmishra786/low-level-dev-skills --skill linux-kernel-architecture -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/linux-kernel-architecture/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install mohitmishra786/low-level-dev-skills linux-kernel-architecture
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/linux-kernel-architecture/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mohitmishra786/low-level-dev-skills --skill linux-kernel-architecture -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/mohitmishra786/low-level-dev-skills --path skills/kernel-dev/linux-kernel-architecture
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/linux-kernel-architecture/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add mohitmishra786/low-level-dev-skills --skill linux-kernel-architecture -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/mohitmishra786/low-level-dev-skills/tree/HEAD/skills/kernel-dev/linux-kernel-architecture/SKILL.md

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

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

## Похожие
- [analyzing-linux-kernel-rootkits](https://affpapa.org/nevibecode/skills/analyzing-linux-kernel-rootkits.md) — скилл · 442 установки
- [kernel-exploitation](https://affpapa.org/nevibecode/skills/kernel-exploitation.md) — скилл · 3600 установок
- [kernel-typescript-sdk](https://affpapa.org/nevibecode/skills/kernel-typescript-sdk.md) — скилл · 403 установки
- [kernel-python-sdk](https://affpapa.org/nevibecode/skills/kernel-python-sdk.md) — скилл · 353 установки
- [Linux Terminal](https://affpapa.org/nevibecode/prompts/linux-terminal.md) — промпт · ★ 174597
- [debian-linux-triage](https://affpapa.org/nevibecode/skills/debian-linux-triage.md) — скилл · 9197 установок

Из того же набора: [mohitmishra786/low-level-dev-skills](https://affpapa.org/nevibecode/by/mohitmishra786/low-level-dev-skills.md) — 62 карточки

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
