Subject: current german xen-howto and german index.html
To: None <port-xen@NetBSD.org, netbsd-docs@NetBSD.org,>
From: =?ISO-8859-1?Q?Rainer_Brinkm=F6ller?= <rainer.brinkmoeller@web.de>
List: netbsd-docs-de
Date: 11/09/2005 21:02:06
Because of this changes in the original howto (and something in the 
pci-devices part):
http://mail-index.netbsd.org/port-xen/2005/11/08/0000.html
I'd changed the german translation.
Also the german index.html have to be changed to link to the german 
version of NetBSD/xen
The xml-, html-File and the diff outputs can be downloaded from 
http://rbrinkmo.pytalhost.de/nbsddocs.html
@Roland:
Würdest du bitte mal wieder drüber schauen wenn du Zeit hast. Danke.
*************************************************************************************************
Index: howto.xml
===================================================================
RCS file: /cvsroot/htdocs/de/Ports/xen/howto.xml,v
retrieving revision 1.8
diff -b -u -r1.8 howto.xml
--- howto.xml   9 Oct 2005 22:45:08 -0000       1.8
+++ howto.xml   9 Nov 2005 20:29:35 -0000
@@ -272,43 +272,61 @@
 # Zuweisung des Arbeitsspeicher (in Megabyte) für die neue Domain.
 memory = 128
-# Hier wird ein Name für die neue Domain vergeben, der u. a.
-# als Bezeichnung in der Ausgabe des Befehls 'xm list' erscheint. Diese
-# Bezeichnung kann ebenfalls anstelle der Domain-Nummer als Parameter
+# Hier wird ein Name für die neue Domain vergeben, der u. a. als
+# Bezeichnung in der Ausgabe des Befehls 'xm list' erscheint. Diese
+# Bezeichnung kann anstelle der Domain-Nummer als Parameter
 # für xm-Befehle verwendet werden.
+# Achte daher darauf, dass sich dieser Wert von denen anderer
+# Konfigurationsdateien unterscheidet.
 name = "nbsd"
 # Welche CPU soll zum Starten der Domain verwendet werden?
-# Nur bei SMP-Hardware relevant.
+# Nur bei SMP-Hardware relevant. Die Nummerierung der Prozessoren
+# beginnt bei 0. Wenn z.B. der 2. von 2 Prozessoren für
+# diese Domain zugewiesen werden soll verwende den Wert 1.
 cpu = -1   # behalte diesen Wert bei, um Xen die Auswahl zu 
überlassen.
 #----------------------------------------------------------------------------
 # Netzwerkschnittstellen für die neue domain.
-# Anzahl der Netzwerkschnittstellen. Standard ist 1.
+# Anzahl der Netzwerkschnittstellen (muss mindestens 1 sein). Standard 
ist 1.
 nics=1
-# Definiere optionale MAC-Adresse und/oder Bridge für die 
Netzwerkschnittstelle.
+# Definiere MAC-Adresse und/oder Bridge für die Netzwerkschnittstelle.
+#
 # Zufällige MAC-Adressen werden vergeben, sofern keine zugewiesen 
wird.
-# Die zugewiesene MAC-Adresse wird von der Schnittstelle der neuen Domain
-# verwendet. Die Schnittstelle in domain0 verwendet diese Adresse 
ge-xor-t mit
-# 00:00:00:01:00:00 (z.B. aa:00:00:51:02:f0 in unserem Beispiel).
-# Wenn xend eine neue Domain erstellt, wird das vif-Script aufgerufen,
+# Die als Wert von ``mac'' zugewiesene MAC-Adresse wird von der 
Schnittstelle
+# der neuen Domain verwendet. Die Schnittstelle in domain0 verwendet diese
+# Adresse ge-xor-t mit 00:00:00:01:00:00 (z.B. aa:00:00:51:02:f0 in 
unserem Beispiel).
+# Sofern keine MAC-Adresse angegeben ist wird eine zufällig generierte
+# Adresse zugewiesen.
+#
+# Wenn xend(8) eine neue Domain erstellt, wird das vif-Script aufgerufen,
 # um die xvif-Schnittstelle in domain0 zu konfigurieren. Hierbei wird der
 # erforderliche Parameter 'bridge' an das vif-Script übergeben.
-# Wir können alle mögliche Informationen hier übergeben.
-# In unserem Beispiel wird xvif nicht der Bridge hinzugefügt,
+#
+# In diesem Beispiel wird xvif der bridge0 hinzugefügt, welche 
konfiguriert
+# sein sollte bevor die neue domain erstellt wird. Entweder im 
``network''-Skript
+# oder unter Verwendung der Datei /etc/ifconfig.bridge0.
 # dafür aber mit einer privaten Adresse konfiguriert.
-vif = [ 'mac=aa:00:00:50:02:f0, bridge=10.0.0.254 netmask 255.255.255.0' ]
+vif = [ 'mac=aa:00:00:50:02:f0, bridge=bridge0' ]
 #----------------------------------------------------------------------------
 # Die Festplatte, auf die die Domain Zugriff haben soll und wie diese
 # erreichbar sein wird.
-# Jeder Eintrag hat das Format phy:DEV,VDEV,MODE, wobei DEV für das
-# Gerät steht. VDEV ist der Name, den die Domain sehen wird;
-# anstelle von MODE wird "r" für nur lesenden oder "w" für
-# lesenden und schreibenden Zugriff angegeben.
+# Jeder Eintrag hat das Format:
+#
+#      phy:DEV,VDEV,MODE
+#
+# wobei DEV für das Gerät steht. VDEV ist der Name, den die 
Domain
+# sehen wird; anstelle von MODE wird "r" für nur lesenden oder "w" 
für
+# lesenden und schreibenden Zugriff angegeben. Sofern die neue Domain 
innerhalb
+# einer Datei statt einer eigenen Partition erzeugt werden soll, hat 
der Eintrag
+# das Format:
+#
+#      file:PATH,VDEV,MODE
+#
 # VDEV ist nicht wirklich relevant für NetBSD-Gastbetriebssysteme, 
aber
 # für Linux. Unangenehmer ist, dass das Gerät in /dev/ der 
domain0
 # vorhanden sein muss, weil xm einen stat() (Statusabfrage) darauf 
versuchen
@@ -317,6 +335,7 @@
 # mit den Gerätenummern (major/minor) von Linux erstellen müssen.
 disk = [ 'phy:/dev/wd0e,wd0d,w' ]
+#disk = [ 'file:/var/xen/nbsd-disk,wd0d,w' ]
 #----------------------------------------------------------------------------
 # Kernel-Befehlszeile für die neue Domain.
@@ -338,10 +357,9 @@
       virtuelle Netzwerkkarte der <emphasis>domain0</emphasis> ein
       Script auf (<filename>/usr/pkg/etc/xen/vif-bridge</filename>).
       Dieses Script kann verwendet werden, um automatisch die
-      xvif?.?-Schnittstelle der <emphasis>domain0</emphasis> zu
-      konfigurieren. In diesem Beispiel bezieht diese Schnittstelle eine
-      IP (<emphasis>domain0</emphasis> unterstützt dann routing und
-      NAT für Internet-Zugang via IPF).</para>
+      xvif?.?-Schnittstelle der <emphasis>domain0</emphasis> zu 
konfigurieren.
+      In diesem Beispiel wird eine Bridge anhand des, in der 
<emphasis>domain0</emphasis>
+      erzeugten, bridge0-Gerätes generiert.</para>
       <para>Das Folgende ist eine brauchbare
       <filename>/usr/pkg/etc/xen/vif-bridge</filename>
@@ -352,12 +370,17 @@
 #============================================================================
 # /usr/pkg/etc/xen/vif-bridge
 #
-# Script zur Konfiguration von vif.
-# Xend ruft ein vif-Script auf, sofern vif für "up" oder "down" 
konfiguriert ist.
-# Dieses Script ist die Vorgabe -- aber es kann für jede vif 
konfiguriert werden.
+# Script zur Konfiguration von vif im Modus "bridged" anhand einer 
dom0-Schnittstelle.
+# Der xend(8)-Dienst ruft ein vif-Script auf wenn vif "up" oder "down" 
geht.
+# Der zu verwendende Skriptname ist im Bereich ``vif-script'' der Datei
+# /usr/pkg/etc/xen/xend-config.sxp festgelegt.
 #
 # Aufruf:
-# vif-bridge (up|down) {VAR=VAL}*
+# vif-bridge up|down [var=value...]
+#
+# Aktion:
+#    up                Fügt die vif-Schnittstelle zur Bridge hinzu.
+#    down      Entfernt die vif-Schnittstelle von der Bridge.
 #
 # Variablen:
 # domain  Name der Domain, deren Schnittstelle "on" ist (wird 
benötigt).
@@ -366,7 +389,7 @@
 # bridge  Bridge zum Hinzufügen der vif (wird benötigt).
 #
 # Beispiel:
-# vif-bridge up domain=VM1 vif=vif1.0 bridge=xen-br0 mac=aa:00:00:50:02:f0
+# vif-bridge up domain=VM1 vif=xvif1.0 mac="ee:14:01:d0:ec:af" 
bridge=bridge0
 #
 #============================================================================
@@ -377,8 +400,7 @@
 echo "vif-bridge $*"
 # Betriebsbezeichnung ("up" oder "down").
-OP=$1
-shift
+OP=$1; shift
 # Übertragen der Variablen aus args in die Umgebung
 for arg ; do export "${arg}" ; done
@@ -389,27 +411,34 @@
 mac=${mac:?}
 bridge=${bridge:?}
+# Optionale Parameter. Setzt Vorgaben.
+ip=${ip:-''}   # Standardmässig ist der Wert null (bleib tatenlos)
+
 # Gehen wir "up" oder "down"?
 case $OP in
-    up)
-       # ${bridge} enthält in unserem Fall ifconfig-Parameter.
-        # Es könnten ebenfalls Parameter für brctl,
-        # oder irgend etwas Anderes enthalten sein.
-       # xend übergibt vif?.? als Schnittstellenname,
-       # aber unter NetBSD werden sie xvif?.? genannt.
-       ifconfig x${vif} ${bridge}
-       exit 0
-
-       ;;
-    down)
-       exit 0
-       ;;
-    *)
+up)    brcmd='add' ;;
+down)  brcmd='delete' ;;
+*)
        echo 'Invalid command: ' $OP
        echo 'Valid commands are: up, down'
        exit 1
        ;;
 esac
+
+# Bleibe tatenlos wenn der Wert von Bridge "null" ist.
+if [ "${bridge}" = "null" ] ; then
+       exit
+fi
+
+# Bleibe tatenlos wenn keine Bridge vorhanden ist.
+if ! ifconfig -l | grep "${bridge}" >/dev/null; then
+       exit
+fi
+
+# Hinzufügen/Entfernen von vif zum/von Bridge.
+ifconfig x${vif} $OP
+brconfig ${bridge} ${brcmd} x${vif}
+
 #Ende von /usr/pkg/etc/xen/vif-bridge
 </programlisting>
@@ -596,6 +625,16 @@
 physdev_dom0_hide='(%02x:%02x.%1x)(%02x:%02x.%1x)...'
 </programlisting>
+    <para>Wenn Sie zum Beispiel die Geräte PCI-Bus 0, Gerät 4,
+    Funktion 2 und PCI-Bus 0, Gerät 6, Funktion 0 sowie PCI-Bus 1,
+    Gerät 0, Funktion 0 unkenntlich machen wollen, geben Sie die Werte
+    wie folgt an (Beachten Sie hierbei, daß die Werte bei der 
Übergabe an
+    physdev_dom0_hide als Hexadezimal-Zahlen interpretiert werden):
+
+<programlisting>
+physdev_dom0_hide='(00:04.2)(00:06.0)(01:00.0)'
+</programlisting>
+
     <para>Als nächstes bauen Sie einen domainU-Kernel mit
     Unterstützung für die Geräte, die Sie verwenden
     wollen. Hier ein Beispiel:</para>
*************************************************************************************************
cvs diff -bu index.html (de - german) output:
Index: index.html
===================================================================
RCS file: /cvsroot/htdocs/de/index.html,v
retrieving revision 1.519
diff -b -u -r1.519 index.html
--- index.html  10 Oct 2005 00:54:14 -0000      1.519
+++ index.html  9 Nov 2005 20:32:32 -0000
@@ -346,7 +346,7 @@
     <a href="../Ports/sun3/">sun3</a>     
     <a href="Ports/vax/">vax</a>      
     <a href="../Ports/x68k/">x68k</a>     
-    <a href="../Ports/xen/">xen</a>      
+    <a href="Ports/xen/">xen</a>      
        </font>
     <p>