在Proxmox VE上运行OpenWrt/LEDE虚拟机——2.PVE下运行的OpenWrt/LEDE固件编译要点-爱搜啊博客

当前位置:首页» 路由刷机»正文

在Proxmox VE上运行OpenWrt/LEDE虚拟机——2.PVE下运行的OpenWrt/LEDE固件编译要点

发布:爱搜啊  时间:2018年07月10日  分类:路由刷机   评论

在PVE下运行的OpenWrt/LEDE虚拟机的类型为KVM,由于它可以使用VirtIO半虚拟化驱动的方式,能获得与非虚拟化的原生系统差不多的I/O性能,故效率很高。有关KVM更详细的信息可以参考KVM官方网站上的介绍。 

编译OpenWrt/LEDE固件还算是比较大的工程,且网上有很多相关的资源来介绍,故此处仅说明其中关键之处。

 1) 版本选择 

 鉴于目前的x86系统都支持64位运算,故建议采用64位的OpenWrt/LEDE系统,以充分利用硬件资源并获得更佳的性能。 

 2) 内核参数 

目前,OpenWrt在master分支下的x86下仅“generic”一个subtarget完整支持KVM,但它却是32位的系统。若选择64位的LEDE支持,则需要在原有的subtarget“64中”添加KVM支持,或者单独新建一个64位subtarget(如“kvm64”)。

推荐选择后者,这样方便独立维护这个专门的KVM子target。

当然选择哪种方式,都需要在内核配置中添加支持KVM的相关选项。 

此处以当前的OpenWrt当前的master分支的为例来说明,

下面是需要在64位内核配置中添加的选项:

@@ -156,6 +156,13 @@
 CONFIG_HAVE_FENTRY=y
 # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
 CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
+CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_IRQFD=y
+CONFIG_HAVE_KVM_IRQ_BYPASS=y
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_HAVE_KVM_MSI=y
 CONFIG_HAVE_LIVEPATCH=y
 CONFIG_HAVE_MEMORY_PRESENT=y
 CONFIG_HAVE_STACK_VALIDATION=y
@@ -203,8 +210,15 @@
 # CONFIG_ITCO_VENDOR_SUPPORT is not set
 # CONFIG_ITCO_WDT is not set
 CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
+CONFIG_KVM=y
+CONFIG_KVM_AMD=y
+CONFIG_KVM_ASYNC_PF=y
 # CONFIG_KVM_DEBUG_FS is not set
+CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
 CONFIG_KVM_GUEST=y
+CONFIG_KVM_INTEL=y
+CONFIG_KVM_MMIO=y
+CONFIG_KVM_VFIO=y
 # CONFIG_LCD_CLASS_DEVICE is not set
 CONFIG_LEDS_GPIO=y
 # CONFIG_LEGACY_VSYSCALL_EMULATE is not set

其中,前面带“+”的为新增加的选项,具体位置可能随版本更新而有所变化,可以将上面的内容做成patch文件添加到内核配置文件config-default中,这样编译后内核就会完整地出支持64位的KVM。

 3) 其他 

 其他部分与OpenWrt/LEDE常规配置和编译基本相同,故不在此重复说明。

原文地址:http://everun.top/helpcenter/others/pve-ow-2.html

转载请保留出处和本文地址: http://aisoa.cn/post-2074.html

评论 赞助本站

爱搜博客赞助收款二维码

欢迎参与讨论,新评论稍后显示,广告一律删除!