Update to rr51744:

Introduce a new chapter on USB Device Mode / USB OTG. (german translation)

Reviewed by:	bcr
Differential Revision:	https://reviews.freebsd.org/D16445
This commit is contained in:
Bjoern Heidotting 2018-08-16 18:08:47 +00:00
parent 815840b242
commit a316169d3b
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=52143
5 changed files with 410 additions and 137 deletions

View file

@ -1,7 +1,7 @@
#
# $FreeBSD$
# $FreeBSDde: de-docproj/books/handbook/Makefile,v 1.67 2011/12/31 12:27:25 bcr Exp $
# basiert auf: r47275
# basiert auf: r51744
#
# Build the FreeBSD Handbook in its German translation.
#
@ -202,6 +202,7 @@ SRCS+= preface/preface.xml
SRCS+= printing/chapter.xml
SRCS+= security/chapter.xml
SRCS+= serialcomms/chapter.xml
SRCS+= usb-device-mode/chapter.xml
SRCS+= virtualization/chapter.xml
SRCS+= x11/chapter.xml

View file

@ -7,7 +7,7 @@
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/book.xml,v 1.91 2012/03/27 19:32:11 bcr Exp $
basiert auf: r51568
basiert auf: r51744
-->
<!ENTITY % chapters SYSTEM "chapters.ent"> %chapters;
<!ENTITY % txtfiles SYSTEM "txtfiles.ent"> %txtfiles;
@ -266,6 +266,7 @@
&chap.l10n;
&chap.cutting-edge;
&chap.dtrace;
&chap.usb-device-mode;
</part>
<part xml:id="network-communication">

View file

@ -10,7 +10,7 @@
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/chapters.ent,v 1.34 2011/10/08 16:47:33 jkois Exp $
basiert auf: r47275
basiert auf: r51744
-->
<!ENTITY % not.published "INCLUDE">
@ -47,6 +47,7 @@
<!ENTITY chap.l10n SYSTEM "l10n/chapter.xml">
<!ENTITY chap.cutting-edge SYSTEM "cutting-edge/chapter.xml">
<!ENTITY chap.dtrace SYSTEM "dtrace/chapter.xml">
<!ENTITY chap.usb-device-mode SYSTEM "usb-device-mode/chapter.xml">
<!-- Teil Vier -->
<!ENTITY chap.serialcomms SYSTEM "serialcomms/chapter.xml">

View file

@ -650,140 +650,6 @@ da0: &lt;STECH Simple Drive 1.04&gt; s/n WD-WXE508CAN263 detached
Laufwerken und
<acronym>iSCSI</acronym>-<acronym>LUN</acronym>s.</para>
</sect2>
<sect2>
<title><acronym>USB</acronym>-Massenspeicher</title>
<note>
<para>Der &man.cfumass.4;-Treiber ist ein
<acronym>USB</acronym> Geräte-Modus-Treiber und steht mit
&os;&nbsp;12.0 zur Verfügung.</para>
</note>
<para>Auf
<acronym>USB</acronym>-<acronym>OTG</acronym>-kompatibler
Hardware, wie in eingebetteten Systemen, kann der &os;
<acronym>USB</acronym>-Stack im Geräte-Modus laufen. Der
Geräte-Modus ermöglicht es dem Rechner, verschiedene Arten von
<acronym>USB</acronym>-Geräteklassen zu präsentieren,
einschließlich serieller Schnittstellen, Netzwerkadapter und
Massenspeicher. Ein <acronym>USB</acronym>-Host,
beispielsweise ein Laptop oder Desktop-Rechner, kann darauf
wie auf ein physikalisches <acronym>USB</acronym>-Gerät
zugreifen.</para>
<para>Je nach angeschlossener Hardware, ermöglicht das
&man.usb.template.4; Kernelmodul es dem
<acronym>USB</acronym>-Stack, automatisch zwischen Host- und
Geräteseite umzuschalten. Das Anschließen eines
<acronym>USB</acronym>-Gerätes an den
<acronym>USB</acronym>-<acronym>OTG</acronym>-Port bewirkt,
dass &os; in den Geräte-Modus wechselt.</para>
<para>Was &os; dem <acronym>USB</acronym>-Host präsentiert,
hängt von der sysctl-Variablen
<varname>hw.usb.template</varname> ab. Eine Liste der
verfügbaren Werte finden Sie in &man.usb.template.4;. Damit
der Host die geänderte Konfiguration erkennt, muss entweder
das Gerät getrennt und wieder angeschlossen, oder der
<acronym>USB</acronym>-Bus neu gescannt werden. Wenn auf dem
Host &os; läuft, können Sie &man.usbconfig.8;
<command>reset</command> benutzen. Dieser Befehl muss nach
dem Laden von <filename>usb_template.ko</filename> erfolgen,
falls der <acronym>USB</acronym>-Host bereits am
<acronym>USB</acronym>-<acronym>OTG</acronym>-Port
angeschlossen war.</para>
<para>Die sysctl-Variable <varname>hw.usb.template</varname> ist
in der Voreinstellung auf 0 gesetzt, so dass &os; als
<acronym>USB</acronym>-Massenspeicher funktioniert. Dazu
müssen die beiden Kernelmodule &man.usb.template.4; und
&man.cfumass.4; geladen sein. &man.cfumass.4; ist die
Schnittstelle zum CTL-Subsystem, die auch für
<acronym>iSCSI</acronym>- und Fibre Channel-Targets
benutzt wird. Auf der Host-Seite können
<acronym>USB</acronym>-Massenspeicher nur auf eine einzelne
<acronym>LUN</acronym> (<acronym>LUN</acronym> 0)
zugreifen.</para>
<para><acronym>USB</acronym>-Massenspeicher benötigen keinen
aktiven &man.ctld.8;-Daemon, obwohl er bei Bedarf verwendet
werden kann. Dies unterscheidet sich von
<acronym>iSCSI</acronym>. So gibt es zwei Möglichkeiten,
ein Target zu konfigurieren: &man.ctladm.8; und &man.ctld.8;.
Beide erfordern, dass das <filename>cfumass.ko</filename>
Kernelmodul geladen ist. Das Modul kann wie folgt geladen
werden:</para>
<screen>&prompt.root; <userinput>kldload cfumass</userinput></screen>
<para>Wenn <filename>cfumass.ko</filename> nicht im Kernel
enthalten ist, kann das Modul beim Booten über
<filename>/boot/loader.conf</filename> geladen werden:</para>
<programlisting>cfumass_load="YES"</programlisting>
<para>Eine <acronym>LUN</acronym> kann auch ohne den
&man.ctld.8;-Daemon erstellt werden:</para>
<screen>&prompt.root; <userinput>ctladm create -b block -o file=/data/target0</userinput></screen>
<para>Damit wird dem <acronym>USB</acronym> der Inhalt des
Abbilds <filename>/data/target0</filename> als
<acronym>LUN</acronym> präsentiert. Die Datei muss vor dem
Ausführen des Befehls vorhanden sein. Um die
<acronym>LUN</acronym> beim Systemstart zu konfigurieren,
fügen Sie den Befehl in <filename>/etc/rc.local</filename>
hinzu.</para>
<para>&man.ctld.8; kann ebenfalls verwendet werden, um
<acronym>LUN</acronym>s zu verwalten. Erstellen Sie
<filename>/etc/ctl.conf</filename> und fügen Sie eine Zeile in
<filename>/etc/rc.conf</filename> hinzu, um sicherzustellen,
dass &man.ctld.8; beim Booten automatisch gestartet wird.
Danach starten Sie den Daemon.</para>
<para>Dies ist ein Beispiel für eine einfache
<filename>/etc/ctl.conf</filename> Konfigurationsdatei.
&man.ctl.conf.5; enthält eine ausführliche Beschreibung der
einzelnen Optionen.</para>
<programlisting>target naa.50015178f369f092 {
lun 0 {
path /data/target0
size 4G
}
}</programlisting>
<para>Dieses Beispiel erstellt ein Target mit einer einzigen
<acronym>LUN</acronym>.
<literal>naa.50015178f369f092</literal> ist eine Gerätekennung
aus 32 zufälligen, hexadezimalen Ziffern. Die
<literal>path</literal>-Zeile definiert den vollständigen Pfad
einer Datei oder eines zvols, welche als Backend für die
<acronym>LUN</acronym> benutzt wird. Die Konfigurationsdatei
muss vor dem Start von &man.ctld.8; existieren. Die zweite
Zeile ist optional und gibt die Größe der
<acronym>LUN</acronym> an.</para>
<para>Fügen Sie folgende Zeile in
<filename>/etc/rc.conf</filename> hinzu, um den
&man.ctld.8;-Daemon beim Booten zu starten:</para>
<programlisting>ctld_enable="YES"</programlisting>
<para>Um &man.ctld.8; zu starten, führen Sie dieses Kommando
aus:</para>
<screen>&prompt.root; <userinput>service ctld start</userinput></screen>
<para>Beim Start liest der &man.ctld.8;-Daemon
<filename>/etc/ctl.conf</filename> ein. Wenn diese Datei nach
dem Start des Daemons bearbeitet wird, können Sie sie erneut
einlesen, damit die Änderungen direkt wirksam sind:</para>
<screen>&prompt.root; <userinput>service ctld reload</userinput></screen>
</sect2>
</sect1>
<sect1 xml:id="creating-cds">

View file

@ -0,0 +1,404 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Documentation Project
$FreeBSD$
basiert auf: r51744
-->
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
xml:id="usb-device-mode">
<title>USB Gerätemodus</title>
<sect1 xml:id="usb-device-mode-synopsis">
<title>Übersicht</title>
<info>
<authorgroup>
<author>
<personname>
<firstname>Edward Tomasz</firstname>
<surname>Napierala</surname>
</personname>
<affiliation>
<address>
<email>trasz@FreeBSD.org</email>
</address>
</affiliation>
<contrib>Beigetragen von </contrib>
</author>
</authorgroup>
</info>
<para>Dieses Kapitel behandelt die Verwendung des USB Gerätemodus
und USB On-The-Go (<acronym>USB OTG</acronym>) unter &os;. Dazu
gehören virtuelle serielle Konsolen, virtuelle Netzwerkkarten
und virtuelle USB-Laufwerke.</para>
<para>Wenn die eingesetzte Hardware den USB-Gerätemodus oder
<acronym>USB OTG</acronym> unterstützt, kann &os;s
<acronym>USB</acronym>-Stack im Gerätemodus ausgeführt werden.
Solche Hardware wird häufig in eingebetteten Systeme verbaut.
Der Gerätemodus ermöglicht es dem Rechner verschiedene Arten von
<acronym>USB</acronym>-Geräteklassen darzustellen,
einschließlich serieller Schnittstellen, Netzwerkkarten und
Massenspeicher oder Kombinationen davon. Ein
<acronym>USB</acronym>-Host, beispielsweise ein Notebook oder
ein Desktop-Rechner, kann wie auf ein physisches
<acronym>USB</acronym>-Gerät darauf zugreifen.</para>
<para>Es gibt zwei grundlegende Möglichkeiten, wie die Hardware
den Gerätemodus bereitstellen kann: mit einem separaten
<quote>Client Modus</quote>, der nur den Gerätemodus
unterstützt, und mit einem USB-OTG-Port, der sowohl den
Geräte- als auch den Hostmodus bereitstellen kann. Bei
USB-OTG-Ports wechselt der USB-Stack automatisch zwischen
host- und geräteseitig, je nachdem, was an dem Port
angeschlossen ist. Wenn Sie ein <acronym>USB</acronym>-Gerät
wie einen Speicherstick an den Port anschließen, wechselt &os;
in den Hostmodus. Wenn Sie einen <acronym>USB</acronym>-Host
wie einen Computer anschließen, wechselt &os; in den
Gerätemodus. <quote>Client Ports</quote> arbeiten immer
im Gerätemodus.</para>
<para>Was &os; dem <acronym>USB</acronym>-Host präsentiert, hängt
von der sysctl-Variable <varname>hw.usb.template</varname> ab.
Einige Vorlagen bieten ein einzelnes Gerät, beispielsweise ein
serielles Terminal, andere bieten mehrere, die alle gleichzeitig
verwendet werden können. Ein Beispiel ist die Vorlage 10, die
ein Massenspeichergerät, eine serielle Konsole und eine
Netzwerkkarte bereitstellt. &man.usb.template.4; enthält eine
Liste der verfügbaren Werte.</para>
<para>Beachten Sie, dass in einigen Fällen, abhängig von der
Hardware und dem Betriebssystem des Hosts, die Änderung an der
Konfiguration nur dann bemerkt werden kann, wenn der Host
entweder physisch getrennt und wieder verbunden oder gezwungen
wird, den <acronym>USB</acronym>-Bus auf eine
systemspezifische Weise neu zu scannen. Wenn &os; auf dem Host
läuft, kann &man.usbconfig.8; <command>reset</command>
verwendet werden. Dies muss auch nach dem Laden von
<filename>usb_template.ko</filename> geschehen, wenn der
<acronym>USB</acronym>-Host bereits an der
<acronym>USB OTG</acronym>-Buchse angeschlossen war.</para>
<para>Nachdem Sie dieses Kapitel gelesen haben, werden
Sie wissen:</para>
<itemizedlist>
<listitem>
<para>wie man den USB Gerätemodus unter
&os; einrichtet.</para>
</listitem>
<listitem>
<para>wie man die virtuelle serielle Schnittstelle unter
&os; konfiguriert.</para>
</listitem>
<listitem>
<para>wie man sich mit der virtuellen seriellen Schnittstelle
von verschiedenen Betriebssystemen aus verbindet.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 xml:id="usb-device-mode-terminals">
<title>Virtuelle serielle
<acronym>USB</acronym>-Ports</title>
<sect2>
<title>Konfiguration des <acronym>USB</acronym>-Gerätemodus für
serielle Ports</title>
<para>Die virtuellen seriellen Ports werden durch die
Vorlagen 3, 8 und 10 unterstützt. Beachten Sie, dass
Vorlage 3 mit Microsoft Windows 10 ohne spezielle Treiber
und INF-Dateien funktioinert. Andere Host-Betriebssysteme
arbeiten mit allen drei Vorlagen. Die beiden Kernelmodule
&man.usb.template.4; und &man.umodem.4; müssen geladen
werden.</para>
<para>Um die seriellen Ports im
<acronym>USB</acronym>-Gerätemodus zu aktivieren, fügen Sie
folgenden Zeilen in
<filename>/etc/ttys</filename> hinzu:</para>
<programlisting>ttyU0 "/usr/libexec/getty 3wire" vt100 onifconsole secure
ttyU1 "/usr/libexec/getty 3wire" vt100 onifconsole secure</programlisting>
<para>Danach fügen Sie folgende Zeilen in
<filename>/etc/devd.conf</filename> hinzu:</para>
<programlisting>notify 100 {
match "system" "DEVFS";
match "subsystem" "CDEV";
match "type" "CREATE";
match "cdev" "ttyU[0-9]+";
action "/sbin/init q";
};</programlisting>
<para>Laden Sie die Konfiguration neu, falls &man.devd.8;
bereits läuft:</para>
<screen>&prompt.root; <userinput>service devd restart</userinput></screen>
<para>Stellen Sie sicher, dass die notwendigen Module geladen
sind und die richtige Vorlage beim Booten gesetzt ist. Fügen
Sie dazu folgende Zeilen in
<filename>/boot/loader.conf</filename> ein:</para>
<programlisting>umodem_load="YES"
hw.usb.template=3</programlisting>
<para>Um das Modul zu laden und die Vorlage ohne Neustart zu
aktivieren, verwenden Sie:</para>
<screen>&prompt.root; <userinput>kldload umodem</userinput>
&prompt.root; <userinput>sysctl hw.usb.template=3</userinput></screen>
</sect2>
<sect2>
<title>&os; mit der seriellen Schnittstelle im
<acronym>USB</acronym>-Gerätemodus verbinden</title>
<para>Um eine Verbindung zu einer Karte herzustellen, die so
konfiguriert ist, dass sie serielle Ports im
<acronym>USB</acronym>-Gerätemodus bereitstellt, schließen
Sie den <acronym>USB</acronym>-Host, beispielsweise einen
Laptop, an den <acronym>USB OTG</acronym>- oder
<acronym>USB</acronym>-Client-Port der Karte an. Verwenden
Sie <command>pstat -t</command> auf dem Host, um die
Terminalzeilen aufzulisten. Am Ende der Liste sollten Sie
einen seriellen <acronym>USB</acronym>-Anschluss sehen,
zum Beispiel <quote>ttyU0</quote>. Um die Verbindung zu
öffnen, benutzen Sie:</para>
<screen>&prompt.root; <userinput>cu -l /dev/ttyU0</userinput></screen>
<para>Nach mehrmaligem Drücken der <keycap>Enter</keycap>-Taste
erscheint ein Anmeldeprompt.</para>
</sect2>
<sect2>
<title>macOS mit der seriellen Schnittstelle im
<acronym>USB</acronym>-Gerätemodus verbinden</title>
<para>Um eine Verbindung zu einer Karte herzustellen, die so
konfiguriert ist, dass sie serielle Ports im
<acronym>USB</acronym>-Gerätemodus bereitstellt, schließen
Sie den <acronym>USB</acronym>-Host, beispielsweise einen
Laptop, an den <acronym>USB OTG</acronym>- oder
<acronym>USB</acronym>-Client-Port der Karte an. Um die
Verbindung zu öffnen, benutzen Sie:</para>
<screen>&prompt.root; <userinput>cu -l /dev/cu.usbmodemFreeBSD1</userinput></screen>
</sect2>
<sect2>
<title>Linux mit der seriellen Schnittstelle im
<acronym>USB</acronym>-Gerätemodus verbinden</title>
<para>Um eine Verbindung zu einer Karte herzustellen, die so
konfiguriert ist, dass sie serielle Ports im
<acronym>USB</acronym>-Gerätemodus bereitstellt, schließen
Sie den <acronym>USB</acronym>-Host, beispielsweise einen
Laptop, an den <acronym>USB OTG</acronym>- oder
<acronym>USB</acronym>-Client-Port der Karte an. Um die
Verbindung zu öffnen, benutzen Sie:</para>
<screen>&prompt.root; <userinput>minicom -D /dev/ttyACM0</userinput></screen>
</sect2>
<sect2>
<title>Windows 10 mit der seriellen Schnittstelle im
<acronym>USB</acronym>-Gerätemodus verbinden</title>
<para>Um eine Verbindung zu einer Karte herzustellen, die so
konfiguriert ist, dass sie serielle Ports im
<acronym>USB</acronym>-Gerätemodus bereitstellt, schließen
Sie den <acronym>USB</acronym>-Host, beispielsweise einen
Laptop, an den <acronym>USB OTG</acronym>- oder
<acronym>USB</acronym>-Client-Port der Karte an. Um die
Verbindung zu öffnen, benötigen Sie ein Terminalprogramm mit
Unterstützung für serielle Schnittstellen, zum Beispiel
<application>PuTTY</application>. Um den von &windows;
verwendeten COM-Port zu ermitteln, starten Sie den
Geräte-Manager und erweitern Sie
<quote>Ports (COM &amp; LPT)</quote>. Dort sehen Sie einen
Namen wie <quote>USB Serial Sevice (COM4)</quote>. Starten
Sie das Terminalprogramm Ihrer Wahl, zum Beispiel
<application>PuTTY</application>. Im Dialog von
<application>PuTTY</application> setzen Sie den
<quote>Connection type</quote> auf <quote>Serial</quote> und
notieren im Feld <quote>Serial line</quote> den ermittelten
COM-Namen. Danach klicken Sie auf <quote>Open</quote>.</para>
</sect2>
</sect1>
<sect1 xml:id="usb-device-mode-network">
<title>Netzwerkkarten im
<acronym>USB</acronym>-Gerätemodus</title>
<para>Virtuelle Netzwerkkarten werden durch die Vorlagen 1, 8 und
10 unterstützt. Beachten Sie, dass keine dieser Vorlagen mit
&windows; funktioniert. Andere Host-Betriebssysteme arbeiten
mit allen drei Vorlagen. Die Kernelmodule
&man.usb.template.4; und &man.if.cdce.4; müssen
geladen sein.</para>
<para>Stellen Sie sicher, dass die notwendigen Module geladen
sind und die richtige Vorlage beim Booten gesetzt ist. Fügen
Sie dazu folgende Zeilen in
<filename>/boot/loader.conf</filename> ein:</para>
<programlisting>if_cdce_load="YES"
hw.usb.template=1</programlisting>
<para>Um das Modul zu laden und die Vorlage ohne Neustart zu
aktivieren, verwenden Sie:</para>
<screen>&prompt.root; <userinput>kldload if_cdce</userinput>
&prompt.root; <userinput>sysctl hw.usb.template=1</userinput></screen>
</sect1>
<sect1 xml:id="usb-device-mode-storage">
<title>Virtuelle <acronym>USB</acronym>-Speichergeräte</title>
<note>
<para>&man.cfumass.4; ist ein
<acronym>USB</acronym>-Gerätetreiber, der seit
&os;&nbsp;12.0 verfügbar ist.</para>
</note>
<para>Virtuelle Speichergeräte werden durch die Vorlagen 0 und 10
unterstützt. Die Kernelmodule &man.usb.template.4; und
&man.cfumass.4; müssen geladen sein. &man.cfumass.4; ist die
Schnittstelle zum CTL-Subsystem, das auch für
<acronym>iSCSI</acronym>- oder Fibre-Channel-Targets benutzt
wird. Auf dem Host können Initiatioren von
<acronym>USB</acronym>-Massenspeichern nur auf eine einzige
<acronym>LUN</acronym>, <acronym>LUN</acronym> 0
zugreifen.</para>
<sect2>
<title>Konfiguration von <acronym>USB</acronym>-Massenspeicher
Targets mit dem cfumass-Startskript</title>
<para>Der einfachste Weg, ein schreibgeschütztes
<acronym>USB</acronym>Speicherziel einzurichten, ist die
Verwendung des <filename>cfumass</filename> rc-Skripts.
Kopieren Sie einfach die Dateien, die dem
<acronym>USB</acronym>-Host präsentiert werden sollen, in das
Verzeichnis <filename>/var/cfumass</filename> und fügen Sie
diese Zeile in <filename>/etc/rc.conf</filename> ein:</para>
<programlisting>cfumass_enable="YES"</programlisting>
<para>Um das Ziel ohne Neustart zu konfigurieren, führen Sie
diesen Befehl aus:</para>
<screen>&prompt.root; <userinput>service cfumass start</userinput></screen>
<para>Im Gegensatz zur seriellen und Netzwerkfunktionalität
sollte die Vorlage in <filename>/boot/loader.conf</filename>
nicht auf 0 oder 10 gesetzt werden, da die
<acronym>LUN</acronym> vor dem Setzen der Vorlage
konfiguriert werden muss. Das <filename>cfumass</filename>
rc-Skript setzt beim Start automatisch die richtige
Vorlage.</para>
</sect2>
<sect2>
<title><acronym>USB</acronym>-Massenspeicher mit anderen
Werkzeugen konfigurieren</title>
<para>Der Rest dieses Kapitels enthält eine detaillierte
Beschreibung der Konfiguration ohne die Verwendung des
<filename>cfumass</filename> rc-Skripts. Dies ist
beispielsweise notwendig, wenn man eine beschreibbare
<acronym>LUN</acronym> zur Verfügung stellen will.</para>
<para>Im Gegensatz zu <acronym>iSCSI</acronym> ist es bei
<acronym>USB</acronym>-Massenspeichern nicht zwingend
erforderlich, dass der &man.ctld.8; Daemon läuft. Es
gibt zwei Möglichkeiten, das Target zu konfigurieren:
&man.ctladm.8; oder &man.ctld.8;. Beide erfordern, dass das
Kernelmodul <filename>cfumass.ko</filename> geladen ist.
Das Modul kann manuell geladen werden:</para>
<screen>&prompt.root; <userinput>kldload cfumass</userinput></screen>
<para>Wenn <filename>cfumass</filename> nicht im Kernel
integriert ist, kann <filename>/boot/loader.conf</filename>
angepasst werden, damit das Modul beim Booten geladen
wird:</para>
<programlisting>cfumass_load="YES"</programlisting>
<para>Eine <acronym>LUN</acronym> kann ohne den
&man.ctld.8; Daemon erstellt werden:</para>
<screen>&prompt.root; <userinput>ctladm create -b block -o file=/data/target0</userinput></screen>
<para>Dies stellt den Inhalt des Abbilds von
<filename>/data/target0</filename> als <acronym>LUN</acronym>
auf dem <acronym>USB</acronym>-Host dar. Die Datei muss vor
der Ausführung des Befehls vorhanden sein. Um die
<acronym>LUN</acronym> beim Systemstart zu konfigurieren,
muss das Kommando in <filename>/etc/rc.local</filename>
eingetragen werden.</para>
<para>&man.ctld.8; kann auch benutzt werden, um
<acronym>LUN</acronym>s zu verwalten. Dazu erstellen Sie eine
<filename>/etc/ctl.conf</filename> und fügen eine Zeile in
<filename>/etc/rc.conf</filename> hinzu, um sicherzustellen,
dass &man.ctld.8; beim Booten automatisch gestartet wird.
Danach kann der Daemon gestartet werden.</para>
<para>Es folgt ein Beispiel einer einfachen Konfiguration für
<filename>/etc/ctl.conf</filename>. Eine ausführliche
Beschreibung der Optionen finden Sie
in &man.ctl.conf.5;.</para>
<programlisting>target naa.50015178f369f092 {
lun 0 {
path /data/target0
size 4G
}
}</programlisting>
<para>Dieses Beispiel erstellt ein einzelnes Target
mit einer einzigen <acronym>LUN</acronym>.
<literal>naa.50015178f369f092</literal> ist eine
Gerätekennung, die aus 32 zufälligen
Hexadezimalziffern besteht.
<literal>path</literal> definiert den absoluten Pfad zu einer
Datei oder eines zvol, welches die
<acronym>LUN</acronym> als Speicher nutzen kann. Diese Datei
muss vor dem Start von &man.ctld.8; existieren. Die zweite
Zeile ist optional und definiert die Größe
der <acronym>LUN</acronym>.</para>
<para>Damit der &man.ctld.8; Daemon beim Booten gestartet wird,
muss diese Zeile in <filename>/etc/rc.conf</filename>
hinzugefügt werden:</para>
<programlisting>ctld_enable="YES"</programlisting>
<para>Sie können &man.ctld.8; mit diesem Befehl direkt
starten:</para>
<screen>&prompt.root; <userinput>service ctld start</userinput></screen>
<para>Der &man.ctld.8; Daemon liest beim Start
<filename>/etc/ctl.conf</filename>. Wenn diese Datei nach dem
Start des Daemons bearbeitet wird, müssen die Änderungen neu
geladen werden, damit sie sofort wirksam werden:</para>
<screen>&prompt.root; <userinput>service ctld reload</userinput></screen>
</sect2>
</sect1>
</chapter>