とあるエンジニアの備忘log
2012年3月30日金曜日
scull ドライバ
O'REILLY の LINUXデバイスドライバ 第3版を勉強中。 サンプルコードは以下からダウンロードできました。
scull を make してみるものの、Kernelのversionによってちょこちょこ直さないといけない。 修正箇所を以下にメモ。(手元の Kernel のバージョンは 2.6.32-40) Makefile の CFLAGS += $(DEBFLAGS) CFLAGS += -I$(LDDINC) を EXTRA_CFLAGS += $(DEBFLAGS) EXTRA_CFLAGS += -I$(LDDINC) に修正。 `main.c` の #include
を #include
に変更。 `pipe.c` と `access.c` に #include
を追加。 `access.c` 中の `current->uid` と `current->euid` をそれぞれ `current->cred->uid` と `current->cred->euid` に変更。 これで makeが通った。 $ sudo ./scull_load とするとエラーが出るので、 major=$(awk "\\$2==\"$module\" {print \\$1}" /proc/devices) を major=$(awk "\$2==\"$module\" {print \$1}" /proc/devices) に修正するとうまくいきました。
1 件のコメント:
Unknown
2014年4月5日 19:07
初めまして、
scull のビルドが通らず、ググってここに来ました。
おかげでビルドできました。どうもありがとうございます!
返信
削除
返信
返信
コメントを追加
もっと読み込む...
次の投稿
前の投稿
ホーム
登録:
コメントの投稿 (Atom)
初めまして、
返信削除scull のビルドが通らず、ググってここに来ました。
おかげでビルドできました。どうもありがとうございます!