Сборка ядра 2.6.32.x pvops
Самая трудоёмкая и тяжелая фаза при установке Xen 4.0 – этo соединение нового ядра 2.6.32.х c paravirt_ops, а так же цель eгo вместо базового 2.6.18.x. B этой очень информационной статье я больше всего подробно постараюсь , уже, рассмотреть настройку этого нового супер ядра для CentOS 5.5.
И так, начнем: 1. первый шаг - подготавливаем к сборке Устанавливаем репозиторий - RPMForge [root@localhost ~]# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm [root@localhost ~]# rpm -i rpmforge-release-0.5.1-1.el5.rf.i386.rpm Далее делаем установку необходимых для сборки компонентов [root@localhost ~]# yum install git make gcc ncurses-devel Подгружаем исходники(open sourse) ядра [root@localhost tmp]# git clone git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git linux-2.6-xen [root@localhost tmp]# cd linux-2.6-xen [root@localhost linux-2.6-xen]# git checkout -b xen/stable-2.6.32.x origin/xen/stable-2.6.32.x Проверяем текущую версию ядра [root@localhost linux-2.6-xen]# uname -r 2.6.18-194.11.4.el5 Копируем нужный и соответствующий конфиг из директории /boot [root@localhost linux-2.6-xen]# ll /boot | grep config -rw-r--r-- 1 root root 69598 Sep 21 13:38 config-2.6.18-194.11.4.el5 -rw-r--r-- 1 root root 69597 Jul 2 03:36 config-2.6.18-194.8.1.el5 -rw-r--r-- 1 root root 69593 Apr 2 2010 config-2.6.18-194.el5 [root@localhost linux-2.6-xen]# cp /boot/config-2.6.18-194.11.4.el5 .config 2. Настраиваем наше ядро Один из наилучших вариантов в .config добавить следующие строчки: CONFIG_SYSFS_DEPRECATED=y CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_ACPI_PROCFS=y CONFIG_XEN=y CONFIG_XEN_MAX_DOMAIN_MEMORY=32 CONFIG_XEN_SAVE_RESTORE=y CONFIG_XEN_PRIVILEGED_GUEST=y CONFIG_XEN_PCI=y CONFIG_PCI_XEN=y CONFIG_XEN_BLKDEV_FRONTEND=m CONFIG_NETXEN_NIC=m CONFIG_XEN_NETDEV_FRONTEND=m CONFIG_XEN_KBDDEV_FRONTEND=m CONFIG_HVC_XEN=y CONFIG_XEN_FBDEV_FRONTEND=m CONFIG_XEN_BALLOON=y CONFIG_XEN_SCRUB_PAGES=y CONFIG_XEN_DEV_EVTCHN=y CONFIG_XEN_BACKEND=y CONFIG_XEN_BLKDEV_BACKEND=y CONFIG_XEN_NETDEV_BACKEND=y CONFIG_XENFS=y CONFIG_XEN_COMPAT_XENFS=y CONFIG_XEN_XENBUS_FRONTEND=m CONFIG_XEN_PCIDEV_FRONTEND=y Но ,что бы не напортачить с зависимостями удобнее сделать это через базовую menuconfig. [root@localhost linux-2.6-xen]# make menuconfig Для архитектуры i386 ядро pvops поддерживает только этот режим PAE. Processor type and features -> High Memory Support (64GB) X86_PAE [=y] ![]() Virtualization (NEW) -> < > KVM for AMD processors support (NEW) ![]() Для RHEL и CentOS надо обязательно включить эти параметры SYSFS_DEPRECATE и SYSFS_DEPRECATED_V2 General setup -> enable deprecated sysfs features which may confuse old userspace tools ![]() Processor type and features -> Paravirtualized guest support [*] Xen guest support [*] Enable Xen debug and tuning parameters in debugfs [*] Enable Xen privileged domain support [*] Enable support for Xen PCI passthrough devices [*] VMI Guest support (DEPRECATED) [*] KVM paravirtualized clock [*] KVM Guest support [*] Lguest guest support -*- Enable paravirtualization code [*] Paravirtualization layer for spinlocks ![]() Здесь лучше всего нам встроить драйверы в ядро, но не делать их отдельными модулями: Device Drivers [*] Xen memory balloon driver (NEW) [*] Scrub pages before returning them to system (NEW) <*> Xen /dev/xen/evtchn device (NEW) [*] Backend driver support (NEW) <*> Xen backend network device <*> Block-device backend driver <*> Block-device tap backend driver <*> PCI-device backend driver (NEW) PCI Backend Mode (Virtual PCI) —> [*] PCI Backend Debugging <*> Xen filesystem (NEW) [*] Create compatibility mount point /proc/xen (NEW) [*] Create xen entries under /sys/hypervisor (NEW <*> userspace grant access device driver ![]() Теперь мы переходим к настройке FrontEnd драйверов Device Drivers -> Block devices -> Xen virtual block device support (делаем, делаем модуль) XEN_BLKDEV_FRONTEND ![]() Device Drivers -> Network device support -> Xen network device frontend driver (делаем модуль) XEN_NETDEV_FRONTEND ![]() Device Drivers -> Input device support -> Xen virtual keyboard and mouse support XEN_KBDDEV_FRONTEND ![]() Device Drivers -> Graphics support -> Support for frame buffer devices -> Xen virtual frame buffer support XEN_FBDEV_FRONTEND ![]() 3. И так, третий и последний шаг это - сборка и установка ядра: Теперь переходим к сборке ядра [root@localhost linux-2.6-xen]# make -j4 [root@localhost linux-2.6-xen]# make modules_install [root@localhost linux-2.6-xen]# make headers_install [root@localhost linux-2.6-xen]# make install Проверяем установку нового ядра в файлике /boot/grub/grub.conf [root@localhost linux-2.6-xen]# cat /boot/grub/grub.conf default=1 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.32.24) root (hd0,0) kernel /vmlinuz-2.6.32.24 ro root=/dev/VolGroup00/LogVol00 initrd /initrd-2.6.32.24.img title CentOS (2.6.18-194.11.4.el5) root (hd0,0) kernel /vmlinuz-2.6.18-194.11.4.el5 ro root=/dev/VolGroup00/LogVol00 initrd /initrd-2.6.18-194.11.4.el5.img title CentOS (2.6.18-194.8.1.el5) root (hd0,0) kernel /vmlinuz-2.6.18-194.8.1.el5 ro root=/dev/VolGroup00/LogVol00 initrd /initrd-2.6.18-194.8.1.el5.img Меняем значение Default на 0 и переподгружаемся с новым ядром. Проверяем: [root@localhost ~]# uname -r 2.6.32.24 Все отлично можно приступать к установке Xen 4.0. |