[Armadillo:03808] Re: Armadillo-500 USB無線LAN接続

Takenoshita Koyo email@hidden
2008年 12月 12日 (金) 19:25:51 JST


> 以前、教えていただいたとおり行いましたが
> make を行うと
実際におこなった手順を一つ一つ書いていただけると、何が問題なのか
わかりやすいのですが[*1]。

> rm -rf *.o *~ .*.cmd *.ko *.mod.c .tmp_versions built-in.o
> 
> とだけ表示されてビルドされた気配がありません。
Makefileのcleanターゲットが実行されているような感じですね。

前回のメールで書いた以下の表記は、元のファイルとのdiffを取ったものです。

--- RT73_Linux_STA_Drv1.0.4.0_org/Module/Makefile.6	2007-04-26 11:19:42.000000000 +0900
+++ RT73_Linux_STA_Drv1.0.4.0/Module/Makefile.6	2008-12-08 14:38:26.000000000 +0900
@@ -3,6 +3,7 @@
 #	Abstract: Makefile for rt73 linux driver on kernel series 2.6 
 ######################################################################
 
+LINUX_SRC=/home/atmark/linux-2.6.18-at
 
 WFLAGS := -Wall -Wstrict-prototypes -Wno-trigraphs
 
@@ -35,7 +36,7 @@
 endif
 
 all: 
-	make -C /lib/modules/$(shell uname -r)/build SUBDIRS=$(shell pwd) modules
+	make -C $(LINUX_SRC) M=${shell pwd} modules
 
 clean:
 	rm -rf *.o *~ .*.cmd *.ko *.mod.c .tmp_versions built-in.o

意味としては、次の意味になります。

RT73_Linux_STA_Drv1.0.4.0_org/Module/Makefile.6というファイルに、
「LINUX_SRC=/home/atmark/linux-2.6.18-at」という行を追加してください。
「	make -C /lib/modules/$(shell uname -r)/build SUBDIRS=$(shell pwd) modules」
という行を削除して、
「	make -C $(LINUX_SRC) M=${shell pwd} modules」
という行を追加してください。
(タブも重要です。)

修正後のMakefile.6は以下のようになります。
このようになっていますか?

######################################################################
#	Module Name: Makefile
#	Abstract: Makefile for rt73 linux driver on kernel series 2.6 
######################################################################

LINUX_SRC=/home/atmark/linux-2.6.18-at

WFLAGS := -Wall -Wstrict-prototypes -Wno-trigraphs

## Comment/uncomment the following line to enable/disable debugging
#CFLAGS += -DDBG

CFLAGS += $(WFLAGS)

obj-m := rt73.o

rt73-objs :=  rtmp_main.o mlme.o connect.o rtusb_bulk.o rtusb_io.o sync.o assoc.o auth.o auth_rsp.o rtusb_data.o rtmp_init.o  sanity.o rtmp_wep.o rtmp_info.o rtmp_tkip.o wpa.o md5.o

## Configuration files on SuSE
#NDDIR=/etc/sysconfig/network
#MOD_CONF=/etc/modprobe.d/module-renames

## NDDIR/ifcfg-rausb0
ND_CONF=/etc/sysconfig/network-scripts/ifcfg-rausb0

ifdef NDDIR
	NDDIR := $(NDDIR)
else
 	NDDIR := /etc/sysconfig/network-scripts
endif

ifdef MOD_CONF
	MOD_CONF := $(MOD_CONF)	
else
	MOD_CONF := /etc/modprobe.conf 
endif

all: 
	make -C $(LINUX_SRC) SUBDIRS=$(shell pwd) modules

clean:
	rm -rf *.o *~ .*.cmd *.ko *.mod.c .tmp_versions built-in.o
	
install:
	make -C /lib/modules/$(shell uname -r)/build \
	INSTALL_MOD_DIR=extra SUBDIRS=$(shell pwd) \
	modules_install 
	
	@echo "Network device directory $(NDDIR)"; 
	@echo "Module configuration file $(MOD_CONF)";	
	
	@if [ -d "$(NDDIR)" ] ; then \
		if [ ! -f "$(ND_CONF)" ]; then \
			echo "Create 'ifcfg-rausb0' in $(NDDIR)/"; \
			cp ifcfg-rausb0 $(NDDIR)/ ; \
		fi; \
 	fi
	
	@if ! grep -q 'rausb0' $(MOD_CONF) ; then \
		echo "append 'alias rausb0 rt73' to $(MOD_CONF)"; \
		echo "alias rausb0 rt73" >> $(MOD_CONF) ; \
 	fi
	/sbin/depmod -a

> > >atmark-dist linux-2.6.12.8-at
> > >(事前にユーザランドとカーネルをビルドする)
> そもそも私のビルドのしかたが間違っているのかもしれません。
Armadillo-500開発ボード - ソフトウェアマニュアル
「5.ビルド」
http://armadillo.atmark-techno.com/files/downloads/armadillo-500/document/armadillo-500-dev_software_manual_ja-1.0.4.pdf

atmark-dist開発者ガイド
http://armadillo.atmark-techno.com/files/downloads/dist/atmark-dist_developers_guide_ja-1.0.4.pdf

は、お役に立ちませんでしょうか?

[*1] http://www.hyuki.com/writing/techask.html#procedure
当MLでは、結城浩さんの「技術系メーリングリストで質問するときのパターン・ランゲージ」
をオススメしています。是非ご一読ください :-)

-- 
Koyo Takenoshita



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