日本电子维修技术 NASOpenWRT软路由Designated Driver trunk 4.4核心的Hyper-




致谢:
我参考的是原始作者Ning Ye的代码,感谢Ning Ye,https://patchwork.ozlabs.org/patch/431583/

此种办法是通过Kernel的Module加载Hyper-V相关支持,是本人目前唯一找到源代码并且在所有版本(Attitude Adjustment,Barrier Breaker,Chaos Calmer和4.4核心trunk)测试通过的Hyper-V支持方法。

同时这也是最大限度使用OpenWRT官方源代码的Hyper-V支持方法;
其他有些Hyper-V虽然有“源代码“但是似乎对代码修改太多,需要从github迁出整份第三方修改的源代码才行,而不是简短的一个patch可以搞定了,以至于失去了通用性。

其他各种大牛、大神有各种支持Hyper-V的办法,非常牛叉,非常高大上,可惜没有源代码,无从研究。
根据OpenWRT的协议,照理说各种对OpenWRT的修改都应该公开源代码的……

关于Chaos Calmer的Hyper-V版可以看这里,https://www.chiphell.com/thread-1364810-1-1.html
关于使用VMware Workstation嵌套虚拟化Hyper-V运行Openwrt可以看这里,https://www.chiphell.com/thread-1533750-1-1.html

关于Chaos Calmer(同时适用于15.05和15.05.1)的Hyper-V补丁源代码可以看这里,https://github.com/tedaz/Hyper-V-support-for-OpenWrt-Chaos-Calmer

关于Barrier Breaker的Hyper-V补丁源代码可以看这里,https://github.com/tedaz/Hyper-V ... Wrt-Barrier-Breaker

===========================

下面的办法是为了让OpenWRT Designated Driver trunk源代码编译后,可以运行在Hyper-V虚拟机上,且支持标准网卡(而不是Legacy百兆网卡)。

我用的是今天(2016-10-12)迁出的trunk源代码,因为Designated Driver依然处于Bleeding Edge状态,以后的代码很可能无法应用此补丁。
如果仅仅是测试目的,可以回滚到今天的代码应用补丁然后直接编译。
当然,关键还是弄明白补丁的意思,这样就可以手动修改今后版本的源代码了,而不需要依赖于预制做的补丁。

迁出源代码,
git clone git://github.com/openwrt/openwrt.git复制代码
最新的kernel 4.4已经彻底删除了对Hyper-V虚拟化支持的virtual.mk文件,
故首先到OpenWRT官网代码库下载历史版本的virtual.mk文件,
并将其拷贝到buildroot的文件夹:
下载地址https://dev.openwrt.org/browser/ ... x/modules?rev=47415
下载virtual.mk文件,并拷贝到
./package/kernel/linux/modules/virtual.mk

建议备份virtual.mk文件,以备不时之需。

此时运行
make menuconfig
Kernel modules中并不会显示Virtulization菜单,需要
touch ./package/kernel/linux/Makefile

然后再次运行
make menuconfig
就会显示Virtulization菜单了。

只需要选中
kmod-hyperv-net-vsc

kmod-hyperv-storage
即可。
另外两个不用选。

Target Images选中ext4,然后用qemu-img命令转换为vhd就可以创建Hyper-V虚拟机了。

注:Openwrt默认的qemu-img生成的vhd有问题,无法使用。

保存后进行编译。

编译后生成img文件,运行命令转换为vhd,
qemu-img convert -f raw ./bin/x86/openwrt-x86-generic-combined-ext4.img -O vpc ./bin/x86/openwrt-x86-generic-combined-ext4.vhd复制代码
Windows Server 2008 R2直接创建虚拟机,选中标准网;
Windows Server 2012 R2创建虚拟机时选中Generation 1虚拟机,然后选中标准网卡。

下载的virtual.mk文件需要在文件末尾添加下述内容,
#
# Hyper-V Drives depends on x86 or x86_64.
#
define KernelPackage/hyperv-balloon
  SUBMENU:=$(VIRTUAL_MENU)
  DEPENDS:=@(TARGET_x86||TARGET_x86_64)
  TITLE:=Microsoft Hyper-V Balloon Driver
  KCONFIG:= \
    CONFIG_HYPERV_BALLOON \
    CONFIG_HYPERVISOR_GUEST=y \
    CONFIG_PARAVIRT=n \
    CONFIG_HYPERV=y
  FILES:=$(LINUX_DIR)/drivers/hv/hv_balloon.ko \
    $(LINUX_DIR)/drivers/hv/hv_vmbus.ko
  AUTOLOAD:=$(call AutoLoad,06,hv_balloon)
endef

define KernelPackage/hyperv-balloon/description
  Microsofot Hyper-V balloon driver.
endef

$(eval $(call KernelPackage,hyperv-balloon))

define KernelPackage/hyperv-net-vsc
  SUBMENU:=$(VIRTUAL_MENU)
  DEPENDS:=@(TARGET_x86||TARGET_x86_64)
  TITLE:=Microsoft Hyper-V Network Driver
  KCONFIG:= \
    CONFIG_HYPERV_NET \
    CONFIG_HYPERVISOR_GUEST=y \
    CONFIG_PARAVIRT=n \
    CONFIG_HYPERV=y
  FILES:=$(LINUX_DIR)/drivers/net/hyperv/hv_netvsc.ko \
    $(LINUX_DIR)/drivers/hv/hv_vmbus.ko
  AUTOLOAD:=$(call AutoLoad,35,hv_netvsc)
endef

define KernelPackage/hyperv-net-vsc/description
  Microsoft Hyper-V Network Driver
endef

$(eval $(call KernelPackage,hyperv-net-vsc))

define KernelPackage/hyperv-util
  SUBMENU:=$(VIRTUAL_MENU)
  DEPENDS:=@(TARGET_x86||TARGET_x86_64)
  TITLE:=Microsoft Hyper-V Utility Driver
  KCONFIG:= \
    CONFIG_HYPERV_UTILS \
    CONFIG_HYPERVISOR_GUEST=y \
    CONFIG_PARAVIRT=n \
    CONFIG_HYPERV=y
  FILES:=$(LINUX_DIR)/drivers/hv/hv_util.ko \
    $(LINUX_DIR)/drivers/hv/hv_vmbus.ko
  AUTOLOAD:=$(call AutoLoad,10,hv_util)
endef

define KernelPackage/hyperv-util/description
  Microsoft Hyper-V Utility Driver
endef

$(eval $(call KernelPackage,hyperv-util))

#
# Hyper-V Storage Drive needs to be in kernel rather than module to load the root fs.
#
define KernelPackage/hyperv-storage
  SUBMENU:=$(VIRTUAL_MENU)
  DEPENDS:=@(TARGET_x86||TARGET_x86_64) +kmod-scsi-core
  TITLE:=Microsoft Hyper-V Storage Driver
  KCONFIG:= \
    CONFIG_HYPERV_STORAGE=y \
    CONFIG_HYPERVISOR_GUEST=y \
    CONFIG_PARAVIRT=n \
    CONFIG_HYPERV=y
  FILES:=$(LINUX_DIR)/drivers/scsi/hv_storvsc.ko \
    $(LINUX_DIR)/drivers/hv/hv_vmbus.ko
  AUTOLOAD:=$(call AutoLoad,40,hv_storvsc)
endef

define KernelPackage/hyperv-storage/description
  Microsoft Hyper-V Storage Driver
endef

$(eval $(call KernelPackage,hyperv-storage))复制代码
hyper-v.patch,注意创建文件时使用linux格式的换行。
diff --git a/target/linux/x86/config-4.4 b/target/linux/x86/config-4.4
index 13f1f9c..0c401af 100644
--- a/target/linux/x86/config-4.4
+++ b/target/linux/x86/config-4.4
@@ -216,6 +216,16 @@ CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_GEODE=y
CONFIG_HW_RANDOM_VIA=y
# CONFIG_HYPERVISOR_GUEST is not set
+# CONFIG_HYPERV is not set
+# CONFIG_HYPERV_BALLOON is not set
+# CONFIG_HYPERV_NET is not set
+# CONFIG_HYPERV_STORAGE is not set
+# CONFIG_HYPERV_UTILS is not set
+# CONFIG_HYPERV_KEYBOARD is not set
+# CONFIG_FB_HYPERV is not set
+# CONFIG_HID_HYPERV_MOUSE is not set
+# CONFIG_VMWARE_BALLOON is not set
+# CONFIG_MOUSE_PS2_VMMOUSE is not set
CONFIG_HZ_PERIODIC=y
CONFIG_I8253_LOCK=y
# CONFIG_I8K is not set
复制代码


01.PNG (220.52 KB, 下载次数: 0)

2016-10-12 11:46 上传



02.PNG (139.43 KB, 下载次数: 0)

2016-10-12 11:47 上传



03.PNG (32.19 KB, 下载次数: 0)

2016-10-12 11:58 上传





评论


完全看不懂..


绑定!!
有现成的文件吗?

评论

这里是编译的vhd文件,链接: https://pan.baidu.com/s/1eS3FBpg 密码: e6t5

评论

谢谢!!!

评论

客气了。
这是vhd包含的package列表,
bin/x86/packages/
├── base
│   ├── base-files_169-49966_x86.ipk
│   ├── busybox_1.24.2-1_x86.ipk
│   ├── curl_7.50.0-1_x86.ipk
│   ├── dnsmasq-full_2.76-1_x86.ipk
│   ├── dropbear_2016.74-1_x86.ipk
│   ├── firewall_2016-01-29_x86.ipk
│   ├── fstools_2016-07-24-addd7dc21fe99f2701c1d4708071578052af401d_x86.ipk
│   ├── ip_4.4.0-1_x86.ipk
│   ├── ip6tables_1.4.21-2_x86.ipk
│   ├── ipset_6.24-1_x86.ipk
│   ├── iptables_1.4.21-2_x86.ipk
│   ├── iptables-mod-conntrack-extra_1.4.21-2_x86.ipk
│   ├── iptables-mod-ipopt_1.4.21-2_x86.ipk
│   ├── iptables-mod-tproxy_1.4.21-2_x86.ipk
│   ├── jshn_2016-07-29-290c64ef5b5c3e75be851594f269d6a9568e64e5_x86.ipk
│   ├── jsonfilter_2016-07-02-dea067ad67d977c247c300c06676a06adf21e0c7_x86.ipk
│   ├── kernel_4.4.14-1-f450c8c9bb88fe1b0dfbd769f8f63863_x86.ipk
│   ├── libblobmsg-json_2016-07-29-290c64ef5b5c3e75be851594f269d6a9568e64e5_x86.ipk
│   ├── libc_1.1.15-1_x86.ipk
│   ├── libcurl_7.50.0-1_x86.ipk
│   ├── libgcc_5.3.0-1_x86.ipk
│   ├── libgmp_6.1.1-1_x86.ipk
│   ├── libip4tc_1.4.21-2_x86.ipk
│   ├── libip6tc_1.4.21-2_x86.ipk
│   ├── libiwinfo_2016-01-25-e4aca3910dff532ed878d0ceaf1ab6e8ad7719bf_x86.ipk
│   ├── libiwinfo-lua_2016-01-25-e4aca3910dff532ed878d0ceaf1ab6e8ad7719bf_x86.ipk
│   ├── libjson-c_0.12-1_x86.ipk
│   ├── libjson-script_2016-07-29-290c64ef5b5c3e75be851594f269d6a9568e64e5_x86.ipk
│   ├── liblua_5.1.5-1_x86.ipk
│   ├── libmnl_1.0.3-2_x86.ipk
│   ├── libncursesw_5.9-3_x86.ipk
│   ├── libnetfilter-conntrack_1.0.4-1_x86.ipk
│   ├── libnettle_3.2-1_x86.ipk
│   ├── libnfnetlink_1.0.1-1_x86.ipk
│   ├── libnl-tiny_0.1-5_x86.ipk
│   ├── libopenssl_1.0.2j-1_x86.ipk
│   ├── libpolarssl_1.3.17-1_x86.ipk
│   ├── libpthread_1.1.15-1_x86.ipk
│   ├── librt_1.1.15-1_x86.ipk
│   ├── libstdcpp_5.3.0-1_x86.ipk
│   ├── libubox_2016-07-29-290c64ef5b5c3e75be851594f269d6a9568e64e5_x86.ipk
│   ├── libubus_2016-07-02-053be7df871e05478284235732f8b0608089512f_x86.ipk
│   ├── libubus-lua_2016-07-02-053be7df871e05478284235732f8b0608089512f_x86.ipk
│   ├── libuci_2016-07-04.1-1_x86.ipk
│   ├── libuci-lua_2016-07-04.1-1_x86.ipk
│   ├── libuclient_2016-01-28-2e0918c7e0612449024caaaa8d44fb2d7a33f5f3_x86.ipk
│   ├── libustream-openssl_2016-07-02-ec80adaa1b47f28d426fa19c692011ce60b992d6_x86.ipk
│   ├── libuuid_2.28-1_x86.ipk
│   ├── libxtables_1.4.21-2_x86.ipk
│   ├── logd_2016-07-19-aead2c0cbffdda9b46d74a998a4c6aeef423b21a_x86.ipk
│   ├── lua_5.1.5-1_x86.ipk
│   ├── netifd_2016-06-06-99e6dc68bbac5a57a0ebca810a9dc36e38667821_x86.ipk
│   ├── odhcpd_2016-10-09-801cfeea100ca7b211c9841f0fcb757b17f47860_x86.ipk
│   ├── opkg_9c97d5ecd795709c8584e972bfdf3aee3a5b846d-12_x86.ipk
│   ├── Packages
│   ├── Packages.gz
│   ├── Packages.sig
│   ├── ppp_2.4.7-9_x86.ipk
│   ├── ppp-mod-pppoe_2.4.7-9_x86.ipk
│   ├── procd_2016-07-29-2c9f5d4af1559b840c42f1443ede9f9fe809c58b_x86.ipk
│   ├── qos-scripts_1.3.0-1_all.ipk
│   ├── rpcd_2016-06-30-23417e94d25570e6d62542bac46edd51e8e0243a_x86.ipk
│   ├── shadowsocks-libev_2.5.5-1_x86.ipk
│   ├── tc_4.4.0-1_x86.ipk
│   ├── terminfo_5.9-3_x86.ipk
│   ├── ubox_2016-07-19-aead2c0cbffdda9b46d74a998a4c6aeef423b21a_x86.ipk
│   ├── ubus_2016-07-02-053be7df871e05478284235732f8b0608089512f_x86.ipk
│   ├── ubusd_2016-07-02-053be7df871e05478284235732f8b0608089512f_x86.ipk
│   ├── uci_2016-07-04.1-1_x86.ipk
│   ├── uclient-fetch_2016-01-28-2e0918c7e0612449024caaaa8d44fb2d7a33f5f3_x86.ipk
│   ├── uhttpd_2015-11-08-fe01ef3f52adae9da38ef47926cd50974af5d6b7_x86.ipk
│   ├── uhttpd-mod-ubus_2015-11-08-fe01ef3f52adae9da38ef47926cd50974af5d6b7_x86.ipk
│   ├── usign_2016-07-04-ef6419142a3b0fbcddcccf536e3c1880302c6f89_x86.ipk
│   └── zlib_1.2.8-1_x86.ipk
├── kernel
│   ├── kmod-hyperv-balloon_4.4.14-1_x86.ipk
│   ├── kmod-hyperv-net-vsc_4.4.14-1_x86.ipk
│   ├── kmod-hyperv-storage_4.4.14-1_x86.ipk
│   ├── kmod-hyperv-util_4.4.14-1_x86.ipk
│   ├── kmod-ifb_4.4.14-1_x86.ipk
│   ├── kmod-ip6tables_4.4.14-1_x86.ipk
│   ├── kmod-ipt-conntrack_4.4.14-1_x86.ipk
│   ├── kmod-ipt-conntrack-extra_4.4.14-1_x86.ipk
│   ├── kmod-ipt-core_4.4.14-1_x86.ipk
│   ├── kmod-ipt-ipopt_4.4.14-1_x86.ipk
│   ├── kmod-ipt-ipset_4.4.14-1_x86.ipk
│   ├── kmod-ipt-nat_4.4.14-1_x86.ipk
│   ├── kmod-ipt-tproxy_4.4.14-1_x86.ipk
│   ├── kmod-lib-crc-ccitt_4.4.14-1_x86.ipk
│   ├── kmod-nf-conntrack_4.4.14-1_x86.ipk
│   ├── kmod-nf-conntrack6_4.4.14-1_x86.ipk
│   ├── kmod-nf-conntrack-netlink_4.4.14-1_x86.ipk
│   ├── kmod-nf-ipt_4.4.14-1_x86.ipk
│   ├── kmod-nf-ipt6_4.4.14-1_x86.ipk
│   ├── kmod-nf-nat_4.4.14-1_x86.ipk
│   ├── kmod-nfnetlink_4.4.14-1_x86.ipk
│   ├── kmod-ppp_4.4.14-1_x86.ipk
│   ├── kmod-pppoe_4.4.14-1_x86.ipk
│   ├── kmod-pppox_4.4.14-1_x86.ipk
│   ├── kmod-sched_4.4.14-1_x86.ipk
│   ├── kmod-sched-connmark_4.4.14-1_x86.ipk
│   ├── kmod-sched-core_4.4.14-1_x86.ipk
│   ├── kmod-scsi-core_4.4.14-1_x86.ipk
│   ├── kmod-slhc_4.4.14-1_x86.ipk
│   ├── Packages
│   ├── Packages.gz
│   └── Packages.sig
├── luci
│   ├── luci-app-adblock_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-app-aria2_1.0.1-2_all.ipk
│   ├── luci-app-ddns_2.4.7-1_all.ipk
│   ├── luci-app-firewall_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-app-qos_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-app-shadowsocks-libev_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-app-transmission_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-app-upnp_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-app-wol_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-base_git-16.274.24536-185e4c1-1_x86.ipk
│   ├── luci_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-i18n-adblock-zh-cn_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-i18n-aria2-zh-cn_1.0.1-2_all.ipk
│   ├── luci-i18n-base-en_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-i18n-base-zh-cn_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-i18n-base-zh-tw_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-i18n-ddns-zh-cn_2.4.7-1_all.ipk
│   ├── luci-i18n-ddns-zh-tw_2.4.7-1_all.ipk
│   ├── luci-i18n-firewall-en_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-i18n-firewall-zh-cn_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-i18n-firewall-zh-tw_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-i18n-qos-en_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-i18n-qos-zh-cn_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-i18n-qos-zh-tw_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-i18n-shadowsocks-libev-zh-cn_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-i18n-transmission-en_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-i18n-transmission-zh-cn_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-i18n-transmission-zh-tw_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-i18n-upnp-en_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-i18n-upnp-zh-cn_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-i18n-upnp-zh-tw_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-i18n-wol-en_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-i18n-wol-zh-cn_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-i18n-wol-zh-tw_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-lib-ip_git-16.274.24536-185e4c1-1_x86.ipk
│   ├── luci-lib-jsonc_git-16.274.24536-185e4c1-1_x86.ipk
│   ├── luci-lib-nixio_git-16.274.24536-185e4c1-1_x86.ipk
│   ├── luci-mod-admin-full_git-16.274.24536-185e4c1-1_x86.ipk
│   ├── luci-proto-ipv6_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-proto-ppp_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-theme-bootstrap_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-theme-freifunk-generic_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-theme-material_git-16.274.24536-185e4c1-1_all.ipk
│   ├── luci-theme-openwrt_git-16.274.24536-185e4c1-1_all.ipk
│   ├── Packages
│   ├── Packages.gz
│   └── Packages.sig
├── management
│   ├── Packages
│   ├── Packages.gz
│   └── Packages.sig
├── packages
│   ├── adblock_1.4.10-1_all.ipk
│   ├── aria2_1.27.1-1_x86.ipk
│   ├── bash_4.3.42-1_x86.ipk
│   ├── bind-dig_9.9.9-P3-1_x86.ipk
│   ├── bind-libs_9.9.9-P3-1_x86.ipk
│   ├── ddns-scripts_2.7.5-2_all.ipk
│   ├── etherwake_1.09-4_x86.ipk
│   ├── libgcrypt_1.6.6-1_x86.ipk
│   ├── libgpg-error_1.12-1_x86.ipk
│   ├── libjpeg_9a-1_x86.ipk
│   ├── libpcre_8.39-1_x86.ipk
│   ├── libpng_1.2.56-1_x86.ipk
│   ├── luci-app-mwan3_1.4-4_all.ipk
│   ├── luci-app-sqm_1.0.7-1_all.ipk
│   ├── mwan3_2.0-3_all.ipk
│   ├── nano_2.7.0-1_x86.ipk
│   ├── Packages
│   ├── Packages.gz
│   ├── Packages.sig
│   ├── sqm-scripts_1.0.7-1_all.ipk
│   └── wget_1.18-2_x86.ipk
├── routing
│   ├── miniupnpd_2.0-3_x86.ipk
│   ├── Packages
│   ├── Packages.gz
│   └── Packages.sig
├── targets
│   ├── Packages
│   ├── Packages.gz
│   └── Packages.sig
└── telephony
    ├── Packages
    ├── Packages.gz
    └── Packages.sig

8 directories, 187 files
复制代码



评论
楼主是否可以改玩 lede 了? 貌似比openwrt 更好点

评论

这个版本要是安装插件直接安装就行吧?不用的在编译一下吧?

评论
运行截图,

04.PNG (209.74 KB, 下载次数: 0)

2016-10-12 14:23 上传



05.PNG (215.48 KB, 下载次数: 0)

2016-10-12 14:23 上传





评论

列表中的package已经包含在vhd中了;
禁用签名签证的话,很多官方ipk应该可以安装,但是也可能有很多ipk无法安装。

需要什么ipk可以留言,只要是OpenWRT官方的package,可以很方便的编译到vhd中。

评论

T大有没有准备搞LEDE,这个貌似更新的效率更高。

评论

经常听说lede,但是完全没有折腾过。
正在git clone源代码,这个可以直接编译Hyper-V的镜像吗?如果默认不能支持Hyper-V,基本上就没什么意思了。

评论

以前没折腾过lede,刚刚下载了一份源代码,正在编译vmdk。不支持Hyper-V,感觉意思不大。

这玩意儿基本上就是OpenWRT的代码啊,但是官方package比OpenWRT少一些,似乎代码也旧一些。

为什么说效率更高?

评论

很多OpenWRT的contributer都转投LEDE了,那边代码更新频率更高些。
另外,不支持Hyper-V的问题,我感觉应该跟trunk不支持是一样的问题,把virtual.mk放进去不知道你试过没有。

评论

类似的办法应该可以支持Hyper-V。

但是,还是不明白lede的特点。如果仅仅是一个OpenWRT的fork,那没什么必要折腾lede啊。
感觉路由器软件,主要需要的就是两点:一是对各种虚拟化的良好支持;二是大量的黑科技package。

lede的package似乎是openwrt的真子集,没什么什么东西是lede有但openwrt没有的;
lede也没有对虚拟化的改进。
contributer多不算特色吧。

评论

LEDE的特点就是:
一大帮openwrt的开发者改投LEDE了
所以openwrt更新基本停滞了

评论

好吧。

编译lede下的ss无法通过,提示代码错误,然后同样的ss源代码在openwrt的trunk代码下编译通过。
基本确定,是昨天和今天的lede源代码有问题,导致某些东西编译不过去。

评论

编译通过了,用VMware Workstation初步测试了一下LEDE,目前核心4.4.24,wifi-AP正常,mwan正常(9个wan),SS正常,ipset+dnsmasq正常。
上几个截图,

01.PNG (92.87 KB, 下载次数: 0)

2016-10-14 09:14 上传



02.PNG (75.16 KB, 下载次数: 0)

2016-10-14 09:14 上传



03.PNG (162.42 KB, 下载次数: 0)

2016-10-14 09:14 上传



04.PNG (162.49 KB, 下载次数: 0)

2016-10-14 09:14 上传





评论

把所有kmod包编译成 模块ipk, 放进vhd的某个文件夹里,并配置好 opkg路径
那就可以实现安装所有官方包了
当官方包需要依赖某个kmod包时,就自动装本地的。

评论
我就问下那个vhd要扩容需要怎么操作

评论

直接编译所有kmod到vhd中行吗?(编译时选择*,而不是选择M)

评论

有很多种办法,比如:
编译时设置更大的容量;用qemu-img将vhd转回img,然后用qemu-img扩容。


评论
楼主的服务器可以造福坛友了

评论

你说的都很简单,但是对于没有编译环境的人来说很复杂啊....能放个1G容量的vhd嘛?谢啦

评论

也可以
但kmod加载过多也没啥好
还是按需加载比较妥当
貌似lede 官方现在就是分别编译的, 内核无关ipk 不重复编译,内核相关ipk单独编译

评论

简单的方法是:
先把楼主的vhd 运行起来, 然后虚拟机再挂一个任意大的vhd
然后在命令行下用 dd if=/dev/sda of=/dev/sdb  , 就可以把小的镜像克隆到大的vhd了,相当于ghost

话说openwrt要那么大的vhd空间干啥?   多挂载一个vhd,直接用也一样的吧
我就是 64M 的openwrt系统,再挂载一个1T 的 vhd用来下载迅雷

评论

1GB是为了安装ipk还是下载东西?
如果是为了安装,什么东西需要这么大空间?
如果是下载,可以参考25楼的办法。

评论

装ipk啊,装点常用工具几十MB肯定是有了,万一需要上传个什么东西升级什么的就一百来MB了,1G是比较稳妥的大小,基本不太可能会满
按25楼那个方法做出来的磁盘大小变成1G,分区大小应该还是原来的吧?OpenWRT能使用到多出来的空间吗?



评论
软路由玩了恨多年了,现在又转硬路由了,当然还是op。还是分离模式方便。

评论

2048MB版已经上传。

评论

thx
紫薯布丁
samba装上之后luci就爆炸了

2016-10-15_183155.png (16.47 KB, 下载次数: 0)

2016-10-15 18:32 上传





评论

里面只有gz文件,没有vhd文件嘛
是需要在转换?

评论

不是吧,都hyper-v了,没必要samba了。直接开windows共享就是最好用的samba了。

评论

tar.gz压缩包,解压缩就是vhd了。

评论

好的,谢谢。

评论

请问15日的vhd可以ss自动翻吗?是不是没有装openwrt-dist-luci

评论
收藏备用,谢谢T大!

评论

包含dist的vhd已经上传。

评论
谢谢t大。 用你的补丁 成功编译 lede在hyper-v 下运行。

评论

10/16的版本 services下面没有Shadowsocks, 但我看到你前面说有带shadowsocks 的luci啊?
另外 能否加上一个 PPTP server啊?

能否把这些ipk都放在VHD的某个目录下?这样需要的时候就可以用了。

评论

(1)vhd中的是ss官方的openwrt源代码编译的,不是openwrt的ss(openwrt的ss代码似乎有被干预了,让人不放心)。所以导致luci_ss编译了也没用,无法配合ss官方的代码使用。再说了,ss挺简单的,就是一个设置文件的嘛。
(2)具体哪个pptp包,有名字吗?

评论

ss的问题不大,最多手工修改一下配置文件了。

PPTP server版,是因为想在外面访问家里网络。我现在是Openwrt 路由器上用PPTP 服务器,iphone 或电脑访问家里网络都很方便。
最近宽带升级到200M,结果发现网件3800用Openwrt后 NAT性能不行,下载速度最多130~140MB/s。发现你这个Openwrt的VHD,本来Gen8也是24小时开机的,而且就在光猫附近,所以想试试看虚拟机中的Openwrt NAT是否性能更好?能否到达200MB/s。
所以x86 Openwrt 也有PPTP server版的话基本就可以替换原来那个网件3800了。

评论

似乎openwrt中的pptp server没有luci配置,确定需要这玩意儿?再说了,都hyper-v了,pptp server没必要弄在openwrt上啊,随便弄个cenos就可以,虚拟内存384MB就够用。

评论

T大能否帮忙编译一个exsi的镜像  只需要mwan  SS  ipset+dnsmasq  V*PN 客户端 不需要无线
宿主机 GEN8   直通一个网卡给OP连接光猫   exsi  6.0的

评论
找了好多资料 都不是太详细 没有学会自己编译

评论

OpenWRT支持最完美的就是ESXi,一键编译;官方提供vmdk镜像下载....
这就没必要自己编译了吧。
OpenWRT反复封杀Hyper-V支持,很多开发者提供的Hyper-V支持代码全部被无原因拒绝,所以,才提供编译Hyper-V的补丁。

评论

找了好久没有找到vmdk的下载 都是img的直接转换启动失败


评论

有没有教程的连接和下载地址 谢谢T大指导

评论

OpenWRT的官方Wiki值得阅读。

评论
技术小白拜谢LZ。

我一直想在一个nuc上集成wifi热点-路由-NAS-下载机。想法是nuc的有线网口接Internet(vlan1),无线网卡给虚拟机里面的软路由做wifi热点(vlan2)。下载机、NAS和宿主机都放在vlan2里。这样到了新环境nuc插电插网线之后,直接用平板加远程桌面就可以做包括宿主机管理和文件存取。但试了不少软路由,都没法把wifi撑起来。所以想向LZ取经。

nuc是第六代,无线网卡是intel 8260ac

评论

很简单,Hyper-V软路由,LAN连接硬件交换机,然后买个AP或者路由器设置为AP模式,插到交换机上就可以了,便宜、稳定、高性能,而且非常简单。

评论

有把AP集成到软路由上的可能性吗?

这个思路的目的是为了弄一个能带着到处走,又有全功能的盒子。再额外带一个AP的话,要多带一件设备不说,现有AP里没有体积像tplink的口袋路由那样,又能支持802.11ac的路由器吧?

评论

几乎所有的802.11ac都无法被openwrt支持,或者有问题。
所以,最简单的办法就是各个功能分别设置。

评论

了解了。感谢:)

评论
我是来mark的

评论

T大  OPENWRT 下有无 统计以IP为单位,要实时和历史流量的图形界面统计方法

评论
实在搞不定SS自动翻?
参照了教程https://cokebar.info/archives/962/comment-page-3/#comments
采用Shadowsocks + GfwList ,dns选用方案二
但是缺少iptables-mod-nat-extra文件,网上down的貌似显示内核不对,又要麻烦楼主了,能否编译个能用的iptables-mod-nat-extra文件;另外,想问问,SS自动+电信移动双线有好的方案不?移动专门用来翻

评论

应该没有把吧,至少没有简单的luci app可以实现基于ip的流量统计。

评论

建议看看我发的新版的lede的vhd,已经集成了dnsmasq full,ipset和ss,添加dns列表就可以直接用了。

评论
好复杂啊,这个vhd直接导入虚拟机就行了是吗
是的,不过建议用新编译的lede

评论
hyper-v.patch 放到哪里?

评论

放到任何位置都行,然后用git apply --verbose + patch.file应用即可。

评论

非常感谢!

评论

你好,现在最新的版本就是在这地址里面了对吧;我系统是2012R2能直接开机使用吧;

评论

应该可以的。
试试看有什么错误吗

评论
折腾了一个春节了,还是没有搞定。只能在厚着脸皮来请T大帮忙。
T大能否帮忙编译一个固件,主要是SS+阿里ddns(https://github.com/kyriosli/koolshare-aliddns)
祝t大元宵快乐。

评论
非常感谢

评论

个人建议,尽量别用阿里的东西。ddns可以有很多的选择。

评论
T大 您的最新版本那里下载

评论

最近没编译,争取这几天编译一个。

评论

能编一个带 mwan 多播 插件的吗?
OpenWRT有没有能以IP统 计为单位的流量插件啊?最好是代图形的
比如mei林里的 Traffic Analyzer

为啥 没林  是屏蔽词.....


评论

mwan3是标准的feeds之一,之前的版本已经包含这个了。
似乎标准的feeds中没有按照ip或mac统计流量的功能。

评论

T大,网盘里的7月份的那个lede都包含什么插件啊?是中文的吗?

评论

#5楼是vhd中包含的ipk列表。好像有中文主题。

评论

收到,谢谢~
电路 电子 维修 我现在把定影部分拆出来了。想换下滚,因为卡纸。但是我发现灯管挡住了。拆不了。不会拆。论坛里的高手拆解过吗? 评论 认真看,认真瞧。果然有收 电路 电子 维修 求创维42c08RD电路图 评论 电视的图纸很少见 评论 电视的图纸很少见 评论 创维的图纸你要说 版号,不然无能为力 评论 板号5800-p42ALM-0050 168P-P42CLM-01
 ·日本留学生活 求个大阪合租
·日本留学生活 自家房招租求
·日本留学生活 东京地区出9成新lv钱包
·日本育儿教育 孩子从国内过来如何学习日语
·日本育儿教育 明年四月横滨招月嫂
·日本育儿教育 请问咋让娃突破识字关?感谢分享中文共读和学习经验的妈妈
 ·中文新闻 东区明星迈克尔·格列柯,53 岁,将在第一次出生两年后第二次
·中文新闻 《爱情岛》明星卡米拉·瑟洛和杰米·朱维特在透露即将迎来第三

维修经验

CPUcpu-z 1.77版低调发布

日本维修技术更新: New benchmark “submit and compare” feature New clocks dialog reporting all system’s clock speeds in real-time Preliminary support for Intel Kaby Lake AMD Bristol Ridge processors 主要是增加了支持I、A两个新架构的 ...

维修经验

CPU这几天经常开机黑屏,热重启后又正常

日本维修技术这几天经常开机黑屏,热重启后又正常,今天热重启也不管用了。折腾半天总算点亮,显示超频失败,以前出这个画面我是不理它的,直接重启就能正常进系统了,今天不敢托大,因为 ...

维修经验

CPU超频求助!关于华擎H170和6700K

日本维修技术问题见楼主的show贴 https://www.chiphell.com/thread-1634895-1-1.html 这次华擎的H170 Hyper最大的特色应该是自带时钟发生器可以自由超外频 可是楼主好久没有折腾超频了。。。 两图中除了CPU外频 以 ...

维修经验

CPU液态金属会侵蚀cpu核心吗?

日本维修技术前阵子看到有人说,液态金属时间长了会侵蚀cpu铜盖,那么问题来了,这货会不会侵蚀核心呢? 评论 这玩意儿好像只对铝起反应 评论 不是说,cpu的盖子是铜的吗。。。 评论 不会,核 ...

维修经验

CPUm6i究竟支不支持e3 1231v3

日本维修技术官网上看支持列表没写有e3 1231v3,装机帖又有人晒,百度也没个明确答案,那究竟能不能点亮?有在用的chher说一下么 评论 升级最新bios肯定可以支持 评论 我的p67evo官网上也没说支持12 ...

维修经验

CPU华擎 HYPER 妖板 正确玩法

日本维修技术600元的 B150,10相供电,释放洪荒之力 注意必须官网 Beta 区的 BIOS 有 AVX 的 CPU 可能会掉缓存 启动时按 X 键激活 SKY OC,重启后进入 BIOS 160924164727.jpg (95.63 KB, 下载次数: 1) 2016-9-24 17:47 上传 ...

维修经验

CPUE5 2686 V3和i7 6800K如何选择

日本维修技术默认用,不超频,两者功耗是一模一样的 E5 2686 V3:2.0主频,3.5睿频, 18核心36线程 ,45M L3 咸鱼大约2500~3000元 i7 6800K : 3.5主频,3.8睿频 ,6核心12线程 ,盒装3000元 评论 性能应该是26 ...

维修经验

CPUHD530硬解4K能力还是有点弱呀!

日本维修技术播放器用PotPlay 64bit,各种优化后,跑4K @120Hz视频只能到70帧左右的速度,勉强能用! 显示器用的4K的优派VP2780 未标题-1.jpg (211.97 KB, 下载次数: 0) 2016-9-26 21:29 上传 评论 这个估计你没优化 ...

维修经验

CPU6900k 1.25V到4.2体质怎么样

日本维修技术如图,体质怎么样,ring是35,没敢试了,都说ring高了毁硬件 评论 不错的U,但不算雕,上4.4就大雕了,这电压上4.5的目前没见有人发图 评论 谢谢前辈告知 评论 我这个用1.2V超的4.2,R ...

维修经验

CPUI3 6100 华擎B150M pro4超4.5g测试。

日本维修技术看看论坛没多少i3 6100的帖子,就转下自己发的show贴里面的数据,给大家参考下。家里还有当年的神U i3 540 oc 4.5G在给老妈用。 不知道数据上正常吗?有6100的朋友可以告诉下,另外是不有 ...

维修经验

CPU7系u会兼容100系主板吗?

日本维修技术RT,听说要推200系板,100系还能用吗以后。。 评论 兼容的 评论 感谢!以后换u就行了,目前消息200系板会有新的特性吗? 评论 24条PCI-E 3.0通道、支持Intel Optane混合存储技术、十个USB 3 ...

维修经验

CPU有心入5820k了,求教下温度问题

日本维修技术一直徘徊在6700k和5820k之间,6700k现在这德行直接把我推向了5820k啊,从2600k升级上来,三大件都要换,现在唯一疑惑的是IB-E ex这种顶级风冷能不能压住4.5g的5820呢?毕竟刚刚买一个多月。 ...

维修经验

CPU6600&6600K才100的差价

日本维修技术太少了吧。。。 6600.JPG (106.91 KB, 下载次数: 0) 2016-10-1 10:30 上传 评论 毕竟只是i5而已…… 评论 上z170 6600也能超,等于没区别,差价能有100已经不错了 评论 然后又见不超频人士推荐超频 ...