Adieu Kettenkarussell Xen

wall < "Xen-3.3.0 & HVM-USB-Support"

Broadcast message from spillerm@unixe.de (pts/1) (Fr Okt 31 14:28:02 2008):
4
Diesen Beitrag schrieb ich vor 10 Jahren. Behalte das beim Lesen bitte im Hinterkopf.

Oder: mit Apples X11.app geht nichts, also machen wir’s auf der dom0

Während ich mich weiter mit dem Problem befasste fiel mir auf, dass in der Xen-Gemeinde offenbar doch sehr hohe Verwirrung herrscht; deshalb fasse ich mal kurz zusammen, wie man die Sache angehen kann: ich habe auf der dom0 einen grundlegenden X-Server installiert (apt-get install xserver-xorg xfonts-base xterm fvwm), Maus sowie Tastatur angeschlossen und den Server mal gestartet — das funktionierte.

Hinweis Sollte es nicht funktionieren mit einer Fehlermeldung wie der nachfolgenden, ist das Paket xfonts-base nicht ordnungsgemäss installiert!

Could not init font path element /usr/share/fonts/X11/misc:unscaled, removing from list!
Could not init font path element /usr/share/fonts/X11/misc, removing from list!
Could not init font path element /usr/share/fonts/X11/Speedo, removing from list!
Could not init font path element /usr/share/fonts/X11/PEX, removing from list!
Could not init font path element /usr/share/fonts/X11/cyrillic, removing from list!
Could not init font path element /usr/share/fonts/truetype, removing from list!
Could not init font path element /usr/share/fonts/latex-ttf-fonts, removing from list!
 
Fatal server error:
could not open default font 'fixed'

Dann per lsusb schauen: welche Geräte sind gerade da? In meinem Fall sieht das dann etwa so aus:

Bus 003 Device 011: ID 045e:0025 Microsoft Corp. IntelliEye Mouse
Bus 003 Device 004: ID 04b4:6560 Cypress Semiconductor Corp. CY7C65640 USB-2.0 "TetraHub"
Bus 003 Device 003: ID 04b4:6560 Cypress Semiconductor Corp. CY7C65640 USB-2.0 "TetraHub"
Bus 003 Device 001: ID 0000:0000  
Bus 001 Device 003: ID 04d9:1603 Holtek Semiconductor, Inc. 
Bus 001 Device 001: ID 0000:0000  
Bus 002 Device 001: ID 0000:0000

Dann stöpfle ich mein USB-Device an und rufe erneut lsusb auf und sehe: es ergab sich eine Änderung, eine Zeile kam dazu:

Bus 003 Device 013: ID 13fe:3123

Hat zwar keinen Namen, aber das ist mein Device — hach, schön. Im fvwm starte ich nun ein xterm, und aus diesem xterm heraus starte ich die domU, die in ihrem SDL-Fenster hochkommt:

$ xm create galaxy

Innerhalb des SDL-Fensters kann ich nun (erfolgreich) die Tastenkombination Ctrl+Alt+2 ausführen und gelange tatsächlich in den Monitor des Qemu — hurra! Nun muss ich an dieser Stelle mein USB-Device (bei mir ist das ein 4GB-Stick) bekanntmachen:

$ usb_add host:13fe:3123

Hinweis Erscheint als Reaktion auf diese Eingabe ein lapidares »Could not add host:13fe:3123«, so wurde in der Konfiguration der domU die Option usb=1 vergessen!

Den Monitor kann ich mittels Ctrl+Alt+1 wieder verlassen. Ich logge mich nun in die domU ein, rufe ein dmesg auf und sehe folgendes:

usb 1-2: new full speed USB device using uhci_hcd and address 2
usb 1-2: configuration #1 chosen from 1 choice
SCSI subsystem initialized
Initializing USB Mass Storage driver...
scsi0 : SCSI emulation for USB Mass Storage devices
usbcore: registered new driver usb-storage
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
USB Mass Storage support registered.
  Vendor: Verbatim  Model: STORE N GO        Rev: 5.00
  Type:   Direct-Access                      ANSI SCSI revision: 00
usb-storage: device scan complete
SCSI device sda: 7935104 512-byte hdwr sectors (4063 MB)
sda: Write Protect is off
sda: Mode Sense: 23 00 00 00
sda: assuming drive cache: write through
SCSI device sda: 7935104 512-byte hdwr sectors (4063 MB)
sda: Write Protect is off
sda: Mode Sense: 23 00 00 00
sda: assuming drive cache: write through
 sda: sda1
sd 0:0:0:0: Attached scsi removable disk sda

Ausserdem mache ich mal ein lsusb und erhalte als Output dies hier:

galaxy:~$ lsusb 
Bus 001 Device 002: ID 13fe:3123

That’s it!

Von meiner Apple-Workstation aus funktioniert es halt nicht — schätzungsweise müsste man da mal einen Bugreport an Apple schicken, damit diese elende Tastenkombination auch unter X11.app benutzbar wird. Davon abgesehen funktioniert diese Sache so ziemlich grossartig.

Hinweis Um das Device wieder zu entfernen arbeitet man nicht mehr mit dem host:vendor_id:product_id-Key, sondern mit der Bus-Adresse. Da die Ausgabe bei mir Bus 001 Device 002: ID 13fe:3123 lautete, ist die Adresse zum Entfernen des Geräts die 0.2 — im Qemu-Monitor also usb_del 0.2 eingeben und anschliessend im dmesg staunen, dass das Gerät tatsächlich entfernt wurde ;) Doch Vorsicht: allzu willenloses Spielen mit den Parametern kann dazu führen, das du aus Versehen deine USB-Maus (die wohl per default immer auf 0.1 sitzt) deaktivierst.

Damit das funktioniert, musste ich in der Konfiguration der domU einige Anpassungen vornehmen; nachfolgend die Konfiguration, die markanten stellen sind fett hervorgehoben

## kernel and memory
kernel	= '/usr/lib/xen/boot/hvmloader'
builder	= 'hvm'
device_model = '/usr/lib/xen/bin/qemu-dm'
memory	= '2048'

## display options
vnc=0
sdl=1
monitor=1
usb=1
keymap='en-us'

## disk devices
disk	= [ 'file:/vm/galaxy/main.img,hda,w', 'file:/vm/galaxy/data.img,hdb,w' ]
boot	= 'c'

## power
vcpus	= '2'

## networking and hostname
vif	= [ 'mac=00:02:02:c0:ff:ee' ]
dhcp	= 'dhcp'
name	= 'galaxy'

## behaviour
on_poweroff	= 'destroy'
on_reboot	= 'restart'
on_crash	= 'restart'
4
  1. Hi,
    nein ich muss zugeben: das hab ich noch nicht probiert. Ich hab aber auch festgestellt, dass so ein SDL-Fenster, hat man es einmal geschlossen, offenbar unwiederbringbar weg ist… Wargh, nicht gut. Aber da ich gerade Wochenende hab, denk ich zwei Tage lang nicht drüber nach ;)

    Und zu dem anderen: hmmmm danke :-] Ich hab denk ja durchaus drüber nach, irgendwas zu schreiben, das umfangreicher ist als ein Blog-Artikel — mir fehlen bloss die Ideen ;)

  2. hi…

    zuersteinaml…
    hast du mal das Packet von http://xquartz.macosforge.org installiert? Das behebt ein paar Probleme mit X11 unter MacOS.
    Ich weiss allerdings nicht, ob da Tastenkürzel auch drunter zählen :-D.

    Zweitens hmmmm ich weiss nicht ob man das nun als Kompliment sehen kann… aber irgendwie solltest Du Handbücher oder sowas schreiben…. lässt sich wirklich angenehm lesen… auch wenn die Zeiten, in denen ich mich mit XEN befasst habe, vorbei sind ^^. Letztendlich gingen damals Plan und tatsächliche Auslastung der Maschine auseinander.

Keine weitere Reaktionen mehr möglich.