まとめ
まず、今回の記事は非常にアバウトである。本来Git など分厚い本が書ける多機能なバージョン管理ソフトであるので、そこら辺は自分で調べてほしい。パッチを吐いたり、作業用ブランチを作っていくつも分岐させたり、統合させることも非常に簡単にできるようになっている。
他にも、ちゃんとKernel をハックするならまだまだまだまだ書かなければいけないことが山のようにあるのだが、私の気力も知識もついていかないので、この記事は導入編と捉え、足りない部分は自分で調べてほしい。いくつか注意事項があるとすれば、モジュール開発ならともかく、Kernel 内部をいじるとなるとやはり仮想環境も必要なので、それなりのスペックのパソコンがないと、まともに開発ができない。決して、私のようにネットブック並みのスペックのパソコンで開発を行おうなどという無謀なことはしないでほしい。心が折れるので。
最後に
今回はあまりx68 の会誌内容としてはあまり出てこない分野について記事を書きました。(ソフトウェアの中でも特に重いOS という分野の、しかも内部改造入門。) Linux と言えば、初め名前を聞いた時はLinux というOS があるものだと思っていましたが、実際Linux と呼ばれるOSはたくさんあって、あれ?これってどういうこと?と混乱しました。Linux はWindowsとは全く異なる歴史、構造を持ったOS であるがゆえに、どこかに日本語の入門的な文章がないとなかなか手を出せないのが現実です。
Linux Kernel も同じで、ただただ膨大で、何をすればよいのか分からない。ちょっといじってみたいと言う人がいても、なかなかまとまった文章が無ければ挫折しがちであるので、私の記憶が新しいうちに、私の備忘録的な意味も込めて、今回の記事を書きました。
そういう意味で、Linux Kernel を学ぶ機会であるセキュリティ&プログラミングキャンプを開催してくださったIPA、スパルタ方式でビシバシ鍛えてくださった、講師である日本のカーネルハッカーの方々、一緒にメーリングリストで事前課題を出し合い、当日も協力し合った仲間のみなさんに感謝しています。
最後に、ハッカーは誰が手助けをせずとも勝手にハッカーになる。だが、そのハッカーの卵が孵化するのを助けることは可能かもしれない。できるならばその手助けをしたい。そういう宣言をキャンプ中に聞きました。この記事もそこまでとは行かずとも、Linux やKernelへの興味を持つ人が増えれば嬉しい限りです。
参考
セキュリティ&プログラミングキャンプ関係
Linux 関係