Работа с Debian 6 в виртуальной машине Hyper-V. Часть 1 — компилируем ядро

Сегодня я начну детально описывать процесс настройки компонентов интеграции Hyper-V в популярном дистрибутиве Linux - Debian. Я сознательно выбрал неподдерживаемый дистрибутив, так как шаги для RedHat и SUSE детально описаны на многих сайтах. Я выбрал самую последнюю доступную версию Debian 6.0.1, для которой буду компилировать последнее доступное ядро 2.6.38.4 и компоненты интеграции Hyper-V для Linux версии 2.1.

Я не буду описывать процесс установки самого Debian 6.0.1, для желающих повторить даю ссылку на DVD образ первого установочного диска, которого вполне достаточно для всех базовых задач. Также даю ссылку на версию ядра 2.6.38.4, которое я использовал, ссылку на компоненты интеграции для Linux версии 2.1, а также ссылку на компоненты виртуализации драйвера мыши (Citrix Project Satori), требуемые для корректной работы мыши в ВМ, доступной через VMConnect, запущенный в RDP сессии. Первая часть будет посвящена компиляции ядра с встроенными в него компонентами интеграции 2.0. Компоненты интеграции находятся в staged разделе ядра, по умолчанию не включаются, потому и требуется перекомпиляция.

Итак, я установил Debian 6.0.1 в конфигурации по умолчанию.

Я загрузил архив с последней версией ядра, компоненты интеграции и драйвер мыши, и скопировал это в папку /root:

 

Теперь моя задача установить новое ядро версии 2.6.38.4. Для начала, мне требуется установить некие преквизиты. Для этого требуется подключить к ВМ первый DVD с Debian и выполнить команду:

# apt-get install build-essential ncurses-dev kernel-package fakeroot

Результат:

 

Далее следует разархивировать ядро командами:

 # bzip2 -d linux-2.6.38.4.tar.bz2

# tar xf linux-2.6.38.4.tar

# cd linux-2.6.38.4

Требуется настроить конфигурацию ядра, вызвав команду

# make menuconfig

 

.Включив модули Hyper-V, которые находятся в Staged разделе ядра.

 

Далее следует сохранить внесённые изменения:

Запустить процесс компиляции ядра командой:

# make-kpkg clean

Компиляция занимает несколько часов, будьте терпеливы, а лучше запустите на ночь, на моём ноутбуке задача выполнялась почти сутки. Далее ядро необходимо собрать:

# fakeroot make-kpkg –-initrd -–revision=blogs.technet.com.vm.1.0 kernel_image

Имя в ревизии может быть любым. Обязательно должно включать в себя цифры. Процесс сборки у меня занял около трёх часов. После вам следует выполнить команды инсталляции ядра:

# cd ..

# ls -l

# dpkg -i linux-image-2.6.38.4_blogs.technet.com.vm.1.0_amd64.deb

 

Включить поддержку синтетической сетевой карты, вместо эмулируемой:

# sed -i 's/eth/seth/g' /etc/network/interfaces

Настроить загрузку модулей Hyper-V при старте ОС:

# echo –e "hv_vmbus\nhv_storvsc\nhv_blkvsc\nhv_netvsc" >> /etc/initramfs-tools/modules

# update-initramfs –u –k 2.6.38.4

Теперь можно выключить виртуальную машину, чтобы добавить синтетическую карту, убрав эмулируемую. До перезагрузки кнопка Shitdown из VMConnect не работает, так что выполните команду:

# init 0

В настройках виртуальной машины добавить синтетический интерфейс, убрать эмулируемый, если требуется сохранить MAC, то задайте синтетическому  интерфейсу  статический MAC адрес, изначально используемый эмулируемым. Запустите виртуальную машину.

Проверим, какое ядро загрузилось:

# uname -a

И проверим, загружены ли модули Hyper-V:

# lsmod | grep hv

Можно убедиться, что синтетический сетевой интерфейс доступен при помощи команды ifconfig

Констатируем, мы успешно установили последнее ядро Linux в Debian, с поддержкой Hyper-V – без использования каких-либо дистрибутивов с сайта Microsoft. Во второй части статьи я расскажу, как обновить компоненты до версии 2.1, что это даст, и как добавить поддержку синтетического драйвера мыши.