カーネルの本と一緒に買って読みはじめた。
続くか分からないが、メモを残しておく。
日記の編集は無粋だが、記事が複数になると後で見返しづらいので、この記事は校正を続けると思う。

環境

  • ubuntu 9.10
  • 2.6.31-15-generic

サンプルソースコード

下記にあったが、古くてコンパイルが通らなかった。
http://examples.oreilly.com/9780596005900/

以下わかったことを記録していく。

kernel ソースコードの変更点
  • は無くなった。
  • struct task_structにuid,euidのメンバがない
    • credメンバの下にある
  • .../scull/Makefile". Fix it to use EXTRA_CFLAGS
    • KBUILD_NOPEDANTIC = 1
コード誤植?
  • scull.init:line 91〜94: $DEVICE.o → $DEVICE.ko
    • この値を insmod しているので、やはり .o ではなく、.ko だと思う
    • .koって本質はなんだろう

これでカーネル、モジュールの勉強になるのだろうか