[Xen] Custom xen-enabled kernel

Pagina: 1
Acties:

  • DieterVDW
  • Registratie: Juli 2002
  • Laatst online: 12-02-2017
Hallo,

Ik probeer op een server machine Xen te installeren. Ik wil echter dat deze setup gebruik maakt van harddisks in een RAID-5 configuratie, waardoor ik een custom kernel moet compileren.
Ik heb al behoorlijk wat gelezen en geëxperimenteerd, maar ik kom er maar niet uit.

Even stapsgewijs schetsen wat ik reeds gedaan heb:
1. Xen code gedownload vanaf deze site: http://www.xen.org/download/
2. De instructies gevolgd van in de README in die tarbal:
code:
1
2
3
make linux-2.6-xen-config CONFIGMODE=menuconfig
make linux-2.6-xen-build
make linux-2.6-xen-install

3. Dit genereert een kernel image in /boot . Als ik deze dmv. grub probeer te starten, dan krijg ik steeds de volgende error:
code:
1
error 13: invalid or unsupported executable format


Het lijkt me alsof ik de code compileer voor het verkeerde platform oid.?
Ik vermoed dat ik in de war ben door de verschillende soorten kernel's die je nodig hebt voor Xen. Als ik het goed voorheb dan heb je 1 'echte' kernel, de dom0 kernel waarmee je je systeem boot, en die Xen extensies bevat? En dan heb je ook nog andere kernel's nodig (domU) die minder privileges hebben en bedoeld zijn om door Xen gebruikt te worden voor nieuwe virtuele machines?

Ik probeer nu gewoon mijn machine geboot te krijgen vanaf een Xen-enabled kernel. Dat zou al een leuke vooruitgang zijn. Als ik 'make linux-2.6-xen-config CONFIGMODE=menuconfig' uitvoer, dan kies ik de volgende instellingen:
code:
1
2
3
4
5
Processor type and features -->
       ...
       Subarchitecture type: Xen-compatible
       Processor family: Opteron/Athlon64/Hammer/K8
       ...

(De machine bevat 2 dual-core AMD Opteron processors.)

Het klopt toch dat ik vanaf een xen-enabled kernel moet booten als ik Xen wil gebruiken?
Welke instelling moet ik kiezen voor deze kernel: Xen-compatible? Of is dit enkel voor de kernels die bedoeld zijn voor virtuele machines?

Als iemand mij wat advies kan geven of wat helderheid scheppen, alvast bedankt!

Verwijderd

Kan je je /boot/grub/menu.lst en een ls -als van je /boot posten ?
Welke instelling moet ik kiezen voor deze kernel: Xen-compatible? Of is dit enkel voor de kernels die bedoeld zijn voor virtuele machines?
Als ik het me goed herinner is die optie inderdaad enkel voor kernels in paravirtualized DomU's. Niet Xen-Compatible kiezen voor de main Kernel.

  • wzzrd
  • Registratie: Februari 2000
  • Laatst online: 17-01 19:39

wzzrd

The guy with the Red Hat

Je boot primair het xen.img, waarna je met "image" statements in grub.conf je kernel en initrd laadt.

  • DieterVDW
  • Registratie: Juli 2002
  • Laatst online: 12-02-2017
Het vreemde is dat de kernel die ik krijg als ik 'make world' doe in de xen package, dus zonder enige tweaking aan kernel parameters, óók niet werkt. Als ik iets anders kies bij subarchitecture-type (PC-compatible), dan verdwijnen alle Xen parameters ook. Bovendien krijg ik dan compiler errors:

code:
1
2
3
4
5
6
7
8
9
10
11
/usr/src/xen-3.3.0/linux-2.6.18-xen.hg/arch/i386/kernel/asm-offsets.c: In function 'foo':
/usr/src/xen-3.3.0/linux-2.6.18-xen.hg/arch/i386/kernel/asm-offsets.c:79: warning: asm operand 0 probably doesn't match constraints
/usr/src/xen-3.3.0/linux-2.6.18-xen.hg/arch/i386/kernel/asm-offsets.c:79: error: impossible constraint in 'asm'
make[5]: *** [arch/i386/kernel/asm-offsets.s] Error 1
make[4]: *** [prepare0] Error 2
make[3]: *** [modules] Error 2
make[2]: *** [modules] Error 2
make[2]: Leaving directory `/usr/src/xen-3.3.0/build-linux-2.6.18-xen_x86_32'
make[1]: *** [build] Error 1
make[1]: Leaving directory `/usr/src/xen-3.3.0'
make: *** [linux-2.6-xen-install] Error 2


Mijn grub/menu.lst:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
default         0
fallback        1
fallback        2
fallback        3

## timeout sec
timeout         5

# Pretty colours
color cyan/blue white/blue

title           Debian GNU/Linux, kernel 2.6.18 (hd0,0)
kernel          (hd0,0)/vmlinuz-2.6.18 root=/dev/md2 ro md=0,/dev/sda1,/dev/sdb1,/dev/sdc1,/dev/sdd1 md=1,/dev/sda2,/dev/sdb2,/dev/sdc2,/dev/sdd2 md=2,/dev/sda5,/dev/sdb5,/dev/sdc5,/dev/sdd5 panic=20
initrd          (hd0,0)/initrd.img-2.6.18

title           Debian GNU/Linux, kernel 2.6.18 (hd1,0)
kernel          (hd1,0)/vmlinuz-2.6.18 root=/dev/md2 ro md=0,/dev/sda1,/dev/sdb1,/dev/sdc1,/dev/sdd1 md=1,/dev/sda2,/dev/sdb2,/dev/sdc2,/dev/sdd2 md=2,/dev/sda5,/dev/sdb5,/dev/sdc5,/dev/sdd5 panic=20
initrd          (hd1,0)/initrd.img-2.6.18

title           Debian GNU/Linux, kernel 2.6.18 (hd2,0)
kernel          (hd2,0)/vmlinuz-2.6.18 root=/dev/md2 ro md=0,/dev/sda1,/dev/sdb1,/dev/sdc1,/dev/sdd1 md=1,/dev/sda2,/dev/sdb2,/dev/sdc2,/dev/sdd2 md=2,/dev/sda5,/dev/sdb5,/dev/sdc5,/dev/sdd5 panic=20
initrd          (hd2,0)/initrd.img-2.6.18

title           Debian GNU/Linux, kernel 2.6.18 (hd3,0)
kernel          (hd3,0)/vmlinuz-2.6.18 root=/dev/md2 ro md=0,/dev/sda1,/dev/sdb1,/dev/sdc1,/dev/sdd1 md=1,/dev/sda2,/dev/sdb2,/dev/sdc2,/dev/sdd2 md=2,/dev/sda5,/dev/sdb5,/dev/sdc5,/dev/sdd5 panic=20
initrd          (hd3,0)/initrd.img-2.6.18

title           Debian GNU/Linux, kernel 2.6.18 Xen (hd0,0)
kernel          (hd0,0)/xen-i386-dom0.vmlinuz root=/dev/md2 ro md=0,/dev/sda1,/dev/sdb1,/dev/sdc1,/dev/sdd1 md=1,/dev/sda2,/dev/sdb2,/dev/sdc2,/dev/sdd2 md=2,/dev/sda5,/dev/sdb5,/dev/sdc5,/dev/sdd5 panic=20
initrd          (hd0,0)/initrd.img-2.6.18


Ik selecteer de laatste entry als ik de Xen kernel wil booten (die image is door xen daar gezet).
(De andere 4 entries zijn voor de normale kernel, 1 op elke HD.)

ls -als /boot:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
   1 drwxr-xr-x  5 root root    1024 2008-11-03 11:37 .
   4 drwxr-xr-x 21 root root    4096 2008-10-30 22:31 ..
   1 drwxr-xr-x  2 root root    1024 2008-10-31 16:25 grub
3665 -rw-r--r--  1 root root 3736285 2008-10-30 22:37 initrd.img-2.6.18
5179 -rw-r--r--  1 root root 5279862 2008-10-30 22:37 initrd.img-2.6.18-5-k7
  12 drwx------  2 root root   12288 2008-10-30 19:23 lost+found
 932 -rw-r--r--  1 root root  948576 2008-10-30 22:37 System.map
 932 -rw-r--r--  1 root root  948576 2008-10-30 22:37 System.map-2.6.18
 711 -rw-r--r--  1 root root  723395 2008-10-30 22:37 System.map-2.6.18-5-k7
 726 -rw-r--r--  1 root root  739134 2008-11-03 11:37 System.map-2.6.18.8-xen
 865 -rw-r--r--  1 root root  879757 2008-10-30 22:37 System.map-2.6.23.8
2055 -rw-r--r--  1 root root 2094766 2008-10-30 22:37 vmlinuz
2055 -rw-r--r--  1 root root 2094766 2008-10-30 22:37 vmlinuz-2.6.18
1245 -rw-r--r--  1 root root 1267762 2008-10-30 22:37 vmlinuz-2.6.18-5-k7
1545 -rw-r--r--  1 root root 1573915 2008-11-03 11:37 vmlinuz-2.6.18.8-xen
1606 -rw-r--r--  1 root root 1635448 2008-10-30 22:37 vmlinuz-2.6.23.8
1606 -rw-r--r--  1 root root 1635448 2008-10-30 22:37 vmlinuz.old
2019 -rw-r--r--  1 root root 2058170 2008-10-31 21:29 vmlinuz.xen-i386-dom0
2019 -rw-r--r--  1 root root 2058170 2008-10-31 21:28 xen-i386-dom0.vmlinuz
1890 -rw-r--r--  1 root root 1925385 2008-10-31 21:28 xen-i386-domU.vmlinuz

  • wzzrd
  • Registratie: Februari 2000
  • Laatst online: 17-01 19:39

wzzrd

The guy with the Red Hat

xen.img als kernel, de linux kernel en de initrd als 'image' in grub.conf, zoals ik eerder al zei.