[Suzaku:01033] Re: デバイスドライバをKernel起動時に組み込む方法

長谷川 真一郎 email@hidden
2007年 9月 26日 (水) 11:35:24 JST


お世話になっております。
ニューラルイメージの長谷川です。

大川様 早速のご回答ありがとうございます。

> sil-led を例に具体的にどこを修正しているかと言いますと、
> ・{uClinux-dist}/linux-2.4.x/drivers/char/ に sil-led.cを配置
> ・{uClinux-dist}/linux-2.4.x/drivers/char/Makefile の
> CONFIG_SUZAKU_SIL_LEDがある行
> ・{uClinux-dist}/linux-2.4.x/drivers/char/Config.in の
> CONFIG_SUZAKU_SIL_LEDがある行
> です。
>
> あと、デバイスノードの作成は、
> ・{uClinux-dist}/vendors/AtmarkTechno/SUZAKU-S.SZ130-SIL/Makefile の
> CONFIG_SUZAKU_SIL_LED がある所
> です。

実際に上記手順を元に設定してみたのですが、
以下の現象が発生しております。
(以下、長文申し訳ありません)

[現象]
・SuzakuボードのLinuxにおいて、独自デバイスドライバ
 が認識されない。

[登録デバイスドライバ]
モジュール名:DevDrv  (仮)
    (ソース上 DEV_NAME で定義。ファイル名も同名)
メジャー番号:254 (ソース上 DEV_MAJOR で定義)

[現象の確認方法]
1.Suzakuに作成image.binをダウンロード
2.Suzaku起動
3.rootでログイン後に
   cat /proc/devices
  を実行
  ->Charactor devicesの一覧に「254 DevDrv」が存在しない。
※/devには「DevDrv」が存在している。

[設定手順]
1.{uClinux-dist}/linux-2.4.x/drivers/char/ にDevDrv.cを配置
2.{uClinux-dist}/linux-2.4.x/drivers/char/Makefile に
  以下のコードを記述

・・・
#
# uClinux drivers
#
obj-$(CONFIG_DEVDRV) += DevDrv.o        <-追記
obj-$(CONFIG_EB67XDIP_QUADSER) += oki_ml67x_quad.o
obj-$(CONFIG_MACH_EB67XDIP) += oki_ml67x.o
・・・

3.{uClinux-dist}/linux-2.4.x/drivers/char/Config.in に
  以下のコードを記述

・・・
#
# uClinux options
#

tristate 'DevDrv support' CONFIG_DEVDRV      <-追記

if [ "$CONFIG_SUZAKU" = "y" ]; then
  bool 'SUZAKU-S STARTER-KIT' CONFIG_SUZAKU_STARTERKIT
  if [ "$CONFIG_SUZAKU_STARTERKIT" = "y" ]; then
・・・

4.{uClinux-dist}/vendors/AtmarkTechno/SUZAKU-S.SZ130/Makefile
  に以下のコードを記述

・・・
 mtd7,c,90,14  mtdr7,c,90,15 mtdblock7,b,31,7

ifdef CONFIG_DEVDRV   <--追記ここから
DEVICES += \
 DevDrv,c,254,0
endif                            <--追記ここまで

ifdef CONFIG_SUZAKU_STARTERKIT_7SEG_CGI
DEVICES += \
 sil7segc,c,65,0
endif
・・・

5.make menuconfigでconfigurationを実施し、
  Kernel/Library/Derfaults Selection ->
    Customize Kernel Settions ->
      Charactor Devices を選択。
  "DevDrv support"に[*]マークをつけ、save&exit

6.make clean -> make実行
※この時点で.{uClinux-dist}/linux-2.4.x/drivers/char/DevDrv.o
  が作成されていることは確認できています。

上記の設定手順に問題があるのでしょうか?
それとも、上記設定のためにソース上に何らかの
追加コードが必要なのでしょうか?
ヒントなどでも良いので、ご教示頂ければ助かります。

以上、よろしくお願いします。





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