前回カーネルモジュールを作った際に、MODULE_XXXX
というマクロでモジュール内に情報を埋め込んだが、これがどういう風に埋め込まれているのか調べてみた。環境は今回も CentOS7 (3.10.0-123.4.4.el7.x86_64)。
![](https://harasou.jp/2015/11/04/kernel-module-modinfo/elf.png)
前回カーネルモジュールを作った際に、MODULE_XXXX
というマクロでモジュール内に情報を埋め込んだが、これがどういう風に埋め込まれているのか調べてみた。環境は今回も CentOS7 (3.10.0-123.4.4.el7.x86_64)。
Linux のカーネルモジュールで Hello World してみる。insmod、rmmod した時に dmesg にログを吐くだけの単純なもの。試した環境は、CentOS7 (3.10.0-123.4.4.el7.x86_64)。
仕事で kernel のソースが見る機会が度々ありそうなので、MAC上でソースをいつでも追えるように準備しておく。 準備といっても大したものではなく、
ぐらい。tag については、GNU GLOBAL などもあるが、とりあえず ctags で。
Alfred から実行するターミナルコマンドは、iTerm2 を使用していたが、Alfred のバージョンアップをすると iTerm2 が起動しなくなっていた。
Docker 1.8 のリリースに伴い、Mac OSX 標準の Docker デプロイツールが boot2docker から Docker Toolbox に変更になった模様。とりあえず、インストールしてみた。
base32 について調べた際のメモ書き。
base32 は、base64 などと同様、バイナリ文字列とテキスト文字列の変換(エンコード or デコード)を行うアルゴリズム。
A-Z
(26文字) と 2-7
(6文字)、=
の 33文字で構成される。=
パティングする。0-9
、A-V
、=
の33文字を使用する。最近、h2o で mruby がサポートされたので、まずはコンパイルしてみた。
h2o は、@kazuho さんが作成されている HTTP/2 & HTTP/1.x 対応の高速な WEBサーバです。
先日の関西Ruby会議の帰りの飛行機の中、着陸5分前ぐらいの出来事。
harasou: 「松本さん、mrbgems の作り方教えてくださいよ」 matusmotory:「じゃあ、まづ mrblib ってディレクトリ作って…」
おもむろに二人並んで PC を取り出し、mrbgems を作り始めた(着陸直前だったので、PC出して良かったのかよくわからないが…) というわけで、その時のことを簡単にご紹介。
2015/07/11(土)に行われた「関西Ruby会議06」に登壇させてもらい、mruby の利用事例について紹介してきた。 インフラしか知らないエンジニアが、matz さんを前に mruby の説明なんて、かなり場違いで恐縮な状況でした。