= !BeagleBone Black(Debian8.7)にEPICSをインストール = 以前、BeagleBone Black(以降、BBB)でcapeを作った時には、defaultOSがAngtromLinuxだったが、BBBがRev.CになってからはDebianがdefaultOSになっている。[[br]] しばらく、BBBを使う用事がなかったので放置していたが、簡易版の電圧測定をするためのEPICS IOCデバイスを作ることになったので、この際にBBB用のEPICS環境作成をしてみた。[[br]] == OS == 今回環境を作成するBBBのOSは、Debianの最新版 8.7(Jessie for !BeagleBone via microSD card)をmicroSDカード上に展開して使用した。[[br]] コンパイルはBBB上のセルフビルドで行った。[[br]] 環境は/opt/epicsに展開し、standaloneで実行できるようにする。 {{{ root@beaglebone:~# mkdir -p /opt/epics }}} == EPICS base R3.15.5 == 使用するEPICS baseは安定版の最新である[http://www.aps.anl.gov/epics/base/R3-15/5.php 3.15.5]。[[br]] 前回作成した時はR3.14.12.3で、その時からmake一発でコンパイルできたので今回も同じ。[[br]] {{{ root@beaglebone:~# cd /opt/epics root@beaglebone:/opt/epics# mkdir -p R315.5/src root@beaglebone:/opt/epics# cd R315.5/src root@beaglebone:/opt/epics/R315.5/src# wget https://www.aps.anl.gov/epics/download/base/base-3.15.5.tar.gz root@beaglebone:/opt/epics/R315.5/src# cd .. root@beaglebone:/opt/epics/R315.5# tar zxvf base-3.15.5.tar.gz root@beaglebone:/opt/epics/R315.5# mv base-3.15.5 base root@beaglebone:/opt/epics/R315.5# cd base root@beaglebone:/opt/epics/R315.5/base# make }}} == modules/soft == 次によく使うmodulesをインストール。 {{{ root@beaglebone:/opt/epics/R315.5# mkdir -p modules/soft }}} === sequencer === インストール前にパッケージをインストール。 {{{ root@beaglebone:/opt/epics/R315.5# apt-get install re2c }}} 展開してmake。 {{{ root@beaglebone:/opt/epics/R315.5# mkdir -p modules/soft/seq root@beaglebone:/opt/epics/R315.5# cd src root@beaglebone:/opt/epics/R315.5/src# wget http://www-csr.bessy.de/control/SoftDist/sequencer/releases/seq-2.2.4.tar.gz root@beaglebone:/opt/epics/R315.5/src# cd ../modules/soft/seq root@beaglebone:/opt/epics/R315.5/modules/soft/seq# tar zxvf /opt/epics/R315.5/src/seq-2.2.4.tar.gz root@beaglebone:/opt/epics/R315.5/modules/soft/seq# mv seq-2.2.4 2.2.4 root@beaglebone:/opt/epics/R315.5/modules/soft/seq# cd 2.2.4/ root@beaglebone:/opt/epics/R315.5/modules/soft/seq/2.2.4# emacs -nw configure/RELEASE EPICS_BASE=/opt/epics/R315.5/base root@beaglebone:/opt/epics/R315.5/modules/soft/seq/2.2.4# make }}} === asyn === asynも普通にmakeできる。 {{{ root@beaglebone:/opt/epics/R315.5# mkdir -p modules/soft/asyn root@beaglebone:/opt/epics/R315.5# cd src root@beaglebone:/opt/epics/R315.5/src# wget https://www.aps.anl.gov/epics/download/modules/asyn4-31.tar.gz root@beaglebone:/opt/epics/R315.5/src# cd ../modules/soft/asyn root@beaglebone:/opt/epics/R315.5/modules/soft/asyn# tar zxvf /opt/epics/R315.5/src/asyn4-31.tar.gz root@beaglebone:/opt/epics/R315.5/modules/soft/asyn# mv asyn4-31 4-31 root@beaglebone:/opt/epics/R315.5/modules/soft/asyn# cd 4-31/ root@beaglebone:/opt/epics/R315.5/modules/soft/asyn/4-31# emacs -nw configure/RELEASE #RELEASE Location of external products #SUPPORT=/corvette/home/epics/devel #-include $(TOP)/../configure/SUPPORT.$(EPICS_HOST_ARCH) # IPAC is only necessary if support for Greensprings IP488 is required # IPAC release V2-7 or later is required. #IPAC=$(SUPPORT)/ipac-2-14 # SEQ is required for testIPServer #SNCSEQ=$(SUPPORT)/seq-2-2-4 SNCSEQ=$(EPICS_BASE)/../modules/soft/seq/2.2.4/ # EPICS_BASE 3.14.6 or later is required #EPICS_BASE=/corvette/usr/local/epics-devel/base-3.15.5 EPICS_BASE=/opt/epics/R315.5/base -include $(TOP)/../configure/EPICS_BASE.$(EPICS_HOST_ARCH) root@beaglebone:/opt/epics/R315.5/modules/soft/asyn/4-31# make }}} === streamdevice === streamdeviceも同じ。 == modules/instruments == BBBのIOを使うために専用(?)のmoduleをmakeする。 === devgpio === === drvAsynI2C ===