編集メニュー > 新規作成 編集 コピー 名前の変更 凍結 アップロード 添付ファイル一覧 バックアップ

LinuxおよびDAQ構築メモ(2021)

LinuxのInstall

babirlはkernel2.6までの対応なので、SL6.10を入れる。はじめnetinstをためす。Security何たらと出て起動しなかったので、BIOSでSecure Bootをdisable。これでインストール画面が出てきたが、どうもnicを認識してくれないらしく、netinstはできない。

USBにisoを焼いてそれでインストール。これはEvent builder用のPCで256GBのSSDを付けている。パーティションは以下のようにした。無駄に/に割り当てすぎかもしれない。Data用のHDDはあとから追加でつける。

sda1 /boot/efi 200MB 
sda2 /boot 1024MB
sda3 / 80GB
sda4 swap 7680MB
sda5 /home 134.87GB

なんか、/boot/efiというのをやらないといけないっぽい。この辺分かっていないが、自動に割り当てたのを真似する。全部標準パーティションext4にした。

[root@localhost daq]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        79G  4.5G   71G   6% /
tmpfs           3.7G   80K  3.7G   1% /dev/shm
/dev/sda2       976M   63M  863M   7% /boot
/dev/sda1       200M  264K  200M   1% /boot/efi
/dev/sda5       133G  122M  126G   1% /home
[root@localhost daq]# uname -r
2.6.32-754.el6.x86_64

D-sub、DVI端子がOn boardでないので、HDMI-DVI変換を通しているが、ディスプレイの解像度が600x800で作業しづらい。BIOSをいじるとまともになる場合があるが、何がきっかけなのか不明。

ネットワークドライバのインストール

ifconfigとしてloしか現れない。eth0がふつうは出てくるはず。やっぱりNICが認識されていない。ネットワークつながらないと何もできないので、ドライバを入れる。BIOSでみると、ネットワークデバイスはI219-Vというもの。これをドライバを探すとe1000eというのを入れるらしい。最新の3.8.7をゲットして展開。srcに移動してmake。エラーがでてコンパイルできないので古いバージョンをためす。3.5.1はコンパイルできるが、これだとデバイスと認識できないみたい。ソースコードでエラーを吐かれている部分を見ると、devとpdevというのがあって、その切り替えを#ifndefでやっているのをしくじっているだけみたい。以下のようにするとコンパイルできた。

#ifndef USE_LEGACY_PM_SUPPORT
static int e1000e_pm_resume(struct device *dev)
#else
static int e1000e_pm_resume(struct pci_dev *pdev)
#endif
{
// modified -->
#ifndef USE_LEGACY_PM_SUPPORT
        struct net_device *netdev = pci_get_drvdata(to_pci_dev(dev));
#else
        struct net_device *netdev = pci_get_drvdata(pdev);
#endif
// <---
        struct e1000_adapter *adapter = netdev_priv(netdev);
#ifndef USE_LEGACY_PM_SUPPORT
        struct pci_dev *pdev = to_pci_dev(dev);
#endif
        struct e1000_hw *hw = &adapter->hw;

コンパイル出来たら

make install
modprobe e1000e

これだけだと再起動したらまたmodprobeしないといけないので、

dracut --force -v

する。これでようやくeth0が現れるようになった。(もしかしたら/etc/sysconfig/network, /etc/sysconfig/network-scripts/ifcfg-eth0を手動で作っておかないといけないかもしれない。)

DAQ用のユーザーの作成

useradd daq
passwd daq

ネットワークの設定 /etc/hostsと/etc/sysconfig/networkにホスト名を入れる。/etc/init.rd/netword restartだと更新されないけど再起動したら更新された。

アップデート

/etc/yum/repos.d/

のファイルのURLを変更して

yum upgrade

rebootするとまたeth0がいなくなる。

modinfo e1000e -F version
3.2.6-k

戻っている。もう一度e1000eをmake installして、

modprobe e1000e
dracut --force -v

次はbabirlのインストール。 https://ribf.riken.jp/RIBFDAQ/index.php?DAQ%2FManual%2FInstallation を参考に進める。

ROOTのインストール

required packagesが入っているかチェック。 cmake, libXpm-develを入れる必要があった。--> cmakeはversion3.xでないとダメみたい。これ入れるの面倒っぽいのでroot.5.34.38にしておく。

./configure linuxx8664gcc --enable-xml --enable-x11

無事起動した。あとはANAROOTを入れておく。~/anaroot/anaroot_v4.5.39に突っ込んだ。完了。こんなもんかな。