[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:12564] moduleのコンパイル、insmod



池上@パイオニアです。

Linuxのデバイスドライバの作り方を勉強しようと思い、
オライリーのその名もずばり「Linuxデバイスドライバ」
を読んでおります。サンプルをダウンロードして、試しております。
http://examples.oreilly.com/linuxdrive2/ldd2-samples-1.0.1.tar.gz

その中で、moduleがうまくコンパイル、ロード(insmod)できなくて
質問したいのですが、

-----8<----- cut here ----->8-----
[root@localhost short]# ls -l
合計 36
-rw-rw-r--    1 410      wheel         556  7月 27 20:43 Makefile
-rw-rw-r--    1 410      wheel       20793  7月 27 20:43 short.c
-rwxrwxr-x    1 410      wheel        1659  7月 27 20:43 short_load
-rwxrwxr-x    1 410      wheel         237  7月 27 20:43 short_unload
[root@localhost short]# make
gcc -Wall -D__KERNEL__ -DMODULE -I/usr/src/linux/include -DMODVERSIONS -include
/usr/src/linux/include/linux/modversions.h -O2 -I..   -c -o short.o short.c
[root@localhost short]# ls -la
合計 56
drwxrwxr-x    2 410      wheel        4096 12月 27 23:28 .
drwxrwxr-x   19 410      wheel        4096  7月 27 20:43 ..
-rw-rw-r--    1 410      wheel         556  7月 27 20:43 Makefile
-rw-rw-r--    1 410      wheel       20793  7月 27 20:43 short.c
-rw-r--r--    1 root     root        10780 12月 27 23:28 short.o
-rwxrwxr-x    1 410      wheel        1659  7月 27 20:43 short_load
-rwxrwxr-x    1 410      wheel         237  7月 27 20:43 short_unload
[root@localhost short]# ./short_load
./short.o: unresolved symbol irq_stat_R23f3d834
./short.o: unresolved symbol register_chrdev_Rbe23fd08
-----8<----- cut here ----->8-----

ここで、short.cはカーネルのエクスポート関数のirq_stat,register_chrdev
を使っていることは確認しました。
でも、insmodではirq_stat_R23f3d834,register_chrdev_Rbe23fd08が解決
されないといっています。このシンボルの変換はいつ誰が行っているのでしょうか。
そして、このshort.oをコンパイル、ロードするにはどうすればよいのでしょうか。

ちなみに、カーネルソースに付属のネットワークモジュールne2k-pciでも
同じようなシンボルの変換がされていて、解決できません。

-----8<----- cut here ----->8-----
[root@localhost short]# insmod ne2k-pci
Using /lib/modules/2.4.2-2/kernel/drivers/net/ne2k-pci.o
/lib/modules/2.4.2-2/kernel/drivers/net/ne2k-pci.o: unresolved symbol
ei_open_R5b4fe24a
/lib/modules/2.4.2-2/kernel/drivers/net/ne2k-pci.o: unresolved symbol
ethdev_init_Raf2f0921
/lib/modules/2.4.2-2/kernel/drivers/net/ne2k-pci.o: unresolved symbol
ei_interrupt_Rb93d8fa5
/lib/modules/2.4.2-2/kernel/drivers/net/ne2k-pci.o: unresolved symbol
NS8390_init_Reac042cf
/lib/modules/2.4.2-2/kernel/drivers/net/ne2k-pci.o: unresolved symbol
ei_close_R920af494
-----8<----- cut here ----->8-----

よろしくお願いいたします。

Follow-Ups
[plamo:12565] Re: moduleのコンパイル、insmod, KOJIMA Mitsuhiro

[検索ページ] [メール一覧]
Plamo ML 公開システム