STEC s1120 PCIe Treiber-Installation
Hinweis: Bitte beachten Sie, dass dieser Artikel / diese Kategorie sich entweder auf ältere Software/Hardware Komponenten bezieht oder aus sonstigen Gründen nicht mehr gewartet wird. Diese Seite wird nicht mehr aktualisiert und ist rein zu Referenzzwecken noch hier im Archiv abrufbar. |
---|
Die Treiber für die STEC s1120 PCIe Accelerator SSD-Karte werden von STEC in Form von RPMs zur Verfügung gestellt. In dem RPM-Paket befinden sich die Quelldateien und das zugehörige Makefile zum Kompilieren und Installieren des Treibers. Dieser Artikel zeigt, wie der Treiber unter Ubuntu 12.04 Server kompiliert und installiert wird.
Anforderungen
Für das Kompilieren des Treibers müssen eine Build-Umgebung und die dem Kernel zugehörigen Header-Dateien installiert sein:
:~$ uname -r 3.2.0-33-generic :~$ dpkg --get-selections |grep 3.2.0-33-generic linux-headers-3.2.0-33-generic install linux-image-3.2.0-33-generic install
Wird der Treiber nicht auf jenem System kompiliert, auf dem er später installiert wird, müssen die Kernel-Versionen der beiden System übereinstimmen.
Für den Umgang mit den RMP-Paketen werden außerdem folgende Pakete benötigt:
:~$ sudo apt-get install rpm alien
Installation des Source RPMs
Unter Ubuntu wird bei der Installation des RPMs das Verzeichnis "rpmbuild" im Home-Verzeichnis des Users angelegt:
:~$ rpm --install s1120_linux_driver-2.2.1-0220.src.rpm rpm: RPM should not be used directly install RPM packages, use Alien instead! rpm: However assuming you know what you are doing... :~$ ls rpmbuild/ SOURCES SPECS
Kompilieren des Treibers
Unter Zuhilfenahme dieser Dateien wird der Treiber erstellt:
:~$ cd rpmbuild/ :~/rpmbuild$ rpmbuild -bb SPECS/s1120.spec [...]
Das Treiber-RPM befindet sich nun im Verzeichnis "RPM":
:~/rpmbuild$ ls RPMS/x86_64/ s1120_linux_driver-2.2.1-0220.x86_64.rpm
Installation des Treibers
Vor der Installation wird sicher gestellt, dass kein anderer Treiber installiert ist:
:~/rpmbuild$ dpkg --get-selections |grep s1120 :~/rpmbuild$ :~/rpmbuild$ find /lib/modules -name skd.ko :~/rpmbuild$ :~/rpmbuild$ sudo rmmod skd ERROR: Module skd does not exist in /proc/modules
Nach diesen Kontroll-Kommandos wird der Treiber mit "alien" installiert:
:~/rpmbuild$ sudo alien -i --scripts RPMS/x86_64/s1120_linux_driver-2.2.1-0220.x86_64.rpm dpkg --no-force-overwrite -i s1120-linux-driver_2.2.1-221_amd64.deb Selecting previously unselected package s1120-linux-driver. (Reading database ... 113843 files and directories currently installed.) Unpacking s1120-linux-driver (from s1120-linux-driver_2.2.1-221_amd64.deb) ... INFO: STEC, Inc. S1120 SSD driver 2.2.1-b0220 INFO: Installation proceeding. INFO: Device nodes are /dev/skd0, /dev/skd1, etc Setting up s1120-linux-driver (2.2.1-221) ... :~/rpmbuild$
Überprüfung der Installation
Ist das STEC eigene Kommandozeilen-Werkzeug bereits vorhanden, kann mit diesem nach dem PCIe-Device gescannt werden:
:~/rpmbuild$ sudo sdmcmd64 ScanLocal Results for ScanLocal operationResult = Success [...]
Die Parameter des geladenen Moduls können ebenfalss geprüft werden:
:~/rpmbuild$ modinfo skd filename: /lib/modules/3.2.0-33-generic/extra/skd.ko version: 2.2.1-0220 description: STEC, Inc. S1120 PCIe SSD bio driver (b0220) license: BSD author: bug-reports: support@stec-inc.com srcversion: ED9E14EBE883F4467AF0D8D alias: pci:v00001B39d00000001sv*sd*bc*sc*i* depends: vermagic: 3.2.0-33-generic SMP mod_unload modversions parm: skd_isr_type:Interrupt type capability. (0==legacy, 1==MSI, 2==MSI-X, default==1) (int) parm: skd_max_req_per_msg:Maximum SCSI requests packed in a single message. (1-14, default==1) (int) parm: skd_max_queue_depth:Maximum SCSI requests issued to S1120. (1-200, default==64) (int) parm: skd_sgs_per_request:Maximum SG elements per block request. (1-4096, default==256) (int) parm: skd_max_pass_thru:Maximum SCSI pass-thru at a time. (1-50, default==32) (int) parm: skd_dbg_level:S1120 debug level (0,1,2) (int) devices[8] = gen4pcie:Drive0
Deinstallation des Treibers
Über "dpkg" wird der Treiber auch wieder deinstalliert:
:~$ dpkg --get-selections |grep s1120 s1120-linux-driver install :~$ sudo dpkg --purge s1120-linux-driver