RTAI-Lab tutorial: Scilab, Comedi, and real-time controlの「2.5 Comedilib」および、「2.8 Comedi」の内容です。
2.5 Comedilib
ソースの入手
チュートリアルに記載されているCVSのリポジトリは無くなっているみたい。
公式ページにあったGitを使う方法でソースを入手。
$ git clone https://github.com/Linux-Comedi/comedi.git
$ git clone https://github.com/Linux-Comedi/comedilib.git
ビルド
チュートリアルに従って、以下で特にトラブルなくビルド&インストール完了。
# cd comedilib/
# sh autogen.sh
# ./configure --sysconfdir=/etc
# make
# make install
# make dev
2.8 Comedi
ビルド
# cd ../comedi
# sh autogen.sh
# ./configure --with-linuxdir=/usr/src/linux --with-rtaidir=/usr/realtime
# make
# make install
# depmod -a
# make dev
depmod -a
は、make install
時に実施を促されたのでチュートリアルには記載されていなかったが実施。make dev
するとmknod:
/dev/comedi0': ファイルが存在します`などのメッセージがでますが、Comedilibインストール時に作成済みだったから出るメッセージで問題ないと判断。
# cp include/linux/comedi.h include/linux/comedilib.h /usr/include/
# cp include/linux/comedi.h include/linux/comedilib.h /usr/local/include/
# ln -s /usr/include/comedi.h /usr/include/linux/comedi.h
# ln -s /usr/include/comedilib.h /usr/include/linux/comedilib.h
/usr/local/includeには既にファイルがあったけど、上書きした。
# modprobe rsrc_nonstatic
# modprobe i82092
# modprobe yenta_socket
# insmod /usr/realtime/modules/rtai_hal.ko
# insmod /usr/realtime/modules/rtai_sched.ko
# insmod /usr/realtime/modules/rtai_fifos.ko
# insmod /usr/realtime/modules/rtai_sem.ko
# insmod /usr/realtime/modules/rtai_mbx.ko
# insmod /usr/realtime/modules/rtai_msg.ko
# insmod /usr/realtime/modules/rtai_netrpc.ko ThisNode="127.0.0.1"
# insmod /usr/realtime/modules/rtai_shm.ko
# insmod /usr/realtime/modules/rtai_tasklets.ko
# modprobe comedi
# modprobe kcomedilib
# modprobe comedi_fc
# modprobe 8255
# modprobe ni_mio_cs
チュートリアルでは、rtai_up.ko
かrtai_lxrt.ko
を入れる事になっていますが、どちらもない。代わりにrtai_sched.ko
を入れる。これを入れないと、rtai_fifos.ko
のinsmodに失敗していたので、入れたモジュールは多分あっているでしょう。
rsrc_nonstatic
、i82092
、rtai_signal.ko
、ni_mio_cs
は見つからなかったけど、とりあえずこのままで。
信号の入出力に使用するドライバを把握していなかったので、comedi config
は実施せず。