Kernel dom0 (linux-2.6.18) para Slackware
O Xen trabalha com o conceito de paravirtualização. E é a implementação deste conceito que dá ao Xen o ganho em performance, comparado aos outros softwares de virtualização, que trabalham com o conceito de virtualização completa, ou full virtualization.
Dito isto, é importante esclarecer que iremos trabalhar com 2 kernels. Um kernel para o host (hoespedeiro) e outro kernel para as máquinas guests (visitantes). O kernel para o host, também chamado de Domain0 (dom0) deverá ter suporte ao Xen, em modo Dom0, além de todos os outros drivers que permintam o funcionamento do hardware existente em seu PC.
Atenção: Não esqueça de habilitar os módulos de drives de seu hardware!!!
O objetivo deste post é a mostrar como criar o pacote do kernel dom0, com o kernel Xen official, linux-2.6.18 no Slackware. Uma apresentação mais minuciosa dos módulos necessários em cada kernel será feita em um outro post.
Compilando o Dom0
Para compilar o Dom0 execute os seguintes passos:
make linux-2.6-xen0-config CONFIGMODE=menuconfig
Dar enter para todas as perguntas, e no menuconfig configure o kernel de acordo com suas necessidades.
Cache clean pages in transcendent memory (PRECACHE) [N/y/?] (NEW) Swap pages to transcendent memory (PRESWAP) [N/y/?] (NEW) PCI Device Reservation for Passthrough (PCI_GUESTDEV) [Y/n/?] (NEW) PCI Device IO Multiplex for Passthrough (PCI_IOMULTI) [Y/n/?] (NEW) PCI IO/MEMORY space reserve (PCI_RESERVE) [Y/n/?] (NEW) PCI IOV support (PCI_IOV) [N/y/?] (NEW) IMQ target support (IP_NF_TARGET_IMQ) [N/m/?] (NEW) IMQ target support (IP6_NF_TARGET_IMQ) [N/m/?] (NEW) IMQ (intermediate queueing device) support (IMQ) [N/m/y/?] (NEW) Intel(R) 82575 Gigabit Ethernet support (IGB) [N/m/y/?] (NEW) Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support (E1000E) [N/m/y/?] (NEW) Intel(R) 10GbE PCI Express adapters support (IXGBE) [N/m/y/?] (NEW) Intel Core (2) Duo/Solo temperature sensor (SENSORS_CORETEMP) [N/m/?] (NEW) PC-style 'CMOS' (RTC_DRV_CMOS) [M/n/?] (NEW) USB backend driver (XEN_USB_BACKEND) [M/n/?] (NEW) USB frontend driver (XEN_USB_FRONTEND) [M/n/?] (NEW) Taking the HCD statistics (for debug) (XEN_USB_FRONTEND_HCD_STATS) [Y/n/?] (NEW) HCD suspend/resume support (DO NOT USE) (XEN_USB_FRONTEND_HCD_PM) [N/y/?] (NEW)
Para gerar o pacote com o Kernel para o Domain0:
make linux-2.6-xen0-build cd dist/install sudo /sbin/makepkg -l y -c n /tmp/xen-3.4.2-linux-2.6.18.8-xen0-i686-1.tgz cd ../.. && rm -rf dist/install
Pronto! Já temos o pacote com o kernel dom0 para o slackware!
Compilar, Kernel, Linux, Slackware, Xen