Die SCSI2Pi-Emulations-Tools

Im Target-Modus emuliert SCSI2Pi mehrere SCSI- oder SASI-Geräte.s2p ist das eigentliche Tool für die SCSI/SASI-Emulation. Mit s2pctl, der SCSI-Control-App oder der PiSCSI-Web-UI verwaltet man die emulierten Geräte zur Laufzeit.

s2p als Standalone-Programm

s2p wird entweder beim Booten als Systemservice gestartet, oder aber als Standalone-Programm auf der Kommandozeile.
Die s2p-Manpage liefert Details zur Nutzung. Typischerweise gibt man beim Starten von s2p auf der Kommandozeile an, welche SCSI- oder SASI-Geräte emuliert werden sollen.s2p ist das Gegenstück zum piscsi-Tool des PiSCSI-Projekts, bietet aber zusätzliche Features und höhere Transferraten.

>s2p -id 0 scsi_hd_1.hds -id 0:1 scsi_hd_2.hds -id 2 cdrom.iso -id 4 printer -id 5 daynaport -id 6 services

Mit diesem Kommando teilen Sie s2p mit, zwei SCSI-Laufwerke (mit den zugehörigen Image-Dateien scsi_hd_1.hds und scsi_hd_2.hds) zu emulieren. Eines von ihnen hat die SCSI-ID 0, das andere hat dieselbe SCSI-ID, belegt aber LUN 1. Mit LUNs (Untergeräten) lassen sich bis zu 32 SCSI-Geräte auf dieselbe SCSI-ID abbilden, vorausgesetzt die Gerätetreiber unterstützen dies. ID 2 ist einem CD-ROM-Laufwerk zugeordnet, mit cdrom.iso als Image-Datei. ID 4 ist ein SCSI-Drucker, ID 5 ein emulierter DaynaPort Netzwerk-Adapter, und ID 6 die SCSI2Pi-Host-Services. Das PiSCSI-Wiki und die Manpages liefern weitere Informationen zu den meisten Gerätetypen.
Nutzer von Atari-Computern sollten auch einen Blick auf die SCSI2Pi-Client-Tools werfen. Mit diesen Tools lässt sich SCSI2Pi beispielsweise als Echtzeit-Uhr verwenden.

So lassen sich SASI-Laufwerke emulieren:

>s2p -i 0 -t sahd sasi_hd_1.hds -i 1 -t sahd sasi_hd_2.hds

Hier werden zwei SASI-Festplatten mit den IDs 0 und 1 emuliert.

s2p unterstützt die BlueSCSI-Namenskonvention für Image-Dateien. Diese Konvention definiert, wie die SCSI ID, LUN und Sektorgröße im Dateinamen codiert werden.

>s2p -B HD02_1024_vendor:product:revision.hds

Das obige Kommando erzeugt eine SCSI-Festplatte mit SCSI-ID 0, LUN 2 und 1024 Bytes pro Sektor. Die Produktdaten für das INQUIRY-Kommando sind "vendor:product:revision". Die Produktdaten mit dem Dateinamen zu setzen ist eine Erweiterung von SCSI2Pi, die von BlueSCSI nicht unterstützt wird.

s2p als Systemservice

Für s2p wird bei der Installation automatisch ein Systemservice-Setup eingerichtet. So aktiviert man den Service manuell:

>sudo systemctl enable s2p
>sudo systemctl start s2p

Falls Sie s2p auf der Kommandozeile starten wollen, muss der Service vorher angehalten werden:

>sudo systemctl stop s2p

Der s2p-Service wird in /etc/s2p.conf mit Properties konfiguriert. Eine Konfigurationsdatei mit Beispielen wird bei der Erstinstallation von SCSI2Pi automatisch erzeugt.
Starten Sie den Systemservice nach dem Ändern von Einstellungen in /etc/s2p.conf neu:

>sudo systemctl restart s2p
s2pctl

s2pctl ist der Kommandozeilen-Client zum Steuern von s2p. Es ist das Gegenstück zum PiSCSI scsictl-Tool. Besonders dann, wenn Probleme mit der Weboberfläche auftreten, kann ein Kommandozeilen-Client nützlich sein, der direkt Nachricten an s2p sendet. Im Allgemeinen ist s2pctl ein wertvolles Tool zum Abrufen der aktuellen s2p-Einstellungen und zum Testen der s2p-Funktionalität.

>s2pctl --list-devices
+--------+------+---------------------------------------
| ID:LUN | TYPE | IMAGE FILE
+--------+------+---------------------------------------
|  0:0   | SCHD | /home/pi/images/test.hds
|  0:31  | SCHS | Host Services
+--------+------+---------------------------------------

Wird s2pctl ohne Parameter gestartet befindet sich das Tool im interaktiven Modus. In diesem Modus lassen sich Kommandos eingeben.

>s2pctl
Entering interactive mode, Ctrl-D, "exit" or "quit" to quit
s2pctl>--detach-all
s2pctl>--log-level trace
s2pctl>exit
>

Außerdem kann s2pctl Kommando-Sequenzen in Skripten ausführen:

>cat SCRIPT_DATEI | s2pctl