Submit Search
Upload
カーネルモジュールプログラミング超入門 #1(仮)
•
Download as ODP, PDF
•
6 likes
•
2,590 views
University of Tsukuba Linux User Group
Follow
筑波大学 Linux User Group (つくらぐ) http://www.tsukuba-linux.org/
Read less
Read more
Education
Report
Share
Report
Share
1 of 24
Download now
Recommended
Android デバッグ小ネタ
Android デバッグ小ネタ
l_b__
A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0
Satoshi Kume
SoftlayerのCLIで遊ぼうとしたら
SoftlayerのCLIで遊ぼうとしたら
雄哉 吉田
Introduction to Initramfs - Initramfs-tools and Dracut
Introduction to Initramfs - Initramfs-tools and Dracut
Taisuke Yamada
initramfsについて
initramfsについて
Kazuhiro Nishiyama
OpenCM IDE、OpenCM 485 EXPを用いてのDynamixel Xシリーズの制御
OpenCM IDE、OpenCM 485 EXPを用いてのDynamixel Xシリーズの制御
ROBOTIS Japan
How_to_install_OpenCV_ver1.0
How_to_install_OpenCV_ver1.0
Satoshi Kume
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス
5mingame2
Recommended
Android デバッグ小ネタ
Android デバッグ小ネタ
l_b__
A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0
Satoshi Kume
SoftlayerのCLIで遊ぼうとしたら
SoftlayerのCLIで遊ぼうとしたら
雄哉 吉田
Introduction to Initramfs - Initramfs-tools and Dracut
Introduction to Initramfs - Initramfs-tools and Dracut
Taisuke Yamada
initramfsについて
initramfsについて
Kazuhiro Nishiyama
OpenCM IDE、OpenCM 485 EXPを用いてのDynamixel Xシリーズの制御
OpenCM IDE、OpenCM 485 EXPを用いてのDynamixel Xシリーズの制御
ROBOTIS Japan
How_to_install_OpenCV_ver1.0
How_to_install_OpenCV_ver1.0
Satoshi Kume
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス
5mingame2
Ilstudy001_20110806
Ilstudy001_20110806
Interlink Corporation
『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆
5mingame2
WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築
Saito5656
Androidとfpgaを高速fifo通信させちゃう
Androidとfpgaを高速fifo通信させちゃう
ksk sue
What is Metasepi?
What is Metasepi?
Kiwamu Okabe
Kiso sekkei 01rev03
Kiso sekkei 01rev03
tetsuya matsuno
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
Yasuhiro Ishii
シェル入門
シェル入門
ina job
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
Mitsutoshi Nakano
Casperjsのインストール
Casperjsのインストール
Kohei Misu
awk v.s. bashどっちが強い?@OSC2011Tokyo
awk v.s. bashどっちが強い?@OSC2011Tokyo
Ryuichi Ueda
coma Study Room vol.2 Arduino Workshop
coma Study Room vol.2 Arduino Workshop
Eto Haruhiko
Testman
Testman
makoto tsuyuki
YosemiteでApacheを設定してみる
YosemiteでApacheを設定してみる
Nな人 -enunahito-
Elog and Ebuild Phase Hook
Elog and Ebuild Phase Hook
Yasuhiro Asaka
Javaで最強のfizz buzz
Javaで最強のfizz buzz
yy yank
MacPort_&_FTP_ver1.0
MacPort_&_FTP_ver1.0
Satoshi Kume
カーネルをmakeしよう! - 第4回つくらぐ勉強会
カーネルをmakeしよう! - 第4回つくらぐ勉強会
University of Tsukuba Linux User Group
JSで対戦できるゲーム作った
JSで対戦できるゲーム作った
Akito Moriki
Python で munin plugin を書いてみる
Python で munin plugin を書いてみる
ftnk
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
Sho Shimizu
Tremaとtrema edgeの違い
Tremaとtrema edgeの違い
hiroshi oshiba
More Related Content
What's hot
Ilstudy001_20110806
Ilstudy001_20110806
Interlink Corporation
『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆
5mingame2
WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築
Saito5656
Androidとfpgaを高速fifo通信させちゃう
Androidとfpgaを高速fifo通信させちゃう
ksk sue
What is Metasepi?
What is Metasepi?
Kiwamu Okabe
Kiso sekkei 01rev03
Kiso sekkei 01rev03
tetsuya matsuno
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
Yasuhiro Ishii
シェル入門
シェル入門
ina job
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
Mitsutoshi Nakano
Casperjsのインストール
Casperjsのインストール
Kohei Misu
awk v.s. bashどっちが強い?@OSC2011Tokyo
awk v.s. bashどっちが強い?@OSC2011Tokyo
Ryuichi Ueda
coma Study Room vol.2 Arduino Workshop
coma Study Room vol.2 Arduino Workshop
Eto Haruhiko
Testman
Testman
makoto tsuyuki
YosemiteでApacheを設定してみる
YosemiteでApacheを設定してみる
Nな人 -enunahito-
Elog and Ebuild Phase Hook
Elog and Ebuild Phase Hook
Yasuhiro Asaka
Javaで最強のfizz buzz
Javaで最強のfizz buzz
yy yank
MacPort_&_FTP_ver1.0
MacPort_&_FTP_ver1.0
Satoshi Kume
カーネルをmakeしよう! - 第4回つくらぐ勉強会
カーネルをmakeしよう! - 第4回つくらぐ勉強会
University of Tsukuba Linux User Group
JSで対戦できるゲーム作った
JSで対戦できるゲーム作った
Akito Moriki
Python で munin plugin を書いてみる
Python で munin plugin を書いてみる
ftnk
What's hot
(20)
Ilstudy001_20110806
Ilstudy001_20110806
『こなへん』ができるまで ☆リリース直前編☆
『こなへん』ができるまで ☆リリース直前編☆
WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築
Androidとfpgaを高速fifo通信させちゃう
Androidとfpgaを高速fifo通信させちゃう
What is Metasepi?
What is Metasepi?
Kiso sekkei 01rev03
Kiso sekkei 01rev03
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
シェル入門
シェル入門
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
Casperjsのインストール
Casperjsのインストール
awk v.s. bashどっちが強い?@OSC2011Tokyo
awk v.s. bashどっちが強い?@OSC2011Tokyo
coma Study Room vol.2 Arduino Workshop
coma Study Room vol.2 Arduino Workshop
Testman
Testman
YosemiteでApacheを設定してみる
YosemiteでApacheを設定してみる
Elog and Ebuild Phase Hook
Elog and Ebuild Phase Hook
Javaで最強のfizz buzz
Javaで最強のfizz buzz
MacPort_&_FTP_ver1.0
MacPort_&_FTP_ver1.0
カーネルをmakeしよう! - 第4回つくらぐ勉強会
カーネルをmakeしよう! - 第4回つくらぐ勉強会
JSで対戦できるゲーム作った
JSで対戦できるゲーム作った
Python で munin plugin を書いてみる
Python で munin plugin を書いてみる
Viewers also liked
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
Sho Shimizu
Tremaとtrema edgeの違い
Tremaとtrema edgeの違い
hiroshi oshiba
60分でわかるソケットプログラミング
60分でわかるソケットプログラミング
Masahiko Kimoto
パケットジェネレータipgenから見るnetmap
パケットジェネレータipgenから見るnetmap
furandon_pig
恐怖!シェルショッカーの POSIX原理主義シェルスクリプト
恐怖!シェルショッカーの POSIX原理主義シェルスクリプト
Richie Shellshoccar
Intel DPDK Step by Step instructions
Intel DPDK Step by Step instructions
Hisaki Ohara
良いコードとは
良いコードとは
Nobuyuki Matsui
Linux Profiling at Netflix
Linux Profiling at Netflix
Brendan Gregg
Linux packet-forwarding
Linux packet-forwarding
Masakazu Asama
Linux Performance Analysis and Tools
Linux Performance Analysis and Tools
Brendan Gregg
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Yuichi Ito
Viewers also liked
(11)
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
Tremaとtrema edgeの違い
Tremaとtrema edgeの違い
60分でわかるソケットプログラミング
60分でわかるソケットプログラミング
パケットジェネレータipgenから見るnetmap
パケットジェネレータipgenから見るnetmap
恐怖!シェルショッカーの POSIX原理主義シェルスクリプト
恐怖!シェルショッカーの POSIX原理主義シェルスクリプト
Intel DPDK Step by Step instructions
Intel DPDK Step by Step instructions
良いコードとは
良いコードとは
Linux Profiling at Netflix
Linux Profiling at Netflix
Linux packet-forwarding
Linux packet-forwarding
Linux Performance Analysis and Tools
Linux Performance Analysis and Tools
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Similar to カーネルモジュールプログラミング超入門 #1(仮)
コンテナ情報交換会2
コンテナ情報交換会2
Masahide Yamamoto
Programming camp Codereading
Programming camp Codereading
Hiro Yoshioka
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
Masahide Yamamoto
OpenCLに触れてみよう
OpenCLに触れてみよう
You&I
OCamlのトップレベルあれそれ
OCamlのトップレベルあれそれ
nomaddo
about DakotagUI
about DakotagUI
Etsuji Nomura
Altanative macro
Altanative macro
Motohiro KOSAKI
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
VirtualTech Japan Inc.
スタート低レイヤー #0
スタート低レイヤー #0
Kiwamu Okabe
Building production server on docker
Building production server on docker
Hiroshi Miura
Building production server on docker
Building production server on docker
Hiroshi Miura
今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門
Toru Miyahara
Tricky implementation of Go ARM soft float
Tricky implementation of Go ARM soft float
Tetsuyuki Kobayashi
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
sandai
Mincs 日本語版
Mincs 日本語版
Masami Hiramatsu
BBBBB
BBBBB
arase_utagoe
1MB
1MB
arase_utagoe
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
VirtualTech Japan Inc.
Displaylink : Reloaded
Displaylink : Reloaded
Masataka Kondo
Gingerbread
Gingerbread
android sola
Similar to カーネルモジュールプログラミング超入門 #1(仮)
(20)
コンテナ情報交換会2
コンテナ情報交換会2
Programming camp Codereading
Programming camp Codereading
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
OpenCLに触れてみよう
OpenCLに触れてみよう
OCamlのトップレベルあれそれ
OCamlのトップレベルあれそれ
about DakotagUI
about DakotagUI
Altanative macro
Altanative macro
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
スタート低レイヤー #0
スタート低レイヤー #0
Building production server on docker
Building production server on docker
Building production server on docker
Building production server on docker
今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門
Tricky implementation of Go ARM soft float
Tricky implementation of Go ARM soft float
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
Mincs 日本語版
Mincs 日本語版
BBBBB
BBBBB
1MB
1MB
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
Displaylink : Reloaded
Displaylink : Reloaded
Gingerbread
Gingerbread
More from University of Tsukuba Linux User Group
Gentoo Linuxの紹介
Gentoo Linuxの紹介
University of Tsukuba Linux User Group
C言語の課題を(エクストリームに)解こう #1
C言語の課題を(エクストリームに)解こう #1
University of Tsukuba Linux User Group
monoqloの麻雀講座
monoqloの麻雀講座
University of Tsukuba Linux User Group
Hello,World Crazy!!
Hello,World Crazy!!
University of Tsukuba Linux User Group
linuxで動画キャプチャ。 - 第4回つくらぐ勉強会
linuxで動画キャプチャ。 - 第4回つくらぐ勉強会
University of Tsukuba Linux User Group
USBからLinuxを起動してみよう! - 第4回つくらぐ勉強会
USBからLinuxを起動してみよう! - 第4回つくらぐ勉強会
University of Tsukuba Linux User Group
うぶんちゅ! - 第4回つくらぐ勉強会
うぶんちゅ! - 第4回つくらぐ勉強会
University of Tsukuba Linux User Group
Debug Hacks - 第4回つくらぐ勉強会
Debug Hacks - 第4回つくらぐ勉強会
University of Tsukuba Linux User Group
シンガポールのインターネット検閲事情 (LT) - 第4回つくらぐ勉強会
シンガポールのインターネット検閲事情 (LT) - 第4回つくらぐ勉強会
University of Tsukuba Linux User Group
楽しい怪しいシェルスクリプト - 第4回つくらぐ勉強会
楽しい怪しいシェルスクリプト - 第4回つくらぐ勉強会
University of Tsukuba Linux User Group
ばっしゅ! (LT) - 第4回つくらぐ勉強会
ばっしゅ! (LT) - 第4回つくらぐ勉強会
University of Tsukuba Linux User Group
More from University of Tsukuba Linux User Group
(11)
Gentoo Linuxの紹介
Gentoo Linuxの紹介
C言語の課題を(エクストリームに)解こう #1
C言語の課題を(エクストリームに)解こう #1
monoqloの麻雀講座
monoqloの麻雀講座
Hello,World Crazy!!
Hello,World Crazy!!
linuxで動画キャプチャ。 - 第4回つくらぐ勉強会
linuxで動画キャプチャ。 - 第4回つくらぐ勉強会
USBからLinuxを起動してみよう! - 第4回つくらぐ勉強会
USBからLinuxを起動してみよう! - 第4回つくらぐ勉強会
うぶんちゅ! - 第4回つくらぐ勉強会
うぶんちゅ! - 第4回つくらぐ勉強会
Debug Hacks - 第4回つくらぐ勉強会
Debug Hacks - 第4回つくらぐ勉強会
シンガポールのインターネット検閲事情 (LT) - 第4回つくらぐ勉強会
シンガポールのインターネット検閲事情 (LT) - 第4回つくらぐ勉強会
楽しい怪しいシェルスクリプト - 第4回つくらぐ勉強会
楽しい怪しいシェルスクリプト - 第4回つくらぐ勉強会
ばっしゅ! (LT) - 第4回つくらぐ勉強会
ばっしゅ! (LT) - 第4回つくらぐ勉強会
Recently uploaded
My Inspire High Award 2024「老いることは不幸なこと?」
My Inspire High Award 2024「老いることは不幸なこと?」
inspirehighstaff03
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
Ken Fukui
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
Ken Fukui
My Inspire High Award 2024「なぜ議会への関心が低いのか?」
My Inspire High Award 2024「なぜ議会への関心が低いのか?」
inspirehighstaff03
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
inspirehighstaff03
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
Ken Fukui
TEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdf
yukisuga3
My Inspire High Award 2024 「家族とは何か」
My Inspire High Award 2024 「家族とは何か」
inspirehighstaff03
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
inspirehighstaff03
My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」
inspirehighstaff03
My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024 「本当の『悪者』って何?」
inspirehighstaff03
My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024 「AIと仲良くなるには?」
inspirehighstaff03
My Inspire High Award 2024 「孤独は敵なのか?」
My Inspire High Award 2024 「孤独は敵なのか?」
inspirehighstaff03
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
inspirehighstaff03
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
ssusere0a682
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ssusere0a682
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
Ken Fukui
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
inspirehighstaff03
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
inspirehighstaff03
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
Ken Fukui
Recently uploaded
(20)
My Inspire High Award 2024「老いることは不幸なこと?」
My Inspire High Award 2024「老いることは不幸なこと?」
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
My Inspire High Award 2024「なぜ議会への関心が低いのか?」
My Inspire High Award 2024「なぜ議会への関心が低いのか?」
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
TEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdf
My Inspire High Award 2024 「家族とは何か」
My Inspire High Award 2024 「家族とは何か」
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024 「孤独は敵なのか?」
My Inspire High Award 2024 「孤独は敵なのか?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
My Inspire High Award 2024「なぜ、好きなことにいつかは飽きるの」
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
カーネルモジュールプログラミング超入門 #1(仮)
1.
(The Linux)
Kernel Module Programming ...for Dummies #1 Takayuki Horimoto opentaka[at]tsukuba-linux.org http://www.tsukuba-linux.org/
2.
3.
堀本 貴幸
(opentaka)
4.
5.
6.
7.
lsmod ,
insmod and modprobe
8.
“ hello world
” with printk()
9.
Creating a
Makefile
10.
Introduction to
MODULE_*()
11.
Summary
12.
13.
“ プラグイン ”のようなもの
14.
機能やドライバを追加できるようになる。
15.
カーネルを config する時に
<M> としたもの。
16.
eg. ipv6, ipfilter,
usblp (USB printer), usb-storage
17.
18.
19.
20.
# 1 Hello
World
21.
#include < linux/module.h
> #include < linux/kernel.h > int init_module(void){ printk(KERN_INFO "Hello World"); return 0; } void cleanup_module(void){ printk(KERN_INFO "..dying"); } helloworld.c
22.
printk() printk(KERN_INFO
“ お腹空いた ” ); printk(KERN_ WARNING “ もうだめ ... ” );
23.
24.
25.
26.
27.
/* モジュール作成に必要
*/ #include < linux/module.h > /* KERN_INFO に必要 */ #include < linux/kernel.h > /* load したとき */ int init_module(void){ printk(KERN_INFO "Hello World"); return 0; } /* rmmod したとき */ void cleanup_module(void){ printk(KERN_INFO "..dying"); } helloworld.c
28.
29.
$ make Makefile:
obj-m += helloworld.o make します : $ make -C <PATH_TO_THE_KERNEL> M=$(PWD) modules ------------------------------ helloworld.ko ができるので load : # insmod helloworld.ko 用がないので unload : # rmmod helloworld
30.
$ make /var/log/messages
らへんに、 Hello World #insmod した時 ...dying #rmmod した時 と表示されていることでしょう。
31.
終
32.
なわけない
33.
/* モジュール作成に必要
*/ #include < linux/module.h > /* KERN_INFO に必要 */ #include <linux/kernel.h> /* load したとき */ int init_module(void){ printk(KERN_INFO "Hello World"); return 0; } /* rmmod したとき */ void cleanup_module(void){ printk(KERN_INFO "..dying"); } MODULE_*()
34.
MODULE_*() $KERNEL_SRC/include/ linux/module.h
: % cat linux/module.h | grep '#define MODULE_' … #define MODULE_INFO (tag, info) __MODULE_INFO(tag, tag, info) #define MODULE_ALIAS (_alias) MODULE_INFO(alias, _alias) #define MODULE_LICENSE (_license) MODULE_INFO(license, _license) #define MODULE_AUTHOR (_author) MODULE_INFO(author, _author) … …
35.
MODULE_*() $KERNEL_SRC/include/ linux/module.h
: % cat linux/module.h | grep '#define MODULE_' … #define MODULE_INFO (tag, info) __MODULE_INFO(tag, tag, info) #define MODULE_ALIAS (_alias) MODULE_INFO(alias, _alias) #define MODULE_LICENSE (_license) MODULE_INFO(license, _license) #define MODULE_AUTHOR (_author) MODULE_INFO(author, _author) … Doesn't look that hard to implement MODULE_*() to helloworld.c ...
36.
/* モジュール作成に必要
*/ #include < linux/module.h > /* KERN_INFO に必要 */ #include < linux/kernel.h > MODULE_LICENSE(“GPL”); MODULE_AUTHOR(“TsukuLUG”); /* load したとき */ int init_module(void){ printk(KERN_INFO "Hello World"); return 0; } /* rmmod したとき */ void cleanup_module(void){ printk(KERN_INFO "..dying"); } helloworld.c
37.
38.
module_init() 及び
module_exit() についても触れませんでした。
39.
helloworld が syslog()
されたら幸せになれます。 Icons: http://www.iconlook.com/
40.
ご清聴ありがとうございました。 筑波大学
Linux User Group Twitter: @tsukuba_linux http://www.tsukuba-linux.org/
Download now