Главная » linux » debian » LinuxIC и Debian 6

LinuxIC и Debian 6

Как известно, Microsoft официально поддерживает запуск виртуальных машин с Linux под Hyper-V. Правда список официально поддерживаемых дистрибутивов короток — SLES и RHEL. Однако компоненты интеграции свободно доступны. Более того, совсем недавно вышел очередной релиз этого продукта — LinuxIC 3.2 (http://www.microsoft.com/download/en/details.aspx?id=28188). Попробуем установить этот пакет на стабильный релиз Debian.

Конечно, можно обойтись и без компонентов интеграции, однако в таком случае некоторые функции будут недоступны. Например, нельзя будет воспользоваться синтетической сетевой картой (придется подключать legacy-адаптер к виртуалке), будет недоступна функция выключения гостевой операционной системы. Чтобы избежать пересборки ядра и иметь возможность работать с дистрибутивном ядром попробуем скомпилировать необходимые модули.

Первым делом поставим пакет с заголовками ядра:

Теперь можно подключить к виртуальной машине ISO-образ с компонетнами интеграции и смонтировать его:

Как видно, в ISO-образе находятся rpm-пакеты для RHEL, однако это не значит, что мы не сможем ими воспользоваться. Для начала необходимо распокавать пакет с исходниками. Поскольку rpm, по сути, представляет собой архив, то мы спокойно можем достать из него необходимые файлы, воспользовавшисьутилитой rpm2cpio. Достаточно выполнить команду «aptitude install rpm2cpio» и данная утилита будет установлена. После этого можно приступить к распаковке:

(крякозябры в заголовке putty намекают, что надо аккуратнее экспериментировать с таким утилитами 🙂 )

Теперь можно распаковать сам архив с исходниками с помощью команды:

«tar -xvf microsoft-hyper-v-rhel6.tar.gz«

Теперь, перед тем, как пытаться собрать из исходников модули, необходимо выполнить несколько действий. Сначала установим дополнительные пакеты, которые нам потребуются:

«aptitude install dracut make bridge-utils arping kpartx«

(эти пакеты потребуются на этапе сосзадния initramfs)

а затем создадим директорию extra, в которую будут скопированы модули (сам скрипт сборки ее не создает):

«mkdir /lib/modules/`uname -r`/extra«

После этого, можно запускать скрипт сборки:

./rhel6-hv-driver-install

В результате на экране должно появится что-то типа:

Installing Modules
Generating Module dependencies
Installing Modprobe Rules
Generating initramfs
ln: creating symbolic link `ld-linux-x86-64.so.2': File exists
Saving old initramfs
Installing new initramfs

После этого можно перезагружаться и наблюдать работающие драйвера 🙂

Как видно на этом скриншоте, все модули успешно загружены, а синтетическая карта нормально определилась.

P.S. Здесь, правда есть одна тонкость. После перезагрузки сеть сразу видна не будет. Это связано с тем, что новый адаптер добавлен, старый удален и udev присвоил ему имя eth1, вместо eth0, которое было у старого адаптера (это можно найти в файле /etc/udev/rules.d/70-persistent-net.rules). Я просто поправил файл настроек, чтобы новый адаптер также определялся, как eth0 (на скриншоте я пометил белым исправления):

Теперь необходимо, чтобы параметры применились. Я просто перезагрузился.

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s