Real time PC setup for SUPER MICRO
CentOS5.4
- 64bit版(x86_64)DVDを手に入れ、ドライブに入れ起動(32bit版だとRT Linux上のネットワークカードの認識のところで進まなくなる)
- 通常インストール
- Japaneseを選択(あとでEnglishに変えた方がいいかも)
- RAIDなどもあとで組めばいいので、できるだけデフォルトのシンプルなパーティションにする(LVM使用)
- GRUBはきちんと目的のものが立ち上がるように設定
- networkはet0を選ぶこと、DHCPでよい
root setting
- root:xxxxxxxxxx
Packages
- GnomeとKDE両方とも選ぶ、他のServerなどは選ばなくてよい
- 追加のリポジトリも選ばなくてよい
Formatting and rebooting
security
- fire wall: off
- Selinux: PERMISSIVE
user setting
- controls:xxxxxxxx
- controlsでログイン
repository
/etc/yum.repos.d/CentOS-Base.repoに
#contrib - packages by Centos Users [contrib] name=CentOS-$releasever - Contrib mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib #baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
を追加
/etc/sudoersに
controls ALL=(ALL) NOPASSWD:ALL
を追加しておくと便利
gcc, g++ install
# yum -y install gcc
# yum -y install gcc-c++
lib
# yum -y install readline-devel
# yum -y install ncurses-devel.x86_64
For medm
# yum -y install openmotif
For Matlab
# yum -y install libXp
For /cvs/cds/kami/target/k1ctrepics/
/usr/lib/libreadline.so.6はなかなか見つからないので、前にセットアップしたものからコピー。これがないとこのディレクトリのstartupK1が立ち上がらない。
For dataviewer
libXpm-devel-3.5.5-3.i386
yum update
# yum -y update
パッケージアップデーターを使っても同じことができる
再起動
RT linux installation
- opt.tar.gzを/optにコピーして展開、rootが所有者であることを確認。もし違うなら
sudo chown -R root:root /opt
- local-2.95.3.tarを/usr以下に展開
- /framesのフォルダを作成
- /opt/rtldk-2.2/rtlinux_kernel_2_6にいって
# make modules_install install
- /etc/grub.confのdefault=1をdefault=0に変更
- reboot
- uname -aで確認
もしkernel panicで立ち上がらない時は、biosのIDEの設定をAHCIを疑うこと。AHCIはデフォルトでサポートされていないので、biosのIDEの設定をIDE/Compatibleにするとよい。kernelにAHCIモジュールを組み込むといいかもしれない(試していない)。
network card (NIC)が認識されていない場合
Rial timeでないkernelで立ち上げ直して、NICが認識されてから、intelのページにいって82575/6 and 82580 for Linuxドライバーをダウンロード
tar xvf igb-2.1.9.tar.gz cd igb-2.1.9/src/ sudo make install sudo /sbin/insmod /lib/modules/2.1.16-rtl/kernel/drivers/net/igb/igb.ko
で認識されるはず。
menuのsystem,Administration,Networkから確認、もしくは/sbin/ifconfigからも確認できる。
network setting
ネットワークはローカルなルーターを使い外にでないようにする。固定IPに設定。例えばシステム->管理->ネットワークからか、もしくは/etc/host/に
IP:192.168.11.2 subnet mask:255.255.255.0 Gateway:192.168.11.1 DNS:192.168.11.1
DNSに
host name:kami2 DNS1:192.168.11.10 DNS2:192.168.11.1 DNS path:clio.km.icrr.u-tokyo.ac.jp
ホストに
IP:192.168.11.2 name:kami2
などと登録しないと、後にawgmantpが立ち上がらない。Firefox等できちんとネットワークがつながっているか確認。この時点で、
ssh -Y kami1
などとできるはず。
いらないサービスを停める
システム->管理->サービスから
- auditid
- autofs
- avahi daemon
- bluetooth
- cpuspeed
- cups
- cups config
- haldaemon
- hidd
- httpd
- ip6tables
- iptables
- isdn
- kudzu
- sendmail
- smartd
- xfs
- yum-updatesd
再起動
Delキーでbiosを立ち上げ不要なデバイスを停止する
- parallel(一台目ではCDがパラレルでつながっていたのでCD/DVDが使えなくなった。二台目は設定がなかった)
- serial ports(ただし、あとからピコモータを触りたい場合はserialは残しておいた方がいいかも。二台目はDisabledにしたらOSが立ち上がらなくなったので結局もとのままにした)
- USB(ただし、USBはUSBメモリを使う場合は残しておいた方がいいかもしれない。二台目は設定がなかった)
Expansion Chassis
- 電源を切りPCIeにケーブルコネクタカードをさし、ケーブルをつなぎ、Expansion Chassisと接続。
- 65536HzのタイミングシグナルをADC/DACカードに入れる
- 先にExpansion Chassis電源を入れてから、PCの電源を入れる。PCの電源を入れるまではExpansion Chassisの電源は入らないので驚かないこと。
- ADC/DACに5Vの電源を供給してやらないと、全く立ち上がらないので注意
/sbin/lspci
でこんなのが見えていたらOK。
GDS software Installation
- /(root)以下にcvs.tar.gzを展開
cd / sudo tar xvf cvs.tar.gz chown controls:root /cvs
- / 以下にapps.tar.gzを展開、rootが所有者であることを確認
- 実際には/apps/Linux/gds以外はいらない
- epics-3.14.10-RC2-i386.tarを/opt以下に展開、controlsが所有者であることを確認
- epics-3.14.7-i386.tarを/opt以下に展開、controlsが所有者であることを確認
- epics-3.14.9-linux.tarを/opt以下に展開、controlsが所有者であることを確認
- /home/controls以下にcds.tar.gzを展開
- setup_shmem.rtlを/usr/bin/にコピー
/etc/fstab
/etc/fstabを必要に応じて直す
/dev/sdb1 /frames ext3 defaults 1 1 rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs defaults 0 0
必要に応じて再起動
/frames
/frames以下を作成
sudo mkdir /frames chown controls;root /frames
/frames以下はこのようなディレクトリ構造になるように、ディレクトリを作る。
こんなスクリプトを書くと楽。
所有者は全てcontrolsになるように設定。
sudo chown controls:root /frames sudo chown controls:controls /frames/*
/etc/rc.local に以下の行を加える
/opt/epics-3.14.10-RC2-i386/base/bin/linux-x86/caRepeater& /opt/rtldk-2.2/rtlinuxpro/modules/rtcore& sleep 5 /usr/bin/setup_shmem.rtl ctr&
Add EPICS libraries to all paths
/etc/ld.so.conf.d/にfileを4つ追加
[controls@kami1 ld.so.conf.d]$ ls epics-i386.conf gds-i386.conf qt-x86_64.conf epics-x86_64.conf qt-i386.conf root-i386.conf
/etc/inittab に以下の行を加え、daqdとnsdのスタートアップとrespawnを指定する旨を追加する
# Frame Builder fb:35:respawn:/cvs/cds/llo/target/fb/start_daqd.inittab nds:35:respawn:/cvs/cds/llo/target/fb/start_nds.inittab
/etc/xinit.d にfileを3つ追加
chmod 755 *conf
で実行権限を加える。
xinetd
yum install xinetd
システム->管理->サービスからxinetdが立ち上がっていることを確認し、「オンデマンドのサービス」タブで
- chnconf
- diagonf
- leapconf
がきちんと立ち上がっているか確認。
/etc/service
/etc/serviceに
diagconf 5355/udp
を追加
/etc/rpc
/etc/rpc に以下を追加
chnconf 822087685 leapconf 822087686
installation of gds
- /cvs/cds/llo/scripts/startqts書き換え
- /cvs/cds/llo/target/fb/daqrc書き換え
- /cvs/cds/llo/target/gds/param以下を書き換え
- awg.par書き換え
- diag_L.confを書き換え
- nds.par書き換え
- testpoint.par書き換え
.bashrc or .cshrc
再起動、及びリアルタイムコードの開始
再起動後
startqts
medm //cvs/cds/llo/medm/l1/qts/L1QTS_GDS_TP.adl
でepicsが動いているか確認。
もし
libXm.so.4: cannot open shared object file: No such file or directory
と出る場合は
#yum -y install openmotif
もし、数値のところが真っ白なら
daqconfig
と打って、epicsのチャンネル名がきちんと表示されているか確認。仮に表示されていても、特に初回は一度保存するといい時がある。
数値は表示されるが、とまっている時は左下のBURT Restoreのところに1をいれる。
dataviewer
LibXpm
[controls@kami2 ~]$ dataviewer /apps/Linux/dataviewer/dc3: error while loading shared libraries: libXpm.so.4: cannot open shared object file: No such file or directory
解決策
#yum -y install libXpm
hostname
[controls@kami2 ~]$ dataviewer Can't find hostname `teststand0' Can't find hostname `teststand0'; gethostbyname(); error=2 Warning: Not all children have same parent in XtManageChildren Error in obtaining chan info. Can't find hostname `teststand0' Can't find hostname `teststand0'; gethostbyname(); error=2
解決策
/apps/Linux/dataviewer/dataviewer
のteststand0を自分のホスト名(例えばkami2)に変える。
site を変えたいとき
Construction of K1 model
- Matlab, simulinkで.mdlファイルのsiteをK1とする
- grep -r lho /home/controls/cds/adLigo/src* で該当ファイルを探しsite=kamiを追加
- src/epics/util/feCodeGen.pl 一カ所
- src/epics/util/lib/Parameters.pm 一カ所
- /home/controls/cds/advLigo/Makefileをlhoで検索して、kamiを2箇所追加
- make qts
- make install-qts
- make install-daq-qts
- /cvs/cds/kami/target/fb内にllo等からファイルをコピー、start_daqd.inittab, start_nds.inittab, master, daqdrcを書き換える
- /cvs/cds/kami/target/gds/param以下をllo等からコピーして以下を書き換え
- testpoint.par
- nds.par
- awg.par
- error.par
- diag_L.confとかをdiag_K.confにファイル名を変える
- /cvs/cds/kami/target/gds/bin以下にawgtpmanをllo等からコピー
- /etc/rc.local, /etc/inittabを書き換え
- /etc/xinet.d/以下を書き換え
- diagconf書き換え
- chnconf書き換え
- leapconf書き換え
- .bashrc(or .cshrc)でPATHの変更
- reboot
- /cvs/cds/kamioka/script/daqconfigを立ち上げ、data channelを追加
rc.localでリアルタイムコードを自動的に立ち上げたいとき
rc.localに
su -l controls -c "/cvs/cds/kami/scriptis/startctr"
等と書く
sudo: sorry, you must have a tty to run sudo
とかログに出る場合は、 /etc/sudoers の「Defaults requiretty」行を消すなりコメントアウトする。ただし書き込み不可になっている /etc/sudoers のパーミッションを一度変更して編集しなくてはならないが、通常は文法エラーなどをチェックしてくれる /usr/sbin/visudo コマンドを使うのが普通。直接編集してミスがあるとヤバイ事になる。vi が嫌いなら環境変数 EDITOR で変更が可能。
Slow channelの登録
dataviewerの信号選択でslowの欄には最初何も現れない。masterに
/cvs/cds/kami/chans/daq/K1EDCU.ini
等と書いて、 /cvs/cds/kami/chans/daq/K1EDCU.ini を編集。
途中でIPアドレスを変えたくなったとき
ネットワーク設定から、アダプタのAddressのIPと右端のHostsのタブのIPを変更
/cvs/cds/xxx/target/gds/param/error.parを変更
autoburtによるパラメータの自動記録
以下のディレクトリを作る
mkdir /cvs/cds/kami/burt/ mkdir /cvs/cds/kami/burt/autoburt mkdir /cvs/cds/kami/burt/autoburt/logs mkdir /cvs/cds/kami/burt/autoburt/snapshots mkdir /cvs/cds/kami/burt/autoburt/snapshots mkdir /cvs/cds/kami/burt/autoburt/2010
2010年以降も2020年くらいまで作っておくとよい。
/cvs/cds/kami/burt/にautoburt.plを作る。
controlsで
crontab -e
とうち、
43 * * * * /usr/bin/perl /cvs/cds/kami/burt/autoburt.pl
等と入力。これは毎時43分にsnapshotがとられるという意味。
その他トラブル
sudoでどんなコマンドを実行しても,Connection refusedが出る
# sudo pwd audit_log_user_command(): Connection refused
解決策
最新版のsudoを取って来てコンパイルする
# wget http://www.sudo.ws/sudo/dist/sudo-1.7.2p5.tar.gz # tar xvf sudo-1.7.2p5.tar.gz # cd sudo-1.7.2p5 # ./configure # make # sudo make install
その際pamがないといわれるのでpam-devel-0.99.6.2-6.el5_4.1.x86_64をインストール。
RPC
Starting RPC idmapd: FATAL: Module sunrpc not found. FATAL: Error running install command for sunrpc Error: RPC MTAB does not exist.
というエラーが出る。動作はしているようだ。
解決策
どうも/etc/fstabに以下のように書いておけばいいらしい。
rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs defaults 0 0
ディスクレス起動の時はカーネルにnfsを静的に取り込んであるが、nfsのsunrpcをモジュールだと仮定してロードしようとするらしい。 詳しくはhttp://linux-nfs.org/pipermail/nfsv4/2005-July/002246.html
medmの数値が全て真っ白
例えば
~>more /cvs/cds/kami/target/k1ctr/log.txt insmod: error inserting '/tmp/ctrfe.ko': -1 Unknown symbol in module ctrfe: Problem loading module
のようにリアルタイムコードが走らない場合等はたいてい/etc/rc.localがおかしい。
libgeneral-0.so.5
/cvs/cds/kami/target/fb/daqd.logに
/cvs/cds/kami/target/fb/daqd: error while loading shared libraries: libgeneral-0.so.5: cannot open shared object file: No such file or directory
などと出ている場合は、/usr/local-2.95.3が存在するかチェック
test point manager が立ち上がらないとき
/cvs/cds/kami/target/gds/startup_ctr.cmdを直接立ち上げると解決することがある
more /cvs/cds/kami/target/gds/ctr.log 16 kHz system mmapped address is 0xf3eff000 Spawn testpoint manager no test point service registered Test point manager startup failed; -1
となっているとき、/cvs/cds/llo以下が存在するか確かめる
/cvs/cds/llo/target/gds/bin/awgtpmanが/cvs/cds/llo/target/gds/param/testpoint.parにアクセスしている。llo以下を移動してはだめ。根本的に解決するにはawgtpmanを再コンパイルする必要がある。
diag
diag -iコマンドで
[controls@kami2 ~]$ diag -i Diagnostics configuration: awg 0 0 192.168.11.2 822087682 1 192.168.11.2 tp 0 0 192.168.11.2 822087681 1 192.168.11.2
だけしか表示されない場合はxinetdが立ち上がっていない可能性が高い。diagguiやawgguiでチャンネル名がでない時もこれらが関連している可能性が高い。
/ets/servicesの最後に
diagconf 5355/udp
がきちんと書かれているかチェック
/etc/xinit.dのchnconf,leapconf,diagconfをチェック、とくに最初の行のservice chnconf等が書いていない場合がある
後は、ネットがきちんと外につながっているかfirefox等できちんとチェック
正しい場合は以下のようになる。
[controls@kami2 ~]$ diag -i Diagnostics configuration: awg * 0 cobox0 5000 * 192.168.11.2 awg * 1 cobox0 5001 * 192.168.11.2 awg * 2 cobox1 5000 * 192.168.11.2 awg * 3 cobox1 5001 * 192.168.11.2 awg 0 0 192.168.11.2 822087682 1 192.168.11.2 chn * * 192.168.11.2 822087685 1 192.168.11.2 err 0 * 192.168.11.2 5353 * 192.168.11.2 err 1 * 192.168.11.2 5353 * 192.168.11.2 leap * * 192.168.11.2 822087686 1 192.168.11.2 nds * * 192.168.11.2 8088 * 192.168.11.2 ntp * * ntpServer * * 192.168.11.2 tp 0 0 192.168.11.2 822087681 1 192.168.11.2 tst * * gdsdmt 5354 * 192.168.11.2
dataviewerなどでchannel名が出てこない
daqdが走っていない
/cvs/cds/kami/target/fb/start_daqd.inittab
と打って、直接daqdを立ち上げてやるといい。
過去のDAQ dataが見えない
チャンネル名等も全部見えて、リアルタイムのデータはdataviewer等で見えるのに、過去のデータが見えない時は/cvs/cds/kami/target/fbにjobsというディレクトリがあるかどうか確認すること。とくに、/cvs/cds/kami/target/fb/daqd.logに以下のようなメッセージが残されている場合は、jobsを作ると過去のデータまで見えるようになる。
[Thu Apr 8 17:55:09 2010] /cvs/cds/kami/target/fb/jobs/1270716909: NDS job spec file open failed
もしくはNDSが走っていない場合がある
[controls@kami1 ~]$ ps -ef | grep nds controls 7067 7025 0 08:53 pts/5 00:00:00 /cvs/cds/kami/target/fb/nds /cvs/cds/kami/target/fb/pipe controls 13284 13201 0 09:14 pts/8 00:00:00 grep nds
とならない場合は、
/cvs/cds/kami/target/fb/start_nds.inittab
と打って、直接NDSを立ち上げてやるといい。
medm でfontがないと怒られる
Reference manualに解決策が書いてある。font pathは/usr/share/X11/fonts/miscだった。
Aliased Fonts in X Windows Copy the following lines into your miscellaneous fonts.alias file. Beware that if you are in Windows then this may introduce CR-LF’s, which must be converted to LF’s. The standard place is /usr/lib/X11/fonts/misc/fonts.alias. You can get your own particular font path from “xset q”. Note that these specifications are the standard MEDM font specifications as used at the Advanced Photon Source, but you are free to define another set of font specifications that gives better results for your machine or your own preferences. Keep in mind that displays may not look good if the fonts used are significantly different from those used by the designer of the display. widgetDM_4 -misc-fixed-medium-r-normal--8-60-100-100-c-50-iso8859-1 widgetDM_6 -misc-fixed-medium-r-normal--8-60-100-100-c-50-iso8859-1 widgetDM_8 -misc-fixed-medium-r-normal--9-80-100-100-c-60-iso8859-1 widgetDM_10 -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1 widgetDM_12 -misc-fixed-medium-r-normal--13-100-100-100-c-70-iso8859-1 widgetDM_14 -misc-fixed-medium-r-normal--14-110-100-100-c-70-iso8859-1 widgetDM_16 -misc-fixed-medium-r-normal--15-120-100-100-c-90-iso8859-1 widgetDM_18 -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1 widgetDM_20 -misc-fixed-medium-r-normal--20-140-100-100-c-100-iso8859-1 widgetDM_22 -sony-fixed-medium-r-normal--24-170-100-100-c-120-iso8859-1 widgetDM_24 -sony-fixed-medium-r-normal--24-170-100-100-c-120-iso8859-1 widgetDM_30 -adobe-times-medium-r-normal--25-180-100-100-p-125-iso8859-1 widgetDM_36 -adobe-helvetica-medium-r-normal--34-240-100-100-p-176-iso8859-1 widgetDM_40 -adobe-helvetica-bold-r-normal--34-240-100-100-p-182-iso8859-1 widgetDM_48 -adobe-helvetica-bold-r-normal--34-240-100-100-p-182-iso8859-1 widgetDM_60 -adobe-helvetica-bold-r-normal--34-240-100-100-p-182-iso8859-1 Then run “xset fp rehash” to install them. On Linux you may need to run “/etc/init.d/xfs restart” to restart the X font server. You can see if the fonts are there with “xlsfonts” or “xlsfonts | grep widgetDM”. You can get more information from any of the general-purpose books on X Windows.
でもかっこわるいので、こんなaliasを作った。
alias medm "medm -displayFont -adobe-helvetica-medium-r-normal--34-240-100-100-p-176-iso8859-1 -x /cvs/cds/kami/medm/k1/ctr/menu.adl &"
daqconfig設定し忘れ
frameが立ち上がる前にとなんとかのエラーが出た場合は/cvs/cds/kami/scripts/daqconfigでDAQチャンネルを定義する
MEDMの数値が動かない
GDS_TP.adlの左下が全て0になっている場合は発信器からのタイミングに問題がある。矩形波で32768Hzで0Vを中心に9Vpp出ているか確認する。
もしくは/cvs/cds/llo/scripts/daqconfigでチャンネルを定義する。
もしくはmake uninstall-daq-qtsを試して、モデルを再コンパイルと解決する場合が多い。
kami1ではdiagguiが動くが、portaで動かない
portaのdiagguiでチャンネル名が見えなかったり、見えてもtime outなどで測定ができない。kami1上のdiagguiは測定まできちんとできる。
原因と解決策:portaの時刻が時間とともに狂ってきている。portaにNTPクライアントを入れて時刻を合わせたら解決。