先日入手した Linux カーネルモジュール自作入門を読んでみることに。
メモ等、以下に。
つうか
ええと、docker で云々すればいいのかな。
$ docker pull ubuntu
で良いのかな。回線帯域がアレなので時間かかってるな (準備してから来いorz
面倒なので
そのままやっちゃえ。って、テキストの通りに Hello World 作ったらふつうに make できてふつうにモジュールが動いてびっくり。
確認してみたらパケジ入れてました。
$ dpkg --get-selections|grep headers
linux-headers-3.16.0-0.bpo.4-amd64 install
linux-headers-3.16.0-0.bpo.4-common install
linux-headers-3.16.0-4-amd64 install
linux-headers-3.16.0-4-common install
linux-headers-3.2.0-4-amd64 install
linux-headers-3.2.0-4-common install
linux-headers-amd64 install
$ uname -r
3.16.0-4-amd64
jprobe
面白い。これ、load_module でひっかけて struct load_info の中身をもごもごしてみるのは色々勉強になるかも。サンプルも別途動作確認できればしてみたい。
カーネルのドキュメント
紹介されてる分、目を通してみたい。
- Documentation/kprobes.txt
- Documentation/filesystems/sysfs.txt
もひとつ
特権リダイレクト (?) のちょっとした工夫の例、へー、ってカンジでした。
そういえば
docker の ubuntu って 16.04 提供してないのかな。pull しただけでは駄目なのかどうか。
$ docker pull ubuntu:16.04
で良かったみたい。なんのこっちゃ。