Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
18行のLinuxカーネルモジュールを 作ってみる
Search
Satoru Takeuchi
PRO
November 28, 2023
Technology
430
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
18行のLinuxカーネルモジュールを 作ってみる
以下動画のテキストです
https://youtu.be/U6cCXndBDVU
Satoru Takeuchi
PRO
November 28, 2023
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
Linuxカーネルの インタフェースは変わりうる?
sat
PRO
1
55
あなたの知らないバージョン命名規則
sat
PRO
2
660
Rook: Intro and Deep Dive with Ceph
sat
PRO
1
59
Machine Check Exception
sat
PRO
2
55
バイナリダンプの模様を読む
sat
PRO
0
80
cpコマンドはディスク上でデータを コピーしないことがある
sat
PRO
3
68
114-ファイルのshallow_copy.pdf
sat
PRO
2
45
113-Btrfsのスナップショット.pdf
sat
PRO
0
30
システム強制終了時にファイルシステムの整合性を保つ~ コピーオンライト編 ~
sat
PRO
0
66
Other Decks in Technology
See All in Technology
DDDのエッセンスを取り入れたAIでの開発
ak2ie
1
220
わたしが知り合いゼロの勉強会に 行けるようになるまで
r5ni4
2
640
コミュニティから始まった農業IoTとの7年間 ——人との関わりが教えてくれたこと
peacemaker07
0
110
型落ちシンクライアント端末のPoEモジュールを自作したかった話
logica0419
0
420
AI駆動開発はどこまで来たのか? ファインディの最新実態調査で読み解く現在地 Devin Con Tokyo
akiratom
1
610
Kiro5兄弟のいまどきのセキュリティ基礎知識
kentapapa
0
110
internal/testlog で遊ぼう
rokuosan
0
140
[potatotips #96] Give Your AI Agent the Flutter Playbook
korodroid
0
160
Claude Teamプランの コスト最適化を考える
rfdnxbro
0
480
NANDでも描画したい!
nichica906
3
700
OpenID for Verifiable Credentials 実装から見えた相互運用性確保までの道のり(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
150
マイナンバーカード本人確認の実装比較(OAuth/OIDC Numa (Immersion) Workshop 2026) / 20260825 numa-12
oidfj
PRO
0
130
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
57k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Deep Space Network (abreviated)
tonyrice
0
270
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
220
エンジニアに許された特別な時間の終わり
watany
108
250k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
490
A designer walks into a library…
pauljervisheath
211
24k
Music & Morning Musume
bryan
47
7.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Designing for Performance
lara
611
70k
Transcript
18行のLinuxカーネルモジュールを 作ってみる Nov. 28th, 2023 Satoru Takeuchi X: satoru_takeuchi 1
今回話すこと • Linuxのカーネルモジュールを作ってカーネル開発の入口の入口に立つ • Ubuntu 22.04.3で実験 2
そもそもカーネルモジュールとは • Linuxカーネルの機能の一つ • システムの動作中にカーネルに機能を組み込む • 組み込まれた機能はlsmodコマンドでリストできる • カーネル本体を拡張するのは大変 •
単純なカーネルモジュールを作るくらいなら簡単 3
カーネル開発にはお作法がある • Kbuildという独自のビルドフレームワークに沿ったMakefileを書く ◦ 頑張ってKbuildを理解する必要はなくてコピペでいい ◦ Building External Modules ▪
https://github.com/torvalds/linux/blob/master/Documentation/kbuild/modules.rst • モジュールの作者、ライセンス、簡単な説明などを書く • カーネルモジュールのコードを書く ◦ 所定のシグネチャを持つ初期化関数と終了関数を書く ◦ あとは自由 ◦ C言語なのでちょっと大変かも ▪ 最近はRustで書ける(そのうち紹介するかもしれない ) 4
この動画で作るもの: helloモジュール 1. ロード時に”Hello world!\n”という文字列をカーネルログに出力 2. たった18行 5
まとめ • Linuxのカーネルモジュールは凄く簡単なものならすぐ作れる • ソース ◦ https://github.com/satoru-takeuchi/youtube-sample/0061-linux-kernel-module 6