|
|
# Installation von »LabView 2013« unter Linux (openSUSE)
|
|
|
|
|
|
Die folgenden Hinweise beziehen sich auf openSUSE 13.1.
|
|
|
|
|
|
## Präparieren des Kernels
|
|
|
|
|
|
Unabhängig von der Version der Distribution und auch unabhängig von der LabView-Version muss der Kernel derart vorbereitet werden, dass einige LabView-spezifische Kernel-Module kompiliert werden können. Dazu ist Folgendes zu tun:
|
|
|
|
|
|
```bash
|
|
|
zypper in kernel-source
|
|
|
cd /usr/src/linux
|
|
|
zcat /boot/symvers-VERSION.gz > Module.symvers
|
|
|
```
|
|
|
|
|
|
Statt `VERSION` ist die aktuell gültige Kernel-Version anzugeben. Sie erhält man mit dem Aufruf `uname -r`. Danach folgt:
|
|
|
|
|
|
```bash
|
|
|
make cloneconfig
|
|
|
make modules_prepare
|
|
|
```
|
|
|
|
|
|
## Boot-Parameter
|
|
|
|
|
|
Um den Fehler zu vermeiden, der auftritt, wenn RAM-Speicher des Rechners oberhalb der 4GB-Grenze adressiert wird, empfiehlt sich das Zufügen des folgenden Boot-Parameters. Dies sollte in `yast` geschehen (»System« / »Boot Loader«):
|
|
|
|
|
|
```
|
|
|
memmap=60G\\\$0x100000000
|
|
|
```
|
|
|
|
|
|
Man beachte die drei `\`-Zeichen! Der Boot-Parameter kann auch dann nötig sein, wenn der physikalische Speicher kleiner als 4GB ist.
|
|
|
|
|
|
## Installation von »LabView«
|
|
|
|
|
|
Es wird davon ausgegangen, dass der betreffende Rechner über ein Verzeichnis `/root/labview` verfügt, in dem die zur Installation nötigen Komponenten enthalten sind.
|
|
|
|
|
|
```bash
|
|
|
cd ~/labview
|
|
|
mount ./lv2013pro-linux.iso -r -t iso9660 -o loop ./mnt
|
|
|
cd mnt
|
|
|
./INSTALL --no-prompt --accept-license
|
|
|
cd .. ; umount ./mnt
|
|
|
```
|
|
|
|
|
|
## Installation von »NIKAL«
|
|
|
|
|
|
Bei »NIKAL« (»Kernel Abstraction Layer«) handelt es sich um die Komponente, die für die direkte Kommunikation mit dem Linux-Kernel verantwortlich ist. Man sollte bestrebt sein, immer die neueste Version zu beschaffen (http://ftp.ni.com/support/softlib/kal/). Die Version 2.5 unterstützt maximal den bei openSUSE 13.1 enthaltenen Kernel.
|
|
|
|
|
|
```bash
|
|
|
mount ./NIKAL25.iso -r -t iso9660 -o loop ./mnt
|
|
|
cd mnt
|
|
|
./INSTALL --no-prompt --accept-license
|
|
|
cd .. ; umount ./mnt
|
|
|
```
|
|
|
|
|
|
## Installation von »VISA«
|
|
|
|
|
|
»VISA« ist für manche Gerätezugriffe nötig bzw. vereinfacht diese. Aufgrund eines Fehlers in den VISA-Versionen 5.2 bis 5.4 (Stand: Februar 2014) kann die bereits während der LabView-Installation zugefügte VISA-Version für unsere Zwecke nicht verwendet werden. Stattdessen muss mindesten auf die Version 5.1 zurückgegangen werden. Update (März 2014): Offenbar ist die Version »5.4.1« wieder funktionsfähig, weshalb sie hier verwendet wird.
|
|
|
|
|
|
```bash
|
|
|
cd NI-VISA-5.4.1-mod
|
|
|
./INSTALL --no-prompt --accept-license --no-prompt-rpm
|
|
|
cd ..
|
|
|
```
|
|
|
|
|
|
(Das Verzeichnis `NI-VISA-5.4.1-mod` enthält die entpackten Dateien der VISA-Version 5.4.1. Im Installations-Script `INSTALL` ist bei den Zuweisungen zur Variable `RPMOpts` zusätzlich `--replacefiles` anzugeben, was nötig ist, da openSUSE 13.1 eine relativ neue rpm-Version benutzt. Sie erfordert diese Änderung.)
|
|
|
|
|
|
In der so installierten VISA-Version ist ein Start-Script enthalten, dessen Aufgabe es ist, in der Boot-Phase einige für »VISA« notwendige Kernel-Module zu laden. Dieses Script enthält einen ungünstigen Test bezüglich der Kernel-Version in dessen Folge der Start der Module unter openSUSE 13.1 verhindert wird. Abhilfe schafft die folgende Korrektur der Datei `/etc/natinst/nipal/init.d/nipal`:
|
|
|
|
|
|
Statt:
|
|
|
|
|
|
```bash
|
|
|
if [ "$kernelMinor" -eq 4 ]; then
|
|
|
KERNEL_MODULE_EXTENSION=o
|
|
|
elif [ "$kernelMinor" -eq 6 ]; then
|
|
|
KERNEL_MODULE_EXTENSION=ko
|
|
|
else
|
|
|
echo "nipal: $kernelVersion kernel not supported"
|
|
|
exit 1
|
|
|
fi
|
|
|
```
|
|
|
|
|
|
Neu:
|
|
|
|
|
|
```bash
|
|
|
KERNEL_MODULE_EXTENSION=ko
|
|
|
```
|
|
|
|
|
|
Die in diesem Abschnitt genannten Korrekturen könnten sich mit der nächsten VISA-Version für Linux erübrigen. Man beobachte daher gelegentlich die unter der folgenden Adresse erhältlichen Dateien: http://download.ni.com/support/softlib/visa/NI-VISA/
|
|
|
|
|
|
## Weitere Schritte
|
|
|
|
|
|
Mit Umstellung des Bootablaufes von »SysVinit« auf »Systemd« in neueren openSUSE-Versionen übernimmt »Systemd« auch den Start der Boot-Scripte alter Art. Offenbar dürfen diese jedoch nun keine symbolischen Links mehr sein. »LabView« istalliert sie aber als symbolische Links, was durch die folgenden Befehlsaufrufe korrigiert wird:
|
|
|
|
|
|
```bash
|
|
|
rm -f /etc/init.d/nipal /etc/init.d/nilxid \
|
|
|
/etc/init.d/nimdnsd /etc/init.d/nipxirmu /etc/init.d/nisvcloc
|
|
|
cp -p /etc/natinst/vxipnp/init.d/nilxid /etc/init.d/
|
|
|
cp -p /etc/natinst/nimdnsresponder/init.d/nimdnsd /etc/init.d/
|
|
|
cp -p /etc/natinst/nipal/init.d/nipal /etc/init.d/
|
|
|
cp -p /etc/natinst/nipal/init.d/nipxirmu /etc/init.d/
|
|
|
cp -p /usr/local/natinst/nisvcloc/init.d/nisvcloc /etc/init.d/
|
|
|
```
|
|
|
|
|
|
Später neu installierte Linux-Kernel haben zur Folge, dass einige der aufgeführten Abläufe wiederholt werden müssen. Auch ist es nicht ausgeschlossen, dass »NIKAL« eine neu installierte Kernel-Version nicht mehr unterstützt. Es empfiehlt sich daher, auf das Installieren neuer Kernel zu verzichten:
|
|
|
|
|
|
```bash
|
|
|
zypper addlock kernel-default
|
|
|
zypper addlock kernel-devel
|
|
|
zypper addlock kernel-source
|
|
|
zypper addlock kernel-desktop
|
|
|
zypper addlock kernel-desktop-base
|
|
|
zypper addlock kernel-desktop-devel
|
|
|
```
|
|
|
|
|
|
Zu Letzt führt der folgende Aufruf zum (nochmaligem) Kompilieren der LabView-Kernel-Module:
|
|
|
|
|
|
```bash
|
|
|
/usr/local/bin/updateNIDrivers
|
|
|
```
|
|
|
|
|
|
Die Frage nach Neu-Booten des Systems am Ende sollte mit `yes` beantwortet werden.
|
|
|
|
|
|
Nach erfolgtem Booten sollte der folgende Aufruf
|
|
|
|
|
|
```bash
|
|
|
lsmod | grep ^ni
|
|
|
```
|
|
|
|
|
|
keine leere Ausgabe erzeugen. Eine Ausgabe ähnlich zu der folgenden zeugt von einer erfolgreichen Installation:
|
|
|
|
|
|
```bash
|
|
|
nipxirmk 120229 1
|
|
|
nidimk 333025 2 nipxirmk
|
|
|
niorbk 101681 2 nipxirmk,nidimk
|
|
|
nipalk 1229445 5 nipxirmk,nidimk,niorbk
|
|
|
nikal 97449 1 nipalk
|
|
|
```
|
|
|
|
|
|
Sollte aus irgendwelchen Gründen doch mal ein kernel-Update durchgeführt worden sein, muss, um »LabView« funktionstüchtig zu halten, Folgendes getan werden:
|
|
|
|
|
|
* Nachdem mit dem neuen Kernel gebootet wurde: Wiederholen der unter »Präparieren des Kernels« genannten Schritte.
|
|
|
|
|
|
* Danach:
|
|
|
|
|
|
```bash
|
|
|
/usr/local/bin/updateNIDrivers
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|