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

#author("2021-11-19T16:54:29+09:00","default:kondo","kondo")
#author("2021-11-19T16:54:55+09:00","default:kondo","kondo")
* LinuxおよびDAQ構築メモ(2021) [#q0b3212f]

** LinuxのInstall [#ee0a4e34]
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をいじるとまともになる場合があるが、何がきっかけなのか不明。

*** ネットワークドライバのインストール [#b172223c]
ifconfigとしてloしか現れない。eth0がふつうは出てくるはず。やっぱりNICが認識されていない。ネットワークつながらないと何もできないので、ドライバを入れる。BIOSでみると、ネットワークデバイスはI219-Vというもの。これをドライバを探すとe1000eというのを入れるらしい。最新の3.8.7をゲットして展開。srcに移動してmake。エラーがでてコンパイルできないので古いバージョンをためす。3.5.1はコンパイルできるが、これだとデバイスと認識できないみたい。ソースコードでエラーを吐かれている部分を見ると、devとpdevというのがあって、その切り替えを#ifndefでやっているのをしくじっているだけ見たい。以下のようにするとコンパイルできた。
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のインストール [#zc6432eb]
required packagesが入っているかチェック。
cmake, libXpm-develを入れる必要があった。--> cmakeはversion3.xでないとダメみたい。これ入れるの面倒っぽいのでroot.5.34.38にしておく。
 ./configure linuxx8664gcc --enable-xml --enable-x11
無事起動した。あとはANAROOTを入れておく。~/anaroot/anaroot_v4.5.39に突っ込んだ。完了。こんなもんかな。