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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Satoru Takeuchi
PRO
November 28, 2023
Technology
410
1
Share
18行のLinuxカーネルモジュールを 作ってみる
以下動画のテキストです
https://youtu.be/U6cCXndBDVU
Satoru Takeuchi
PRO
November 28, 2023
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
ファイルシステムの整合性を回復するfsck
sat
PRO
1
29
小学校5,6年生向けキャリア教育 大人になるまでの道
sat
PRO
8
3.5k
ファイルシステムの不整合
sat
PRO
2
130
書籍執筆での生成AIの活用
sat
PRO
2
460
ChatGPTに従って体調管理2026
sat
PRO
0
170
eBPF
sat
PRO
1
140
waruiBPF
sat
PRO
0
130
eBPFとwaruiBPF
sat
PRO
5
4.6k
Pythonのコードの気になる行でスタックトレースを出す
sat
PRO
1
120
Other Decks in Technology
See All in Technology
EBS暗号化に失敗してEC2が動かなくなった話
hamaguchimmm
2
200
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
320
[最強DB講義]推薦システム | 基礎編
recsyslab
PRO
1
170
「誰一人取り残されない」 AIエージェント時代のプロダクト設計思想 Product Management Summit 2026
mizushimac
0
180
Hacobu Tech Deck
hacobu
PRO
0
110
AWS DevOps Agentはチームメイトになれるのか?/ Can AWS DevOps Agent become a teammate
kinunori
6
740
基盤を育てる 外部SaaS連携の運用
gamonges_dresscode
1
120
Practical TypeProf: Lessons from Analyzing Optcarrot
mame
0
350
Pure Intonation on Browser: Building a Sequencer with Ruby
nagachika
0
120
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.4k
Good Enough Types: Heuristic Type Inference for Ruby
riseshia
1
230
Choose your own adventure in agentic design patterns
glaforge
0
140
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
698
190k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
510
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
Code Review Best Practice
trishagee
74
20k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Balancing Empowerment & Direction
lara
6
1.1k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
120
Site-Speed That Sticks
csswizardry
13
1.2k
HDC tutorial
michielstock
2
630
A Soul's Torment
seathinner
6
2.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
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