[Suzaku:01850] サンプルドライバをmakeすることが出来ません

外崎大輔 email@hidden
2010年 7月 16日 (金) 17:24:30 JST


はじめまして、外崎と申します。
SUZAKU-V SZ410、atmark-dist環境を使用しております。

Linuxについては素人でして、スターターキットガイドLinux開発編に沿っての
学習を行っておりましたが、39ページの7.2 デバイスドライバの作成で躓いてしまいました。

最初に、サンプルプログラム(smsg.c、Makefile)を用いてmakeコマンドを実行したところ、
「Makefile:11: *** 分離記号を欠いています.  中止.」
とエラーが出てしまいました。


そこで過去のメーリングリスト(2007年12月 森戸様のスレッド)を参考に
Makefileを以下のように修正しmakeを行ってみました。

======Makefile======
MODULES = smsg.o

ifneq ($(KERNELRELEASE),)

obj-m := $(MODULES)

else

ROOTDIR = /home/atmark/atmark-dist-20080314
include $(ROOTDIR)/.config
include $(ROOTDIR)/config.arch

MAKEARCH = $(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE)
LINUXDIR = $(CONFIG_LINUXDIR)
KERNELRELEASE = ${shell make -sC $(ROOTDIR)/$(LINUXDIR) kernelrelease}

all: modules

modules:
    $(MAKEARCH) -C $(ROOTDIR)/$(LINUXDIR) M=${shell pwd} modules

clean:
    rm -f *.[oas] *.ko *.mod.c .*.d .*.tmp .*.cmd *.symvers
    rm -rf .tmp_versions

endif
=======Makefile終わり=======

しかし今度は、以下のようなエラーメッセージが出てしまいました。

=======エラーメッセージのログ=======
make ARCH=ppc CROSS_COMPILE=powerpc-linux- -C
/home/atmark/atmark-dist-20080314/linux-2.6.x M=/home/atmark/cgi/cgi_driver
modules
make[1]: ディレクトリ `/home/atmark/linux-2.6.18-at9' に入ります
  CC [M]  /home/atmark/cgi/cgi_driver/smsg.o
In file included from arch/ppc/platforms/4xx/suzaku-v.h:23,
                 from include/asm/ibm4xx.h:58,
                 from include/asm-powerpc/irq.h:336,
                 from include/asm/irq.h:1,
                 from include/asm-powerpc/hardirq.h:5,
                 from include/asm/hardirq.h:1,
                 from include/linux/hardirq.h:7,
                 from include/asm-generic/local.h:5,
                 from include/asm-powerpc/local.h:1,
                 from include/asm/local.h:1,
                 from include/linux/module.h:20,
                 from /home/atmark/cgi/cgi_driver/smsg.c:5:
arch/ppc/platforms/4xx/xparameters/xparameters.h:109:4: error: #error No
xparameters_*.h file included
/home/atmark/cgi/cgi_driver/smsg.c: In function ‘init_module’:
/home/atmark/cgi/cgi_driver/smsg.c:65: error: expected identifier or ‘(’
before ‘=’ token
/home/atmark/cgi/cgi_driver/smsg.c:72: error: ‘dev’ undeclared (first use in
this function)
/home/atmark/cgi/cgi_driver/smsg.c:72: error: (Each undeclared identifier is
reported only once
/home/atmark/cgi/cgi_driver/smsg.c:72: error: for each function it appears
in.)
make[2]: *** [/home/atmark/cgi/cgi_driver/smsg.o] エラー 1
make[1]: *** [_module_/home/atmark/cgi/cgi_driver] エラー 2
make[1]: ディレクトリ `/home/atmark/linux-2.6.18-at9' から出ます
make: *** [modules] エラー 2
=======エラーメッセージのログ終わり=======


よろしければ、どのように対処したらよいのか教えて頂けませんか。



また、7.2 デバイスドライバの作成を飛ばして
45ページの 8.SUZAKUのデバイスドライバを使ってみる も行ってみました。
しかし48ページの 8.1.2 事前準備において、用意されているドライバをビルドしようとしたところ

=======エラーメッセージのログ=======
make ARCH=ppc CROSS_COMPILE=powerpc-linux- -C linux-2.6.x  || exit 1
make[1]: ディレクトリ `/home/atmark/linux-2.6.18-at9' に入ります
scripts/kconfig/conf -s arch/ppc/Kconfig
arch/ppc/Kconfig:1207:warning: leading whitespace ignored
arch/ppc/Kconfig:1226:warning: leading whitespace ignored
arch/ppc/Kconfig:1231:warning: leading whitespace ignored
drivers/usb/host/Kconfig:10:warning: 'select' used by config symbol
'USB_EHCI_HC D' refer to undefined symbol 'ISP1504_MXC'
drivers/usb/host/Kconfig:12:warning: 'select' used by config symbol
'USB_EHCI_HC D' refer to undefined symbol 'ISP1301_MXC'
drivers/usb/gadget/Kconfig:199:warning: 'select' used by config symbol
'USB_ARC'  refer to undefined symbol 'ISP1504_MXC'
drivers/usb/gadget/Kconfig:200:warning: 'select' used by config symbol
'USB_ARC'  refer to undefined symbol 'ISP1301_MXC'
make[1]: ディレクトリ `/home/atmark/linux-2.6.18-at9' から出ます
make[1]: ディレクトリ `/home/atmark/linux-2.6.18-at9' に入ります
  CHK     include/linux/version.h
  CHK     include/linux/utsrelease.h
  CC      arch/ppc/kernel/asm-offsets.s
In file included from arch/ppc/platforms/4xx/suzaku-v.h:23,
                 from include/asm/ibm4xx.h:58,
                 from include/asm/io.h:28,
                 from include/asm/pgtable.h:14,
                 from include/linux/mm.h:38,
                 from include/linux/mman.h:14,
                 from arch/ppc/kernel/asm-offsets.c:19:
arch/ppc/platforms/4xx/xparameters/xparameters.h:109:4: error: #error No
xparame ters_*.h file included
make[2]: *** [arch/ppc/kernel/asm-offsets.s] エラー 1
make[1]: *** [prepare0] エラー 2
make[1]: ディレクトリ `/home/atmark/linux-2.6.18-at9' から出ます
make: *** [linux] エラー 1
=======エラーメッセージのログ終わり========

と出てきました。

よろしければ、これら両者に共通している
arch/ppc/platforms/4xx/xparameters/xparameters.h:109:4: error: #error No
xparameters_*.h file included
というエラーログの意味も重ねて教えて頂けないでしょうか?
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://lists.atmark-techno.com/pipermail/suzaku/attachments/20100716/eb3ab642/attachment.html>


suzaku メーリングリストの案内