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ü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>