Xen-3.3.0 & HVM-USB-Support
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äß 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 `domUv, 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
Außerdem 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 großartig.
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 anschließend 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.
## 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'
2 Kommentare
Von: Philipp
2008-11-01 01:29:28 +0100
hi...
zuersteinaml...
hast du mal das Packet von http://xquartz.macosforge.org installiert? Das behebt ein paar Probleme mit X11 unter MacOS.
Ich weiß allerdings nicht, ob da Tastenkürzel auch drunter zählen :-D.
Zweitens hmmmm ich weiß 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.
Von: spillerm
2008-11-01 16:33:39 +0100
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 bloß die Ideen ;)
Hinterlasse einen Kommentar
Ich freue mich über jeden Kommentar, es sei denn, er ist blöd.
Deshalb sind die Kommentare auf dieser Seite auch generell moderiert.