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
210
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
290
俺とキャンプ2
sat
PRO
1
100
俺とキャンプ3
sat
PRO
0
85
データ冗長化のしくみRAID 基礎概念とRAID1編
sat
PRO
2
39
RAIDの実現方法
sat
PRO
2
77
Linux環境のCPU上で10ミリ秒間に起こること
sat
PRO
3
120
HDDへのアクセス速度は位置によって変わる!??
sat
PRO
4
65
ボリュームマネージャLVM
sat
PRO
2
93
Best Practices of Production-Grade Rook/Ceph Cluster
sat
PRO
1
2.1k
Other Decks in Technology
See All in Technology
Taking Flight with Tailwind CSS
opdavies
0
4.3k
Dungeons and Dragons and Rails
joelq
0
230
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
16
6.7k
Prisma ORMを2年運用して培ったノウハウを共有する
tockn
19
5k
サービス開発におけるVue3とTypeScriptの親和性について
tsukuha
10
1.8k
TypeScript の抽象構文木を用いた、数百を超える API の大規模リファクタリング戦略
yanaemon
6
1.2k
Password cracking: past, present, future
openwall
0
240
生成AIと産業向けソフトウェアの自動生成 〜 ハノーバーメッセ2024より〜
kioto
2
420
スクラムに出会って「できた」を実感できるようになってきた話 / Scrum makes me feel like I can do it
yayoi_dd
2
110
データ基盤を支える技術
chanyou0311
5
2.9k
Step by Stepで学ぶ、ADT(代数的データ型)、モナドからEffect-TSまで
leveragestech
1
2.9k
【TSkaigi】2024/05/11 当日スライド
kimitashoichi
14
3.9k
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.7k
Being A Developer After 40
akosma
67
580k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
jQuery: Nuts, Bolts and Bling
dougneiner
60
7.2k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
7k
Imperfection Machines: The Place of Print at Facebook
scottboms
261
12k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
245
20k
Building Flexible Design Systems
yeseniaperezcruz
320
37k
What's in a price? How to price your products and services
michaelherold
238
11k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
Designing for Performance
lara
601
67k
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