У меня есть свежий сервер Debian 6.0.0 (Squeeze), работающий на Hyper-V, и я пытаюсь загрузить синтетические драйверы в ядро (2.6.32-5-amd64). Проведенное мною исследование говорит о том, что драйверы интеграции с Linux следовало просто вставить в дерево ядра .32 и выше, но я не могу найти их в обычном /lib/modules/2.6.32.5-amd64/kernel/ каталог. Modprobe также не может найти и загрузить модули в пространство ядра.
Ищу следующие модули ядра:
Кто-нибудь знает, где я могу найти модули ядра для драйверов интеграции Linux Hyper-V? Были ли они перемещены в их собственный пакет? Нужно ли перекомпилировать ядро и собирать их вручную?
А grep CONFIG_HYPERV /boot/config-2.6.32-5-amd64
показывает CONFIG_HYPERV is not set
. Похоже, что Debian решил не создавать эти модули. Я читаю об этом, в нескольких статьях упоминается, что hv не поддерживается MS, и некоторые люди хотят отказаться от него.
Я посмотрел, и исходный код hv присутствует в пакете исходных кодов ядра 2.6.32 (drivers / staging / hv). Единственное, что вы можете сделать, это установить пакет с исходным кодом ядра и инструмент пакетного ядра. (apt-get install apt-get install linux-source-2.6 libncurses-dev kernel-package
) Извлеките исходный код, скопируйте /boot/config-2.6.32-5-amd64 в .config, используйте make menuconfig
и включите драйверы Hyperv. Затем скомпилируйте ядро с помощью make-kpkg
.
Для ядер с версией> 3.0 драйверы больше не находятся в стадии подготовки. Новые локации описаны здесь: http://dietrichschroff.blogspot.de/2013/03/hyper-v-compile-linux-kernel-with.html
Чтобы установить модули Hyper-V на свежий Debian 6 в Hyper-V, вам необходимо скомпилировать собственное ядро. Вот как я это сделал
http://blogs.technet.com/b/abeshkov/archive/2011/03/17/hyperv_5f00_debian.aspx
Я думаю, что это также применимо к Debian 5 и множеству систем Ubuntu.
Мне удалось добиться умеренного успеха с сетевыми драйверами, но только тогда, когда виртуальная машина была создана на консоли Hyperv, а не scvmm. В HyperV выбор «Legacy Adapter» для типа сетевого адаптера работает. Я смог получить tcp-соединение с моей виртуальной машиной. Я не подчеркивал возможность подключения и не тестировал его стабильность, но все заработало из коробки. Я нашел ссылку в Интернете, которая дала мне этот метод (в настоящее время не цитируется, но я уверен, что вы его найдете ...)
Однако в моей версии scvmm «Legacy Adapter» не указан как тип сетевого адаптера, поэтому я не могу заставить его работать, не загрузив драйвер после установки.
Только для заметок ..
Напоминаю: я играл с модулями Hyper-V для Linux начиная с версии 2.6.33, и в последнее время получил ужасно плохие результаты с модулем hv. Если вы используете основное ядро, вы получите лучшие результаты, начиная с версии 2.6.39, где было внесено множество изменений, чтобы сделать их достаточно стабильными.
Я отговариваю кого-либо использовать модули Hyper-v из основного ядра в старых ядрах. Заметным исключением являются предоставляемые MS для RHEL и SLES, которые являются резервными портами более поздних версий и работают довольно хорошо.