[Armadillo:00191] PCMCIA-CS対応版ユーザーランドのビルドについて

email@hidden
2005年 3月 24日 (木) 15:39:23 JST


ホウ@日本電素です。
Armadilloの初心者です。

Armadillo9ターゲットにPCMCIA-CS対応ユーザーランドと
PCMCIA-CS対応ユーザーランドと同時に使用可能なLinuxカーネルを
ソースからビルドしたいと思っています。

sourceは  uClinux-dist-at20041228、  linux-2.4.27-a9-2です。

make menuconfigで以下のように設定します:

 1. uClinux-dist ディレクトリで make menuconfig を実行します
 2. 「Kernel/Library/Defaults Selection --->」を選択します
 3. 「[] Customize Kernel Settings」を選択します
 4. 「[] Customize Vendor/User Settings」を選択します
 5. <Exit>を選択します
 6. <Exit>を選択します
 7. Do you wish to save your new kernel configuration? で <Yes>を選択します
 8. 「ATA/ATAPI/MFM/RLL support --->」を選択します
 9. 「IDE, ATA and ATAPI Block devices  --->」を選択します
 10. 「[] EP93xx PCMCIA IDE Support (Must not use with PCMCIA-CS)  --->」選択を外します
 11. <Exit>を選択します
 12. <Exit>を選択します
 13. <Exit>を選択します

 14. Do you wish to save your new kernel configuration? で <Yes>を選択します
 15. 「Miscellaneous Applications  --->」を選択します
 16. 「[] pcmcia-cs (Card Services)」を選択します
 17. <Exit>を選択します
 18. <Exit>を選択します

 19. Do you wish to save your new kernel configuration? で <Yes>を選択します
 20. make dep all を実行します
と以下のようなエラーメッセージが出ます:

make[2]: 入ります ディレクトリ 
`/home/hou/armadillo9/uClinux-dist-at20041228/user/pcmcia-cs'
make -f Makefile.uClinux all
make[3]: 入ります ディレクトリ 
`/home/hou/armadillo9/uClinux-dist-at20041228/user/pcmcia-cs'
make[4]: 入ります ディレクトリ 
`/home/hou/armadillo9/uClinux-dist-at20041228/user/pcmcia-cs/modules'
arm-linux-gcc  -MD -I../include -I/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include 
 -O1 -I/usr/arm-linux/include -Dlinux -D__linux__ -Dunix -DEMBED -Wall -fno-common 
  -I/home/hou/armadillo9/uClinux-dist-at20041228 -O2 -I../include -I/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include 
  -D__KERNEL__ -DMODULE -c cs.c
In file included from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/asm/semaphore.h:10,
                 from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/fs.h:200,
                 from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/capability.h:17,
                 from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/binfmts.h:5,
                 from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/sched.h:9,
                 from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/asm/uaccess.h:7,
                 from ../include/asm/uaccess.h:49,
                 from ../include/pcmcia/k_compat.h:191,
                 from cs.c:35:
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/rwsem.h:29:65: 
asm/rwsem.h: そのようなファイルやディレクトリはありません
In file included from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/asm/semaphore.h:10,
                 from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/fs.h:200,
                 from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/capability.h:17,
                 from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/binfmts.h:5,
                 from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/sched.h:9,
                 from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/asm/uaccess.h:7,
                 from ../include/asm/uaccess.h:49,
                 from ../include/pcmcia/k_compat.h:191,
                 from cs.c:35:
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/rwsem.h: 
In function `down_read':
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/rwsem.h:46: 
warning: implicit declaration of function `__down_read'
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/rwsem.h: 
In function `down_read_trylock':
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/rwsem.h:57: 
warning: implicit declaration of function `__down_read_trylock'
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/rwsem.h: 
In function `down_write':
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/rwsem.h:68: 
warning: implicit declaration of function `__down_write'
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/rwsem.h: 
In function `down_write_trylock':
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/rwsem.h:79: 
warning: implicit declaration of function `__down_write_trylock'
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/rwsem.h: 
In function `up_read':
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/rwsem.h:90: 
warning: implicit declaration of function `__up_read'
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/rwsem.h: 
In function `up_write':
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/rwsem.h:100: 
warning: implicit declaration of function `__up_write'
In file included from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/fs.h:301,
                 from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/capability.h:17,
                 from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/binfmts.h:5,
                 from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/sched.h:9,
                 from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/asm/uaccess.h:7,
                 from ../include/asm/uaccess.h:49,
                 from ../include/pcmcia/k_compat.h:191,
                 from cs.c:35:
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/ext3_fs_i.h: 
At top level:
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/ext3_fs_i.h:75: 
error: field `truncate_sem' has incomplete type
In file included from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/capability.h:17,
                 from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/binfmts.h:5,
                 from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/sched.h:9,
                 from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/asm/uaccess.h:7,
                 from ../include/asm/uaccess.h:49,
                 from ../include/pcmcia/k_compat.h:191,
                 from cs.c:35:
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/fs.h:468: 
error: field `i_alloc_sem' has incomplete type
In file included from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/capability.h:17,
                 from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/binfmts.h:5,
                 from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/sched.h:9,
                 from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/asm/uaccess.h:7,
                 from ../include/asm/uaccess.h:49,
                 from ../include/pcmcia/k_compat.h:191,
                 from cs.c:35:
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/fs.h:758: 
error: field `s_umount' has incomplete type
In file included from 
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/asm/uaccess.h:7,
                 from ../include/asm/uaccess.h:49,
                 from ../include/pcmcia/k_compat.h:191,
                 from cs.c:35:
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/sched.h:220: 
error: field `mmap_sem' has incomplete type
In file included from cs.c:45:
/home/hou/armadillo9/uClinux-dist-at20041228/linux-2.4.x/include/linux/malloc.h:4:2: 
warning: #warning linux/malloc.h is deprecated, use linux/slab.h instead.
make[4]: *** [cs.o] エラー 1
make[4]: 出ます ディレクトリ 
`/home/hou/armadillo9/uClinux-dist-at20041228/user/pcmcia-cs/modules'
make[3]: *** [all] エラー 2
make[3]: 出ます ディレクトリ 
`/home/hou/armadillo9/uClinux-dist-at20041228/user/pcmcia-cs'
make[2]: *** [all] エラー 2
make[2]: 出ます ディレクトリ 
`/home/hou/armadillo9/uClinux-dist-at20041228/user/pcmcia-cs'
make[1]: *** [all] エラー 2
make[1]: 出ます ディレクトリ 
`/home/hou/armadillo9/uClinux-dist-at20041228/user'
make: *** [subdirs] エラー 1

よくよく調べると、コンパイラーがCONFIG_RWSEM_GENERIC_SPINLOCKを#undefと認識している
せいだと思われますが、uClinux-dist-at20041228/vendors/AtmarkTechno/Armadillo-9/config.linux-2.4.x
にはCONFIG_RWSEM_GENERIC_SPINLOCK=yとアクティブになっている。
 16. 「[] pcmcia-cs (Card Services)」の選択を外すとイメージは問題なく出来上がります。

仕方なく、pcmcia-cs-3.2.7-a9-20050219.tar.gzを解凍してそのままuClinux-dist-at20041228/user/pcmcia-cs/
に入れ替えてmake dep allすると、以下のエラーメッセージが出る:
make[2]: 入ります ディレクトリ 
`/home/hou/armadillo9/uClinux-dist-at20041228/user/pcmcia-cs'
make[2]: *** ターゲット `romfs' を make するルールがありません.  中
make[2]: 出ます ディレクトリ 
`/home/hou/armadillo9/uClinux-dist-at20041228/user/pcmcia-cs'
make[1]: *** [romfs] エラー 2
make[1]: 出ます ディレクトリ 
`/home/hou/armadillo9/uClinux-dist-at20041228/user'
make: *** [romfs] エラー 1

ソースからPCMCIA-CS対応ユーザーランドと
PCMCIA-CS対応ユーザーランドと同時に使用可能なLinuxカーネルを
ビルドする方法をご教授くださればと思います。宜しくお願い致します。

ホウ@日本電素





-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://lists.atmark-techno.com/pipermail/armadillo/attachments/20050324/82ee2923/attachment.html>


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