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
1
200
18行のLinuxカーネルモジュールを 作ってみる
以下動画のテキストです
https://youtu.be/U6cCXndBDVU
Satoru Takeuchi
PRO
November 28, 2023
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
270
俺とキャンプ2
sat
PRO
1
99
俺とキャンプ3
sat
PRO
0
84
データ冗長化のしくみRAID 基礎概念とRAID1編
sat
PRO
2
33
RAIDの実現方法
sat
PRO
2
69
Linux環境のCPU上で10ミリ秒間に起こること
sat
PRO
3
110
HDDへのアクセス速度は位置によって変わる!??
sat
PRO
4
57
ボリュームマネージャLVM
sat
PRO
2
92
Best Practices of Production-Grade Rook/Ceph Cluster
sat
PRO
1
2k
Other Decks in Technology
See All in Technology
Cracking the KubeCon CfP
inductor
2
270
M5stackで使用できるpHセンサの開発
shinrinakamura
0
170
実例で紹介するRAG導入時の知見と精度向上の勘所
yamahiro
5
1.6k
推しは推せるときに推せ! プロダクトにフィードバックしていこう
nakasho
0
460
アクセス制御にまつわる改善 / Improving access control
itkq
0
590
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
270
Max out Local LLM in Challenging Environments
sashimimochi
1
110
MapLibreとAmazon Location Service
dayjournal
1
190
2024春 注目のWeb系 OSS & SaaS 3選
makies
0
180
地理空間データ可視化・解析・活用ソリューション Pacific Spatial Solutions (PSS)
pacificspatialsolutions
0
330
いつか使うかも貯金してたらめちゃめちゃ機能が増えてた話
riyaamemiya
0
620
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
4
610
Featured
See All Featured
KATA
mclloyd
16
12k
Design by the Numbers
sachag
274
18k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Stop Working from a Prison Cell
hatefulcrawdad
267
19k
The Pragmatic Product Professional
lauravandoore
26
5.8k
Creatively Recalculating Your Daily Design Routine
revolveconf
211
11k
Happy Clients
brianwarren
92
6.4k
Designing with Data
zakiwarfel
96
4.8k
Code Review Best Practice
trishagee
56
15k
Statistics for Hackers
jakevdp
790
220k
The Language of Interfaces
destraynor
151
23k
How to Ace a Technical Interview
jacobian
273
22k
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