Xen: domU kernel selber bauen

blueflash

Member of Honour
Hi,

ich möchte mir gern einen eigenen domU kernel samt unionfs support selber basteln.
Dazu verwende ich den 2.6.23.9 vanilla kernel, der ja laut infos als domU laufen kann.

Leider meckert xen bei "vm create" immer was von

Error: (22, 'Invalid argument')

Liegt das am kernel? Muss ich irgendwelche magischen Optionen setzen, oder liegt das an meiner xen Konfiguration?

danke im Voraus

blueflash
 

bitmuncher

Senior-Nerd
In den Xen-Logdateien sollten eigentlich genauere Infos dazu zu finden sein.
 

blueflash

Member of Honour
Tjoa,

das hatte ich auch gedacht, aber leider:

Code:
[2007-12-05 20:54:37 xend.XendDomainInfo 3375] DEBUG (__init__:1072) XendDomainInfo.create(['vm', ['name', 'vm-0001-fakeinit'], ['memory', 64], ['vcpus', 1], ['image', ['linux', ['kernel', '/boot/vmlinuz-2.6.23.9-xentest'], ['ramdisk', '/boot/initrd.xentest'], ['root', '/dev/sda1 ro'], ['args', '4']]], ['device', ['vbd', ['uname', 'file:/images/base/debian-4.0r1_amd64_libc-2.3.6.img'], ['dev', 'sda1'], ['mode', 'w']]], ['device', ['vbd', ['uname', 'file:/images/work/01_user.img'], ['dev', 'sda2'], ['mode', 'w']]], ['device', ['vbd', ['uname', 'file:/images/work/01_swap.img'], ['dev', 'sda3'], ['mode', 'w']]], ['device', ['vif']]])
[2007-12-05 20:54:37 xend.XendDomainInfo 3375] DEBUG (__init__:1072) parseConfig: config is ['vm', ['name', 'vm-0001-fakeinit'], ['memory', 64], ['vcpus', 1], ['image', ['linux', ['kernel', '/boot/vmlinuz-2.6.23.9-xentest'], ['ramdisk', '/boot/initrd.xentest'], ['root', '/dev/sda1 ro'], ['args', '4']]], ['device', ['vbd', ['uname', 'file:/images/base/debian-4.0r1_amd64_libc-2.3.6.img'], ['dev', 'sda1'], ['mode', 'w']]], ['device', ['vbd', ['uname', 'file:/images/work/01_user.img'], ['dev', 'sda2'], ['mode', 'w']]], ['device', ['vbd', ['uname', 'file:/images/work/01_swap.img'], ['dev', 'sda3'], ['mode', 'w']]], ['device', ['vif']]]
[2007-12-05 20:54:37 xend.XendDomainInfo 3375] DEBUG (__init__:1072) parseConfig: result is {'shadow_memory': None, 'uuid': None, 'on_crash': None, 'on_reboot': None, 'localtime': None, 'image': ['linux', ['kernel', '/boot/vmlinuz-2.6.23.9-xentest'], ['ramdisk', '/boot/initrd.xentest'], ['root', '/dev/sda1 ro'], ['args', '4']], 'on_poweroff': None, 'bootloader_args': None, 'cpus': None, 'name': 'vm-0001-fakeinit', 'backend': [], 'vcpus': 1, 'cpu_weight': None, 'features': None, 'vcpu_avail': None, 'memory': 64, 'device': [('vbd', ['vbd', ['uname', 'file:/images/base/debian-4.0r1_amd64_libc-2.3.6.img'], ['dev', 'sda1'], ['mode', 'w']]), ('vbd', ['vbd', ['uname', 'file:/images/work/01_user.img'], ['dev', 'sda2'], ['mode', 'w']]), ('vbd', ['vbd', ['uname', 'file:/images/work/01_swap.img'], ['dev', 'sda3'], ['mode', 'w']]), ('vif', ['vif'])], 'bootloader': None, 'cpu': None, 'maxmem': None}
[2007-12-05 20:54:37 xend.XendDomainInfo 3375] DEBUG (__init__:1072) XendDomainInfo.construct: None
[2007-12-05 20:54:37 xend.XendDomainInfo 3375] DEBUG (__init__:1072) XendDomainInfo.initDomain: 19 1.0
[2007-12-05 20:54:37 xend 3375] DEBUG (__init__:1072) Balloon: 130656 KiB free; need 65536; done.
[2007-12-05 20:54:37 xend 3375] INFO (__init__:1072) buildDomain os=linux dom=19 vcpus=1
[2007-12-05 20:54:37 xend 3375] DEBUG (__init__:1072) dom            = 19
[2007-12-05 20:54:37 xend 3375] DEBUG (__init__:1072) image          = /boot/vmlinuz-2.6.23.9-xentest
[2007-12-05 20:54:37 xend 3375] DEBUG (__init__:1072) store_evtchn   = 1
[2007-12-05 20:54:37 xend 3375] DEBUG (__init__:1072) console_evtchn = 2
[2007-12-05 20:54:37 xend 3375] DEBUG (__init__:1072) cmdline        =  root=/dev/sda1 ro 4
[2007-12-05 20:54:37 xend 3375] DEBUG (__init__:1072) ramdisk        = /boot/initrd.xentest
[2007-12-05 20:54:37 xend 3375] DEBUG (__init__:1072) vcpus          = 1
[2007-12-05 20:54:37 xend 3375] DEBUG (__init__:1072) features       = 
[2007-12-05 20:54:37 xend.XendDomainInfo 3375] ERROR (__init__:1072) Domain construction failed
Traceback (most recent call last):
  File "/usr/lib/xen-3.0.3-1/lib/python/xen/xend/XendDomainInfo.py", line 195, in create
    vm.initDomain()
  File "/usr/lib/xen-3.0.3-1/lib/python/xen/xend/XendDomainInfo.py", line 1363, in initDomain
    raise VmError(str(exn))
VmError: (22, 'Invalid argument')
 

Heinzelotto

New member
Original von bitmuncher
Benutzt du ein 64bit-System?

da der Fehler in zusammenhang mit zwei Python-Skripten steht, und der Interpreter wohl auch unter 64bit umgebungen funktioniert, denke ich nicht, dass das das Problem ist, oder?

Edit: ups =)
 

bitmuncher

Senior-Nerd
@Heinzelotto: Ich denke schon, dass das Problem das 64bit-System ist, da der Fehler bei verschieden Linux- und BSD-Systemen nur in Verbindung mit 64bit-Systemen auftritt.
 

blueflash

Member of Honour
Da sollte doch aber irgendein Grund existieren. Mit nem anderen Kernel (speziell geXENt) geht das doch auch!
 

bitmuncher

Senior-Nerd
Bisher konnte ich noch keinen Grund finden, hatte aber ein ähnliches Problem bei blog.de im Office-Netzwerk auch schon.
 

blueflash

Member of Honour
Hmm, was ist denn mit nem 32bit kernel? Würde das hinhauen?

edit: Ok, wie sich herausgestellt hat, war es wohl keine sehr gute Idee, auf einem 2.6.18er Host einen 2.6.23er Gast laufen lassen zu wollen...
Oder geht das wenigstens per hardware virtualisierung?
 

treo

New member
Ich kenn den Fehler schon etwas länger,
im detail sagt er aus das du einen PAE kernel nicht auf einem nicht PAE system starten kannst und umgekehrt.
(zumindest kenne ich diesen Fehler nur genau aus diesem zusammenhang, hat auch ewig gedauert bis ich diese erklärung gefunden habe)
Du musst also nachschauen was für einen Kernel du gerade hast, und einen passenden Kernel musst du dann auch bauen.
 
Oben