Portál AbcLinuxu, 13. května 2025 00:20
pv_ops
)
Udajně je kombinace 32bit dom0 + 32/64bit domU nejspolehlivější, něco na tom bude když Citrix to tak má v hlavním produktu - XenServeru.
Můžu poskytnout postup kompilace toho jádra do podoby Debian balíků. Mám to zatím jen pár týdnů v testovacím prostředí s malou zátěží, takže přesnější iformace o stabilitě nedodám. Nicméně stabilita samotného XenServeru je perfektní.
export ARCH=x86
.
Celý postup jsem dělal pod rootem. Vím, že to není správné, ale na testovacím stroji je mi to jedno a neměl jsem čas řešit další problémy, kterých už tak bylo dost (rozbité kpkg skripty).
1) Stáhneme [Source ISO Xen-Kernel (md5): Xen/Dom0 Kernel]
, bohužel má cca 1 GB, protože je tam všechno možné:
wget http://www.xen.org/files/XenCloud/Software/latest/sources/source-1.iso
2) Instalace potřebných debian balíků:
apt-get install rpm kernel-package
3) Upravíme /etc/kernel-pkg.conf
- Lze nastavit Maintainer info, popř. další věci
mcedit /etc/kernel-pkg.conf
4) Připojíme source-1.iso na /mnt/iso, rozbalíme source rpm:
mkdir /mnt/iso
mount -o loop source-1.iso /mnt/iso/
mkdir /root/xcpkernel
cd /root/xcpkernel
rpm2cpio /mnt/iso/kernel-dom0/kernel-2.6.27.42-0.1.1.xs0.1.1.737.1065.src.rpm | cpio -idmv
umount /mnt/iso
5) Rozbalíme zdrojový tarball jádra:
cd /usr/src
tar xf /root/xcpkernel/linux-2.6.27.42-0.1.1.xs0.1.1.737.1065.tar.bz2
ln -s /usr/src/linux-2.6.27.42-0.1.1.xs0.1.1.737.1065/ linux
cd linux
cp /root/xcpkernel/kernel-2.6.27.42-0.1.1.xs0.1.1.737.1065-i686-xen.config .config
Upravíme config - je dobré vypnout CONFIG_DEBUG_KERNEL
, jinak mají moduly cca 5× větší objem; 'local version append' nenastavovat. Nezapomeneme na konci na uložení do souboru .config
.
make menuconfig ARCH=x86
Pak je tu jeden problém, Debian balík make-kpkg
obsahuje kompilační skripty, které nejsou úplně kompatibilní s různými xen jádry (jde přeci jen o patche mimo hlavní řadu). Je třeba upravit soubor /usr/share/kernel-package/ruleset/arches/i386.mk
do podoby přiložené k tomuto příspěvku.
Zkompilujeme rovnou do podoby .deb:
CONCURRENCY_LEVEL=5 make-kpkg --arch i386 --append-to-version .xs0.1.1.737.1065-vsis-generic --initrd --revision 1 kernel_image modules_image kernel_headers
Balíky máme připravené v /usr/src, nainstalujeme je na dom0. Pozor na to, aby se správně vygeneroval initrd. Záznam v grubu může vypadat asi takhle:
title Xen 3.2-1-amd64 / Debian GNU/Linux, kernel 2.6.27.42-0.1.1.xs0.1.1.737.1065-vsis-generic
root (hd0,0)
kernel /xen-3.2-1-amd64.gz dom0_mem=360M
module /vmlinuz-2.6.27.42-0.1.1.xs0.1.1.737.1065-vsis-generic root=/dev/mapper/vgdeb0-root ro console=tty0
module /initrd.img-2.6.27.42-0.1.1.xs0.1.1.737.1065-vsis-generic
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.