我有一台运行在 Hyper-V 上的全新 Debian 6.0.0 (Squeeze) 服务器,我正在尝试将合成驱动程序加载到内核 (2.6.32-5-amd64)。我所做的研究表明,Linux 集成驱动程序应该合并到 .32 及更高版本的内核树中,但我似乎无法在正常情况下找到它们/lib/模块/2.6.32.5-amd64/内核/目录。modprobe 也无法定位模块并将其加载到内核空间中。
我正在寻找以下内核模块:
- 总线总线
- 大块黑块
- hv_netvsc
- 保存
有人知道我可以在哪里找到 Hyper-V Linux 集成驱动程序的内核模块吗?它们是否已移至自己的软件包中?我是否需要重新编译内核并手动构建它们?
答案1
显示。看来 Debian 已选择不构建这些模块。我正在grep CONFIG_HYPERV /boot/config-2.6.32-5-amd64
阅读CONFIG_HYPERV is not set
相关内容,有几篇文章提到 MS 不太支持 HV,有些人想放弃它。
我查看了一下,2.6.32 内核源代码包 (drivers/staging/hv) 中存在 hv 源代码。您可以做的一件事是安装内核源代码包和 kernel-package 工具。(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
答案2
为了在 Hyper-V 中将 Hyper-V 模块安装到全新的 Debian 6 上,您需要编译自己的内核。我就是这样做的
http://blogs.technet.com/b/abeshkov/archive/2011/03/17/hyperv_5f00_debian.aspx
我认为它也适用于 Debian 5 和一堆 Ubuntu 系统。
答案3
我已经能够使用网络驱动程序取得一些中等程度的成功,但前提是虚拟机是在 HyperV 控制台上创建的,而不是在 scvmm 上。在 HyperV 中,选择“旧适配器”作为网络适配器类型有效。我能够获得到虚拟机的 TCP 连接。我没有强调连接性,也没有测试它的稳定性,但它开箱即用。我在网上找到了一个链接,它给了我这种方法(目前没有引用,但我相信你能找到它。)
但是,我的 scvmm 版本没有将“旧式适配器”列为网络类型,因此,如果不在安装后侧载驱动程序,我就无法使其工作。
仅供您笔记......