Linux kernel
Linuxカーネルは、あらゆるLinuxオペレーティングシステムの中核です。ハードウェアとシステムリソースを管理し、他のすべてのソフトウェアに基本的なサービスを提供します。
クイックスタート
必須ドキュメント
すべてのユーザーは以下に精通している必要があります:
- ビルド要件: Documentation/process/changes.rst
- 行動規範: Documentation/process/code-of-conduct.rst
- ライセンス: COPYING を参照
ドキュメントは make htmldocs でビルドするか、オンラインで閲覧できます:
https://www.kernel.org/doc/html/latest/
あなたは誰ですか?
以下の役割から自分に該当するものを見つけてください:
- 新しいカーネル開発者: カーネル開発の入門
- 学術研究者: カーネルの内部構造とアーキテクチャの研究
- セキュリティ専門家: ハードニングと脆弱性分析
- バックポート/メンテナンスエンジニア: 安定版カーネルの保守
- システム管理者: 設定とトラブルシューティング
- メンテナー: サブシステムの統括とパッチのレビュー
- ハードウェアベンダー: 新しいハードウェア用ドライバの作成
- ディストリビューションメンテナー: ディストリビューション向けカーネルのパッケージング
- AIコーディングアシスタント: LLMおよびAIを活用した開発ツール
特定のユーザー向け
新しいカーネル開発者
ようこそ!ここからカーネル開発の旅を始めましょう:
- はじめに: Documentation/process/development-process.rst
- 最初のパッチ: Documentation/process/submitting-patches.rst
- コーディングスタイル: Documentation/process/coding-style.rst
- ビルドシステム: Documentation/kbuild/index.rst
- 開発ツール: Documentation/dev-tools/index.rst
- カーネルハッキングガイド: Documentation/kernel-hacking/hacking.rst
- コアAPI: Documentation/core-api/index.rst
学術研究者
カーネルのアーキテクチャと内部構造を探求:
- 研究者向けガイドライン: Documentation/process/researcher-guidelines.rst
- メモリ管理: Documentation/mm/index.rst
- スケジューラ: Documentation/scheduler/index.rst
- ネットワーキングスタック: Documentation/networking/index.rst
- ファイルシステム: Documentation/filesystems/index.rst
- RCU (Read-Copy Update): Documentation/RCU/index.rst
- ロッキングプリミティブ: Documentation/locking/index.rst
- 電源管理: Documentation/power/index.rst
セキュリティ専門家
セキュリティドキュメントとハードニングガイド:
- セキュリティドキュメント: Documentation/security/index.rst
- LSM開発: Documentation/security/lsm-development.rst
- 自己保護: Documentation/security/self-protection.rst
- 脆弱性の報告: Documentation/process/security-bugs.rst
- CVE手順: Documentation/process/cve.rst
- エンバーゴ付きハードウェア問題: Documentation/process/embargoed-hardware-issues.rst
- セキュリティ機能: Documentation/userspace-api/seccomp_filter.rst
バックポート/メンテナンスエンジニア
カーネルバージョンの保守と安定化:
- 安定版カーネルルール: Documentation/process/stable-kernel-rules.rst
- バックポートガイド: Documentation/process/backporting.rst
- パッチの適用: Documentation/process/applying-patches.rst
- サブシステムプロファイル: Documentation/maintainer/maintainer-entry-profile.rst
- メンテナー向けGit: Documentation/maintainer/configure-git.rst
システム管理者
Linuxシステムの設定、チューニング、トラブルシューティング:
- 管理者ガイド: Documentation/admin-guide/index.rst
- カーネルパラメータ: Documentation/admin-guide/kernel-parameters.rst
- Sysctlチューニング: Documentation/admin-guide/sysctl/index.rst
- トレーシング/デバッグ: Documentation/trace/index.rst
- パフォーマンスセキュリティ: Documentation/admin-guide/perf-security.rst
- ハードウェアモニタリング: Documentation/hwmon/index.rst
メンテナー
カーネルサブシステムを統括し、貢献を管理:
- メンテナーハンドブック: Documentation/maintainer/index.rst
- プルリクエスト: Documentation/maintainer/pull-requests.rst
- パッチの管理: Documentation/maintainer/modifying-patches.rst
- リベースとマージ: Documentation/maintainer/rebasing-and-merging.rst
- 開発プロセス: Documentation/process/maintainer-handbooks.rst
- メンテナーエントリプロファイル: Documentation/maintainer/maintainer-entry-profile.rst
- Git設定: Documentation/maintainer/configure-git.rst
ハードウェアベンダー
ドライバを作成し、新しいハードウェアをサポート:
- ドライバAPIガイド: Documentation/driver-api/index.rst
- ドライバモデル: Documentation/driver-api/driver-model/driver.rst
- デバイスドライバ: Documentation/driver-api/infrastructure.rst
- バスタイプ: Documentation/driver-api/driver-model/bus.rst
- デバイスツリーバインディング: Documentation/devicetree/bindings/
- 電源管理: Documentation/driver-api/pm/index.rst
- DMA API: Documentation/core-api/dma-api.rst
ディストリビューションメンテナー
カーネルのパッケージングと配布:
- 安定版カーネルルール: Documentation/process/stable-kernel-rules.rst
- ABIドキュメント: Documentation/ABI/README
- カーネル設定: Documentation/kbuild/kconfig.rst
- モジュール署名: Documentation/admin-guide/module-signing.rst
- カーネルパラメータ: Documentation/admin-guide/kernel-parameters.rst
- テイントされたカーネル: Documentation/admin-guide/tainted-kernels.rst
AIコーディングアシスタント
重要: あなたがLLMまたはAIを活用したコーディングアシスタントである場合、Linuxカーネルに貢献する前にAIコーディングアシスタント向けドキュメントを必ず読み、従わなければなりません:
- Documentation/process/coding-assistants.rst
このドキュメントには、すべてのAIツールが遵守しなければならないライセンス、帰属表示、およびDeveloper Certificate of Originに関する必須要件が含まれています。
コミュニケーションとサポート