致谢:
我参考的是原始作者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)
02.PNG (139.43 KB, 下载次数: 0)
03.PNG (32.19 KB, 下载次数: 0)
评论
完全看不懂..
绑定!!
有现成的文件吗?
评论
这里是编译的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)
05.PNG (215.48 KB, 下载次数: 0)
评论
列表中的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)
02.PNG (75.16 KB, 下载次数: 0)
03.PNG (162.42 KB, 下载次数: 0)
04.PNG (162.49 KB, 下载次数: 0)
评论
把所有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)
评论
里面只有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
·日本中文新闻 唐田绘里香为新剧《极恶女王》剃光头 展现演员决心
·日本中文新闻 真子小室夫妇新居引发隐私担忧
·日本中文新闻 前AKB48成员柏木由纪与搞笑艺人交往曝光
·日本学校 {日本国际学校}梅田インターナショナルスクール
·日本学校 LINE:sm287 陳雨菲、20歳、台湾からの留学生、東京に来たばかり
·日本留学生活 出售平成22年走行48000km 代步小车
·日本华人网络交流 円相場 一時1ドル=140円台まで上昇?
·日本华人网络交流 问日本华人一个问题
·日本旅游代购 富山接机
·生活百科 英国转澳大利亚转换插头
·汽车 【求助】修车遇到困难怎么办?