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
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
システム強制終了時にファイルシステムの整合性を保つ~ コピーオンライト編 ~
sat
PRO
0
46
システム強制終了時に ファイルシステムの整合性を保つ ~ ジャーナリング編 ~
sat
PRO
1
50
ファイルシステムの整合性を回復するfsck
sat
PRO
1
50
小学校5,6年生向けキャリア教育 大人になるまでの道
sat
PRO
8
4.1k
ファイルシステムの不整合
sat
PRO
2
150
書籍執筆での生成AIの活用
sat
PRO
2
490
ChatGPTに従って体調管理2026
sat
PRO
0
180
eBPF
sat
PRO
1
150
waruiBPF
sat
PRO
0
140
Other Decks in Technology
See All in Technology
社内RAGの導入で気を付けたポイント
yakumo
1
150
最新技術を"今は選ばない"という技術選定
leveragestech
PRO
0
370
GCASアップデート(202603-202605)
techniczna
0
270
Python開発環境にハーネス適用を検討する
yuuka51
0
300
AsyncStreamでマルチブロードキャストを実装する
1mash0
1
190
AIのために、AIを使った、Effect-TSからの脱却 〜テストを活用した安全なリファクタリングの進め方〜
bitkey
PRO
1
220
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.4k
ソフトウェアサプライチェーン攻撃対策として今からサクッとできること
flatt_security
2
110
障害対応のRunbookは作った、でも本当に動くの? AWS FIS で EKS の AZ 障害を再現してみた
tk3fftk
0
120
The Making of AI Chips
pfn
PRO
0
670
パーソルキャリア IT/テクノロジー職向け 会社紹介資料|Company Introduction Deck
techtekt
PRO
0
320
AI Agent に“攻略本”を渡したら、150フォームの移行が回り始めた話/登壇資料(高橋 悟生)
hacobu
PRO
1
290
Featured
See All Featured
WENDY [Excerpt]
tessaabrams
10
37k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
260
Chasing Engaging Ingredients in Design
codingconduct
0
190
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
210
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
410
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
170
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
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