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: port-xen
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&uuml;r die neue Domain.
 memory = 128

-# Hier wird ein Name f&uuml;r die neue Domain vergeben, der u.&nbsp;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&uuml;r die neue Domain vergeben, der u.&nbsp;a. als
+# Bezeichnung in der Ausgabe des Befehls 'xm list' erscheint. Diese
+# Bezeichnung kann anstelle der Domain-Nummer als Parameter
 # f&uuml;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&uuml;r
+# diese Domain zugewiesen werden soll verwende den Wert 1.
 cpu = -1   # behalte diesen Wert bei, um Xen die Auswahl zu 
&uuml;berlassen.

 #----------------------------------------------------------------------------
 # Netzwerkschnittstellen f&uuml;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&uuml;r die 
Netzwerkschnittstelle.
+# Definiere MAC-Adresse und/oder Bridge f&uuml;r die Netzwerkschnittstelle.
+#
 # Zuf&auml;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&auml;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 &uuml;bergeben.
-# Wir k&ouml;nnen alle m&ouml;gliche Informationen hier &uuml;bergeben.
-# In unserem Beispiel wird xvif nicht der Bridge hinzugef&uuml;gt,
+#
+# In diesem Beispiel wird xvif der bridge0 hinzugef&uuml;gt, welche 
konfiguriert
+# sein sollte bevor die neue domain erstellt wird. Entweder im 
``network''-Skript
+# oder unter Verwendung der Datei /etc/ifconfig.bridge0.
 # daf&uuml;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&uuml;r das
-# Ger&auml;t steht. VDEV ist der Name, den die Domain sehen wird;
-# anstelle von MODE wird "r" f&uuml;r nur lesenden oder "w" f&uuml;r
-# lesenden und schreibenden Zugriff angegeben.
+# Jeder Eintrag hat das Format:
+#
+#      phy:DEV,VDEV,MODE
+#
+# wobei DEV f&uuml;r das Ger&auml;t steht. VDEV ist der Name, den die 
Domain
+# sehen wird; anstelle von MODE wird "r" f&uuml;r nur lesenden oder "w" 
f&uuml;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&uuml;r NetBSD-Gastbetriebssysteme, 
aber
 # f&uuml;r Linux. Unangenehmer ist, dass das Ger&auml;t in /dev/ der 
domain0
 # vorhanden sein muss, weil xm einen stat() (Statusabfrage) darauf 
versuchen
@@ -317,6 +335,7 @@
 # mit den Ger&auml;tenummern (major/minor) von Linux erstellen m&uuml;ssen.

 disk = [ 'phy:/dev/wd0e,wd0d,w' ]
+#disk = [ 'file:/var/xen/nbsd-disk,wd0d,w' ]

 #----------------------------------------------------------------------------
 # Kernel-Befehlszeile f&uuml;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&uuml;tzt dann routing und
-      NAT f&uuml;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&auml;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&uuml;r "up" oder "down" 
konfiguriert ist.
-# Dieses Script ist die Vorgabe -- aber es kann f&uuml;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&uuml;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&ouml;tigt).
@@ -366,7 +389,7 @@
 # bridge  Bridge zum Hinzuf&uuml;gen der vif (wird ben&ouml;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

 # &Uuml;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&auml;ssig ist der Wert null (bleib tatenlos)
+
 # Gehen wir "up" oder "down"?
 case $OP in
-    up)
-       # ${bridge} enth&auml;lt in unserem Fall ifconfig-Parameter.
-        # Es k&ouml;nnten ebenfalls Parameter f&uuml;r brctl,
-        # oder irgend etwas Anderes enthalten sein.
-       # xend &uuml;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&uuml;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&auml;te PCI-Bus 0, Ger&auml;t 4,
+    Funktion 2 und PCI-Bus 0, Ger&auml;t 6, Funktion 0 sowie PCI-Bus 1,
+    Ger&auml;t 0, Funktion 0 unkenntlich machen wollen, geben Sie die Werte
+    wie folgt an (Beachten Sie hierbei, da&szlig; die Werte bei der 
&Uuml;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&auml;chstes bauen Sie einen domainU-Kernel mit
     Unterst&uuml;tzung f&uuml;r die Ger&auml;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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
     <a href="Ports/vax/">vax</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
     <a href="../Ports/x68k/">x68k</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-    <a href="../Ports/xen/">xen</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+    <a href="Ports/xen/">xen</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

        </font>
     <p>